. /** * Newblock block caps. * * @package block_timetable * @copyright Daniel Neis * @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; 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'; // 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"; } if ($this->page->course->idnumber && $this->page->course->shortname) { $class = $this->page->course->shortname; $class = 'TG11/3'; $this->content->text .= "Stundenplan der Klasse $class
"; } //elseif ($USER-> //$context_id = get_context_instance_by_id($course->id); //echo "Contextid = $contextid->contextlevel\n"; $date = new DateTime(); $monday = new DateTime(); $friday = new DateTime(); $week = $date->format("W"); $dayofweek = $date->format('w')-1; $monday->sub(new DateInterval("P{$dayofweek}D")); $friday->add(new DateInterval("P".(4-$dayofweek)."D")); $this->content->text .= $monday->format('d.m') . " - " . $friday->format('d.m'); $ttable = new timetable('class','TG11/3'); $ttable->read_db($week); $this->content->text .= html_writer::start_tag('div', ['data-region' => 'calendar', 'class' => 'maincalendar']); $this->content->text .= $ttable->print_table('subject'); $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' => false, '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; } }