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 | |
388f8911 |
25 | require_login($id); |
26 | |
600149be |
27 | add_to_log($course->id, "course", "view", "view.php?id=$course->id", "$course->id"); |
f9903ed0 |
28 | |
9c9f7d77 |
29 | if (isset($edit)) { |
30 | if (isteacher($course->id)) { |
31 | if ($edit == "on") { |
32 | $USER->editing = true; |
33 | } else if ($edit == "off") { |
34 | $USER->editing = false; |
35 | } |
f9903ed0 |
36 | } |
37 | } |
9c9f7d77 |
38 | |
39 | if (isset($help)) { |
40 | if ($help == "on") { |
41 | $USER->help = true; |
42 | } else if ($help == "off") { |
43 | $USER->help = false; |
44 | } |
f9903ed0 |
45 | } |
8223d271 |
46 | |
7d99d695 |
47 | if (isset($hide)) { |
48 | set_section_visible($course->id, $hide, "0"); |
49 | } |
50 | |
51 | if (isset($show)) { |
52 | set_section_visible($course->id, $show, "1"); |
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 | |
7d99d695 |
91 | |
f9903ed0 |
92 | switch ($course->format) { |
b5fe4c93 |
93 | case "weeks": |
f9903ed0 |
94 | include("weeks.php"); |
95 | break; |
b5fe4c93 |
96 | case "social": |
4567fb71 |
97 | include("social.php"); |
98 | break; |
b5fe4c93 |
99 | case "topics": |
0b35af18 |
100 | include("topics.php"); |
101 | break; |
4567fb71 |
102 | default: |
103 | error("Course format not defined yet!"); |
f9903ed0 |
104 | } |
105 | |
2c26c985 |
106 | print_footer(); |
f9903ed0 |
107 | |
f9903ed0 |
108 | ?> |