f9903ed0 |
1 | <?PHP // $Id$ |
2 | |
3 | // Display the course home page. |
4 | |
b0e3a925 |
5 | require_once("../config.php"); |
6 | require_once("lib.php"); |
f9903ed0 |
7 | |
388f8911 |
8 | optional_variable($id); |
9 | optional_variable($name); |
f9903ed0 |
10 | |
388f8911 |
11 | if (!$id and !$name) { |
12 | error("Must specify course id or short name"); |
13 | } |
f9903ed0 |
14 | |
388f8911 |
15 | if ($name) { |
16 | if (! $course = get_record("course", "shortname", $name) ) { |
17 | error("That's an invalid short course name"); |
18 | } |
19 | } else { |
20 | if (! $course = get_record("course", "id", $id) ) { |
21 | error("That's an invalid course id"); |
22 | } |
f9903ed0 |
23 | } |
24 | |
783da262 |
25 | require_login($course->id); |
388f8911 |
26 | |
600149be |
27 | add_to_log($course->id, "course", "view", "view.php?id=$course->id", "$course->id"); |
f9903ed0 |
28 | |
73047f2f |
29 | if (isteacheredit($course->id)) { |
73fafc38 |
30 | if (isset($edit)) { |
9c9f7d77 |
31 | if ($edit == "on") { |
32 | $USER->editing = true; |
33 | } else if ($edit == "off") { |
34 | $USER->editing = false; |
35 | } |
f9903ed0 |
36 | } |
8223d271 |
37 | |
73fafc38 |
38 | if (isset($hide)) { |
39 | set_section_visible($course->id, $hide, "0"); |
40 | } |
7d99d695 |
41 | |
73fafc38 |
42 | if (isset($show)) { |
43 | set_section_visible($course->id, $show, "1"); |
44 | } |
12905134 |
45 | |
46 | if (!empty($section)) { |
47 | if (!empty($move)) { |
48 | move_section($course, $section, $move); |
49 | } |
50 | } |
48d72fa7 |
51 | } else { |
52 | $USER->editing = false; |
7d99d695 |
53 | } |
54 | |
4c701e6f |
55 | $SESSION->fromdiscussion = "$CFG->wwwroot/course/view.php?id=$course->id"; |
4c701e6f |
56 | |
b8391635 |
57 | if (! $course->category) { // This course is not a real course. |
58 | redirect("$CFG->wwwroot/"); |
59 | } |
60 | |
dc0dc7d5 |
61 | if (empty($THEME->custompix)) { |
62 | $pixpath = "../pix"; |
63 | $modpixpath = "../mod"; |
64 | } else { |
65 | $pixpath = "../theme/$CFG->theme/pix"; |
66 | $modpixpath = "../theme/$CFG->theme/pix/mod"; |
67 | } |
b8391635 |
68 | |
fa0626c6 |
69 | $courseword = get_string("course"); |
70 | |
b328523c |
71 | $loggedinas = "<p class=\"logininfo\">".user_login_string($course, $USER)."</p>"; |
a282d0ff |
72 | |
fa0626c6 |
73 | print_header("$courseword: $course->fullname", "$course->fullname", "$course->shortname", "search.search", "", true, |
a282d0ff |
74 | update_course_icon($course->id), $loggedinas); |
f9903ed0 |
75 | |
9c9f7d77 |
76 | get_all_mods($course->id, $mods, $modnames, $modnamesplural, $modnamesused); |
19801b2b |
77 | |
dfec7b01 |
78 | if (! $sections = get_all_sections($course->id)) { // No sections found |
79 | // Double-check to be extra sure |
80 | if (! $section = get_record("course_sections", "course", $course->id, "section", 0)) { |
81 | $section->course = $course->id; // Create a default section. |
82 | $section->section = 0; |
83 | $section->visible = 1; |
84 | $section->id = insert_record("course_sections", $section); |
85 | } |
86 | if (! $sections = get_all_sections($course->id) ) { // Try again |
19801b2b |
87 | error("Error finding or creating section structures for this course"); |
88 | } |
89 | } |
7468bf01 |
90 | |
51955364 |
91 | if (empty($course->modinfo)) { // Course cache was never made |
92 | rebuild_course_cache($course->id); |
93 | } |
94 | |
d0e922a9 |
95 | if (!file_exists("$CFG->dirroot/course/format/$course->format.php")) { // Default format is weeks |
7142bc1b |
96 | $course->format = "weeks"; |
97 | } |
98 | |
d0e922a9 |
99 | require("$CFG->dirroot/course/format/$course->format.php"); // Include the actual course format |
f9903ed0 |
100 | |
2c26c985 |
101 | print_footer(); |
f9903ed0 |
102 | |
f9903ed0 |
103 | ?> |