MDL-28935 Add days of week to monthly calendar view
authorJason Ilicic <jason.ilicic@netspot.com.au>
Mon, 15 Aug 2011 03:04:24 +0000 (12:34 +0930)
committerPetr Skoda <commits@skodak.org>
Sat, 20 Aug 2011 11:38:19 +0000 (13:38 +0200)
calendar/renderer.php

index 50a3090..101b0a9 100644 (file)
@@ -433,6 +433,31 @@ class core_calendar_renderer extends plugin_renderer_base {
         $dayweek = $startwday;
 
         $row = new html_table_row(array());
+
+        // Create an array of all the week days.
+        $wdays = array(0 => '<strong>'. get_string('sunday', 'calendar'). '</strong>',
+                       1 => '<strong>'. get_string('monday', 'calendar'). '</strong>',
+                       2 => '<strong>'. get_string('tuesday', 'calendar'). '</strong>',
+                       3 => '<strong>'. get_string('wednesday', 'calendar'). '</strong>',
+                       4 => '<strong>'. get_string('thursday', 'calendar'). '</strong>',
+                       5 => '<strong>'. get_string('friday', 'calendar'). '</strong>',
+                       6 => '<strong>'. get_string('saturday', 'calendar'). '</strong>');
+
+        // Loop only if the day offset is greater than 0.
+        // This loop involves shifting the days around until the desired start day
+        // is at the start of the array.
+        $daycount = 0;
+        while ($display->minwday > $daycount++) {
+            $wdays_end = array_shift($wdays);
+            array_push($wdays, $wdays_end);
+        }
+
+        // Now we set the (modified) array to the table cells to be displayed.
+        $row->cells = $wdays;
+        $table->data[] = $row;
+
+        $row = new html_table_row(array());
+
         // Paddding (the first week may have blank days in the beginning)
         for($i = $display->minwday; $i < $startwday; ++$i) {
             $cell = new html_table_cell('&nbsp;');