mirror of
https://github.com/moodle/moodle.git
synced 2025-01-23 16:48:36 +01:00
73047f2f76
that is much better than the proposal to change the role of course creators. There is a new field in user_teachers called "editall", which is ON BY DEFAULT, and allows teachers to edit courses. It can be modified on the teacher editing screen (formerly assign teachers). The value is cached in the session. To test for it, there is a new function isteacheredit($course->id) which works much like isteacher did. I'm going through now and applying this new function wherever it is needed.
104 lines
3.1 KiB
PHP
104 lines
3.1 KiB
PHP
<?PHP // $Id$
|
|
|
|
// Display the course home page.
|
|
|
|
require_once("../config.php");
|
|
require_once("lib.php");
|
|
|
|
optional_variable($id);
|
|
optional_variable($name);
|
|
|
|
if (!$id and !$name) {
|
|
error("Must specify course id or short name");
|
|
}
|
|
|
|
if ($name) {
|
|
if (! $course = get_record("course", "shortname", $name) ) {
|
|
error("That's an invalid short course name");
|
|
}
|
|
} else {
|
|
if (! $course = get_record("course", "id", $id) ) {
|
|
error("That's an invalid course id");
|
|
}
|
|
}
|
|
|
|
require_login($course->id);
|
|
|
|
add_to_log($course->id, "course", "view", "view.php?id=$course->id", "$course->id");
|
|
|
|
if (isteacheredit($course->id)) {
|
|
if (isset($edit)) {
|
|
if ($edit == "on") {
|
|
$USER->editing = true;
|
|
} else if ($edit == "off") {
|
|
$USER->editing = false;
|
|
}
|
|
}
|
|
|
|
if (isset($hide)) {
|
|
set_section_visible($course->id, $hide, "0");
|
|
}
|
|
|
|
if (isset($show)) {
|
|
set_section_visible($course->id, $show, "1");
|
|
}
|
|
|
|
if (!empty($section)) {
|
|
if (!empty($move)) {
|
|
move_section($course, $section, $move);
|
|
}
|
|
}
|
|
} else {
|
|
$USER->editing = false;
|
|
}
|
|
|
|
$SESSION->fromdiscussion = "$CFG->wwwroot/course/view.php?id=$course->id";
|
|
|
|
if (! $course->category) { // This course is not a real course.
|
|
redirect("$CFG->wwwroot/");
|
|
}
|
|
|
|
if (empty($THEME->custompix)) {
|
|
$pixpath = "../pix";
|
|
$modpixpath = "../mod";
|
|
} else {
|
|
$pixpath = "../theme/$CFG->theme/pix";
|
|
$modpixpath = "../theme/$CFG->theme/pix/mod";
|
|
}
|
|
|
|
$courseword = get_string("course");
|
|
|
|
$loggedinas = "<p class=\"logininfo\">".user_login_string($course, $USER)."</p>";
|
|
|
|
print_header("$courseword: $course->fullname", "$course->fullname", "$course->shortname", "search.search", "", true,
|
|
update_course_icon($course->id), $loggedinas);
|
|
|
|
get_all_mods($course->id, $mods, $modnames, $modnamesplural, $modnamesused);
|
|
|
|
if (! $sections = get_all_sections($course->id)) { // No sections found
|
|
// Double-check to be extra sure
|
|
if (! $section = get_record("course_sections", "course", $course->id, "section", 0)) {
|
|
$section->course = $course->id; // Create a default section.
|
|
$section->section = 0;
|
|
$section->visible = 1;
|
|
$section->id = insert_record("course_sections", $section);
|
|
}
|
|
if (! $sections = get_all_sections($course->id) ) { // Try again
|
|
error("Error finding or creating section structures for this course");
|
|
}
|
|
}
|
|
|
|
if (empty($course->modinfo)) { // Course cache was never made
|
|
rebuild_course_cache($course->id);
|
|
}
|
|
|
|
if (!file_exists("$CFG->dirroot/course/format/$course->format.php")) { // Default format is weeks
|
|
$course->format = "weeks";
|
|
}
|
|
|
|
require("$CFG->dirroot/course/format/$course->format.php"); // Include the actual course format
|
|
|
|
print_footer();
|
|
|
|
?>
|