libdir.'/blocklib.php'); $id = optional_param('id', 0, PARAM_INT); $name = optional_param('name'); $blockaction = optional_param('blockaction'); if (empty($id) && empty($name)) { error("Must specify course id or short name"); } if (!empty($name)) { if (! ($course = get_record('course', 'shortname', $name)) ) { error('Invalid short course name'); } } else { if (! ($course = get_record('course', 'id', $id)) ) { error('Invalid course id'); } } require_login($course->id); require_once($CFG->dirroot.'/calendar/lib.php'); /// This is after login because it needs $USER add_to_log($course->id, "course", "view", "view.php?id=$course->id", "$course->id"); $course->format = clean_param($course->format, PARAM_ALPHA); if (!file_exists($CFG->dirroot.'/course/format/'.$course->format.'/format.php')) { $course->format = 'weeks'; // Default format is weeks } $PAGE = page_create_object(PAGE_COURSE_VIEW, $course->id); $pageblocks = blocks_get_by_page($PAGE); if (!isset($USER->editing)) { $USER->editing = false; } $editing = false; if (isteacheredit($course->id)) { if (isset($edit)) { if ($edit == "on") { $USER->editing = true; } else if ($edit == "off") { $USER->editing = false; } } $editing = $USER->editing; if (isset($hide) && confirm_sesskey()) { set_section_visible($course->id, $hide, '0'); } if (isset($show) && confirm_sesskey()) { set_section_visible($course->id, $show, '1'); } if (!empty($blockaction)) { blocks_execute_url_action($PAGE, $pageblocks); // This re-query could be eliminated by judicious programming in blocks_execute_action(), // but I 'm not sure if it's worth the complexity increase... $pageblocks = blocks_get_by_page($PAGE); } $missingblocks = blocks_get_missing($PAGE, $pageblocks); if (!empty($section)) { if (!empty($move) and confirm_sesskey()) { if (!move_section($course, $section, $move)) { notify("An error occurred while moving a section"); } } } } else { $USER->editing = false; } $SESSION->fromdiscussion = "$CFG->wwwroot/course/view.php?id=$course->id"; if ($course->id == SITEID) { // This course is not a real course. redirect("$CFG->wwwroot/"); } $PAGE->print_header(get_string('course').': %fullname%'); echo '