New logging format
[moodle.git] / course / weeks.php
1 <?PHP // $Id$
2       // Display the whole course as "weeks" made of of modules
3       // Included from "view.php"
5     include("../mod/discuss/lib.php");
7     if (! $rawweeks = get_records("course_weeks", "course", $course->id) ) {
8         $week->course = $course->id;   // Create a default week.
9         $week->week = 0;
10         $week->id = insert_record("course_weeks", $week);
11         if (! $rawweeks = get_records("course_weeks", "course", $course->id) ) {
12             error("Error finding or creating week structures for this course");
13         }
14     }
15     
16     foreach($rawweeks as $cw) {  //Index the weeks
17         $weeks[$cw->week] = $cw;
18     }
20     if (isset($week)) {
21         if ($week == "all") {
22             unset($USER->week);
23         } else {
24             $USER->week = $week;
25         }
26     }
30     // Layout the whole page as three big columns.
31     echo "<TABLE BORDER=0 CELLPADDING=3 CELLSPACING=0 WIDTH=100%>";
32     echo "<TR VALIGN=top><TD VALIGN=top WIDTH=180>";
33     
34     // Layout the left column
36     // Print all the course links on the side
38     // Then all the links to module types
40     $moddata = array();
41     $modicon = array();
43     if ($modtype) {
44         foreach ($modtype as $modname => $modfullname) {
45             $moddata[] = "<A HREF=\"../mod/$modname/index.php?id=$course->id\">".$modfullname."s</A>";
46             $modicon[] = "<IMG SRC=\"../mod/$modname/icon.gif\" HEIGHT=16 WIDTH=16 ALT=\"$modfullname\">";
47         }
48     }
50     $moddata[]="<A HREF=\"../user/index.php?id=$course->id\">Participants</A>";
51     $modicon[]="<IMG SRC=\"../user/users.gif\" HEIGHT=16 WIDTH=16 ALT=\"Participants\">";
52     $moddata[]="<A HREF=\"../user/view.php?id=$USER->id&course=$course->id\">Edit my info</A>";
53     $modicon[]="<IMG SRC=\"../user/user.gif\" HEIGHT=16 WIDTH=16 ALT=\"Me\">";
55     print_simple_box("Activities", $align="CENTER", $width="100%", $color="$THEME->cellheading");
56     print_side_block("", $moddata, "", $modicon);
58     // Admin links and controls
60     if (isteacher($course->id)) {
61         $adminicon[]="<IMG SRC=\"../pix/i/edit.gif\" HEIGHT=16 WIDTH=16 ALT=\"Edit\">";
62         if ($USER->editing) {
63             $admindata[]="<A HREF=\"view.php?id=$course->id&edit=off\">Turn editing off</A>";
64         } else {
65             $admindata[]="<A HREF=\"view.php?id=$course->id&edit=on\">Turn editing on</A>";
66         }
68         $admindata[]="<A HREF=\"edit.php?id=$course->id\">Course settings...</A>";
69         $adminicon[]="<IMG SRC=\"../pix/i/settings.gif\" HEIGHT=16 WIDTH=16 ALT=\"Course\">";
70         $admindata[]="<A HREF=\"log.php?id=$course->id\">Logs...</A>";
71         $adminicon[]="<IMG SRC=\"../pix/i/log.gif\" HEIGHT=16 WIDTH=16 ALT=\"Log\">";
72         $admindata[]="<A HREF=\"../files/index.php?id=$course->id\">Files...</A>";
73         $adminicon[]="<IMG SRC=\"../files/pix/files.gif\" HEIGHT=16 WIDTH=16 ALT=\"Files\">";
75         print_simple_box("Administration", $align="CENTER", $width="100%", $color="$THEME->cellheading");
76         print_side_block("", $admindata, "", $adminicon);
77     }
80     // Start main column
81     echo "</TD><TD WIDTH=\"*\">";
83     print_simple_box("Weekly Outline", $align="CENTER", $width="100%", $color="$THEME->cellheading");
84     echo "<IMG SRC=\"../pix/spacer.gif\" HEIGHT=6 WIDTH=1><BR>";
85     
86     // Now all the weekly modules
87     $timenow = time();
88     $weekdate = $course->startdate;    // this should be 0:00 Monday of that week
89     $week = 1;
90     $weekofseconds = 604800;
92     echo "<TABLE BORDER=0 CELLPADDING=8 CELLSPACING=0 WIDTH=100%>";
93     while ($weekdate < $course->enddate) {
95         $nextweekdate = $weekdate + ($weekofseconds);
97         if (isset($USER->week)) {         // Just display a single week
98             if ($USER->week != $week) { 
99                 $week++;
100                 $weekdate = $nextweekdate;
101                 continue;
102             }
103         }
105         $thisweek = (($weekdate <= $timenow) && ($timenow < $nextweekdate));
107         $weekday = date("j F", $weekdate);
108         $endweekday = date("j F", $weekdate+(6*24*3600));
110         if ($thisweek) {
111             $highlightcolor = $THEME->cellheading2;
112         } else {
113             $highlightcolor = $THEME->cellheading;
114         }
116         echo "<TR>";
117         echo "<TD NOWRAP BGCOLOR=\"$highlightcolor\" VALIGN=top>";
118         echo "<P ALIGN=CENTER><FONT SIZE=3><B>$week</B></FONT></P>";
119         echo "</TD>";
121         echo "<TD VALIGN=top BGCOLOR=\"$THEME->cellcontent\">";
122         echo "<P><FONT SIZE=3 COLOR=\"$THEME->cellheading2\">$weekday - $endweekday</FONT></P>";
124         if (! $thisweek = $weeks[$week]) {
125             $thisweek->course = $course->id;   // Create a new week structure
126             $thisweek->week = $week;
127             $thisweek->summary = "";
128             $thisweek->id = insert_record("course_weeks", $thisweek);
129         }
131         if ($USER->editing) {
132             $thisweek->summary .= "&nbsp;<A HREF=editweek.php?id=$thisweek->id><IMG SRC=\"../pix/t/edit.gif\" BORDER=0 ALT=\"Edit summary\"></A></P>";
133         }
135         echo text_to_html($thisweek->summary);
137         echo "<P>";
138         if ($thisweek->sequence) {
140             $thisweekmods = explode(",", $thisweek->sequence);
142             foreach ($thisweekmods as $modnumber) {
143                 $mod = $mods[$modnumber];
144                 $instancename = get_field("$mod->modname", "name", "id", "$mod->instance");
145                 echo "<IMG SRC=\"../mod/$mod->modname/icon.gif\" HEIGHT=16 WIDTH=16 ALT=\"$mod->modfullname\"> <A HREF=\"../mod/$mod->modname/view.php?id=$mod->id\">$instancename</A>";
146                 if ($USER->editing) {
147                     echo make_editing_buttons($mod->id);
148                 }
149                 echo "<BR>\n";
150             }
151         }
152         echo "</UL></P>\n";
154         if ($USER->editing) {
155             echo "<DIV ALIGN=right>";
156             popup_form("$CFG->wwwroot/course/mod.php?id=$course->id&week=$week&add=", 
157                         $modtypes, "week$week", "", "Add...");
158             echo "</DIV>";
159         }
161         echo "</TD>";
162         echo "<TD NOWRAP BGCOLOR=\"$highlightcolor\" VALIGN=top ALIGN=CENTER>";
163         echo "<FONT SIZE=1>";
164         if (isset($USER->week)) {
165             echo "<A HREF=\"view.php?id=$course->id&week=all\" TITLE=\"Show all weeks\"><IMG SRC=../pix/i/allweeks.gif BORDER=0></A></FONT>";
166         } else {
167             echo "<A HREF=\"view.php?id=$course->id&week=$week\" TITLE=\"Show only week $week\"><IMG SRC=../pix/i/oneweek.gif BORDER=0></A></FONT>";
168         }
169         echo "</TD>";
170         echo "</TR>";
171         echo "<TR><TD COLSPAN=3><IMG SRC=\"../pix/spacer.gif\" WIDTH=1 HEIGHT=1></TD></TR>";
173         $week++;
174         $weekdate = $nextweekdate;
175     }
176     echo "</TABLE>";
177     
179     echo "</TD><TD WIDTH=180>";
181     // Print all the news items.
183     if ($news = get_course_news_forum($course->id)) {
184         print_simple_box("Latest News", $align="CENTER", $width="100%", $color="$THEME->cellheading");
185         print_simple_box_start("CENTER", "100%", "#FFFFFF", 3, 0);
186         echo "<FONT SIZE=1>";
187         forum_latest_topics($news->id, 5, "minimal", "DESC", false);
188         echo "</FONT>";
189         print_simple_box_end();
190     }
191     echo "<BR>";
192     
193     // Print all the recent activity
194     print_simple_box("Recent Activity", $align="CENTER", $width="100%", $color="$THEME->cellheading");
195     print_simple_box_start("CENTER", "100%", "#FFFFFF", 3, 0);
196     print_recent_activity($course);
197     print_simple_box_end();
199     echo "</TD></TR></TABLE>\n";
201 ?>