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 | |
73fafc38 |
29 | if (isteacher($course->id)) { |
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 | } |
7d99d695 |
45 | } |
46 | |
4c701e6f |
47 | $SESSION->fromdiscussion = "$CFG->wwwroot/course/view.php?id=$course->id"; |
4c701e6f |
48 | |
b8391635 |
49 | if (! $course->category) { // This course is not a real course. |
50 | redirect("$CFG->wwwroot/"); |
51 | } |
52 | |
dc0dc7d5 |
53 | if (empty($THEME->custompix)) { |
54 | $pixpath = "../pix"; |
55 | $modpixpath = "../mod"; |
56 | } else { |
57 | $pixpath = "../theme/$CFG->theme/pix"; |
58 | $modpixpath = "../theme/$CFG->theme/pix/mod"; |
59 | } |
b8391635 |
60 | |
fa0626c6 |
61 | $courseword = get_string("course"); |
62 | |
b328523c |
63 | $loggedinas = "<p class=\"logininfo\">".user_login_string($course, $USER)."</p>"; |
a282d0ff |
64 | |
fa0626c6 |
65 | print_header("$courseword: $course->fullname", "$course->fullname", "$course->shortname", "search.search", "", true, |
a282d0ff |
66 | update_course_icon($course->id), $loggedinas); |
f9903ed0 |
67 | |
9c9f7d77 |
68 | get_all_mods($course->id, $mods, $modnames, $modnamesplural, $modnamesused); |
19801b2b |
69 | |
dfec7b01 |
70 | if (! $sections = get_all_sections($course->id)) { // No sections found |
71 | // Double-check to be extra sure |
72 | if (! $section = get_record("course_sections", "course", $course->id, "section", 0)) { |
73 | $section->course = $course->id; // Create a default section. |
74 | $section->section = 0; |
75 | $section->visible = 1; |
76 | $section->id = insert_record("course_sections", $section); |
77 | } |
78 | if (! $sections = get_all_sections($course->id) ) { // Try again |
19801b2b |
79 | error("Error finding or creating section structures for this course"); |
80 | } |
81 | } |
7468bf01 |
82 | |
7d99d695 |
83 | |
f9903ed0 |
84 | switch ($course->format) { |
b5fe4c93 |
85 | case "weeks": |
f9903ed0 |
86 | include("weeks.php"); |
87 | break; |
b5fe4c93 |
88 | case "social": |
4567fb71 |
89 | include("social.php"); |
90 | break; |
b5fe4c93 |
91 | case "topics": |
0b35af18 |
92 | include("topics.php"); |
93 | break; |
4567fb71 |
94 | default: |
95 | error("Course format not defined yet!"); |
f9903ed0 |
96 | } |
97 | |
2c26c985 |
98 | print_footer(); |
f9903ed0 |
99 | |
f9903ed0 |
100 | ?> |