. /** * 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 = 'Faecher
Lehrer
Raeume'; // 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"; /* // Verbindung zu localhost auf port 3307 $mysqli = new mysqli('mistral:3307', 'timetable_user1', 'd7jzRYpfGS3OkIpHCBEE','timetable'); if ($mysqli->connect_errno) { $this->content->text .= 'Verbindung schlug fehl: ' . $mysqli->connect_errno; } */ $period_max = get_config('timetable', 'numperiod'); $table = new html_table(); $table->cellspacing = 0; $table->cellpadding = 0; $table->attributes['cellpadding'] = '0'; $table->attributes['class'] = 'minicalendar calendartable'; // $table->align = array('right','center','center','center','center','center'); // $table->size = array('50', '50'); $table->head = array('','Mo','Di', 'Mi' , 'Do', 'Fr'); for ($i = 1; $i <= $period_max; $i++) { $tablerow = new \html_table_row(); $tablerow->cells[] = new html_table_cell($i); for ($k = 1; $k <= 5; $k++) { //$cell = new html_table_cell("$i+$k"); $cell = new html_table_cell(""); $cell->abbr = ""; // $cell->attributes['class'] = 'day text-center'; $tablerow->cells[] = $cell; //$tablerow->cells[] = ''+"$i+$k"; //$tablerow->cells[] = new html_table_cell("$i+$k"); } $table->data[] = $tablerow; } //$sql = "Select * from lesson where teacher = 'Hbr' and not (mid(week, 36, 1) = '0')"; $sql = "teacher = 'Hbr' and not (mid(week, 26, 1) = '0')"; if ($class) { //$sql = "Select * from lesson where class = '$class' and not (mid(week, 37, 1) = '0')"; $sql = "class = '$class' and not (mid(week, 26, 1) = '0')"; } global $DB; if ($result = $DB->get_records_select('timetable_lesson',$sql)) { foreach ($result as $lesson) { if ($lesson->period < $period_max) { if ($table->data[$lesson->period-1]->cells[$lesson->day]->text) $table->data[$lesson->period-1]->cells[$lesson->day]->text .= "
"; $table->data[$lesson->period-1]->cells[$lesson->day]->text .= $lesson->subject; } } } else { echo "get_records_select failed\n"; } for ($i = 0; $i < $period_max; $i++) { for ($k = 1; $k <= 5; $k++) { if (!$table->data[$i]->cells[$k]->text) $table->data[$i]->cells[$k]->text = "-"; } } /* if (!$result = $mysqli->query($sql)) { // Oh no! The query failed. $this->content->text .= "Sorry, the website is experiencing problems."; } while ($lesson = $result->fetch_assoc()) { // if ($lesson['period']<5 && $lesson['day']<5); //$table->data[$lesson['period']-1]->cells[$lesson['day']]->text = $lesson['subject']; //$table->data[$lesson['period']-1]->cells[$lesson['day']]->text = $lesson['room']; $table->data[$lesson['period']-1]->cells[$lesson['day']]->text = $lesson['class']; } */ //$table->data = array($row1, $row2); $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::table($table); $this->content->text .= html_writer::end_tag('div'); //$this->content->text .= file_get_contents("/var/www/plaene/25/c/mc00005.htm"); //$mysqli->close(); 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; } }