. /** * timetable block caps. * * @package block_timetable * @copyright Raphael Dannecker * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ defined('MOODLE_INTERNAL') || die(); use block_timetable\timetable; class block_timetable extends block_base { function init() { $this->title = get_string('pluginname', 'block_timetable'); } function get_content() { global $CFG, $OUTPUT, $USER, $PAGE; if ($this->content !== null) { return $this->content; } if (empty($this->instance)) { $this->content = ''; return $this->content; } $this->content = new stdClass(); $this->content->items = array(); $this->content->icons = array(); $this->content->footer = '
Fächer - Lehrer - Räume
'; $this->content->text = ""; /* // user/index.php expect course context, so get one if page has module context. $currentcontext = $this->page->context->get_course_context(false); if (! empty($this->config->text)) { $this->content->text = $this->config->text; } $this->content->text = ''; if (empty($currentcontext)) { return $this->content; } if ($this->page->course->id == SITEID) { $this->content->text .= "site context"; } */ // echo var_dump($USER); $view1 = 'subject'; $view2 = 'teacher'; if ($this->page->course->idnumber && $this->page->course->shortname) { $class = $this->page->course->shortname; $this->content->text .= "Stundenplan der Klasse $class
"; $ttable = new timetable('class',$class); } elseif ($USER->department == "Lehrer") { $teacher = $USER->username; $teacher = str_replace("l_", "", $teacher); $teacher = str_replace("-fvs", "", $teacher); $this->content->text .= "Stundenplan von ".(substr($USER->firstname,0,1)).". {$USER->lastname}
"; $ttable = new timetable('teacher',$teacher); $view1 = 'class'; $view2 = 'subject'; $this->content->footer = '
Klassen - Fächer - Räume
'; } elseif ($USER->department) { $class = $USER->department; $class = str_replace("_", "/", $class); $this->content->text .= "Stundenplan der Klasse $class
"; $ttable = new timetable('class',$class); } else { return $this->content; } //$context_id = get_context_instance_by_id($course->id); //echo "Contextid = $contextid->contextlevel\n"; /* $numdayweek = 5 + get_config('timetable', 'saturday'); $date = new DateTime(); $monday = new DateTime(); $dayofweek = $date->format('w'); if ($dayofweek >= $numdayweek) { $monday->add(new DateInterval("P".(8-$dayofweek)."D")); } elseif ($dayofweek < 1) { $monday->add(new DateInterval("P1D")); } else { $monday->sub(new DateInterval("P{$dayofweek}D")); } $week = $monday->format("W"); $week++; $lastday = new DateTime($monday->format('Y-m-d\TH:i:sP')); $lastday->add(new DateInterval("P".($numdayweek-1)."D")); $this->content->text .= $monday->format('d.m') . " - " . $lastday->format('d.m'); //$ttable = new timetable('class',$class); $ttable->read_db($week); */ //$this->content->text .= $ttable->monday->format('d.m') . " - " . $ttable->lastday->format('d.m'); $jsmodule = array( 'name' => 'block_timetable', 'fullpath' => '/blocks/timetable/module.js', 'requires' => array() ); $opts =Array(); $opts['someinstancesetting'] = 1; $PAGE->requires->js_init_call('M.block_timetable.helper.init', array($opts),false,$jsmodule); $this->content->text .= html_writer::start_tag('div', ['data-region' => 'calendar', 'class' => 'maincalendar']); $this->content->text .= html_writer::start_tag('div', ['class' =>'slider']); $this->content->text .= html_writer::start_tag('div', ['class' =>'slides']); for ($i=0; $i<3; $i++) { $ttable->read_db($i); // $this->content->text .= $ttable->print_navigation($i); //$this->content->text .= html_writer::start_tag('div', ['class' =>'slide', 'id'=>"slide-$i", 'data-region' => 'calendar']); $this->content->text .= html_writer::start_tag('div', ['class' => 'slide', 'id'=>"slide-$i"]); //$this->content->text .= $ttable->print_table($view1); $this->content->text .= $ttable->print_table($view1,$i); $this->content->text .= $ttable->print_table($view2,$i); $this->content->text .= $ttable->print_table('room',$i); $this->content->text .= html_writer::end_tag('div'); } $this->content->text .= html_writer::end_tag('div'); $this->content->text .= html_writer::end_tag('div'); $this->content->text .= html_writer::end_tag('div'); /* $this->content->text .= html_writer::start_tag('div', ['data-region' => 'calendar', 'style' => 'display: none;']); $this->content->text .= $ttable->print_table($view1); $this->content->text .= html_writer::end_tag('div'); $this->content->text .= html_writer::start_tag('div', ['data-region' => 'calendar', 'style' => 'display: none;']); $this->content->text .= $ttable->print_table($view2); $this->content->text .= html_writer::end_tag('div'); $this->content->text .= html_writer::start_tag('div', ['data-region' => 'calendar', 'style' => 'displaay: none;']); $this->content->text .= $ttable->print_table('room'); $this->content->text .= html_writer::end_tag('div'); $this->content->text .= html_writer::end_tag('div'); */ return $this->content; } // my moodle can only have SITEID and it's redundant here, so take it away public function applicable_formats() { return array('all' => true, 'site' => true, 'site-index' => true, 'course-view' => true, 'course-view-social' => false, 'mod' => true, 'mod-quiz' => false); } public function instance_allow_multiple() { return true; } function has_config() {return true;} public function cron() { mtrace( "Hey, my cron script is running" ); // do something return true; } }