]> git.mjollnir.org Git - moodle.git/commitdiff
Fix for 3-month pane event filters, now you don't get a "missing required parameter"
authordefacer <defacer>
Thu, 6 May 2004 07:45:10 +0000 (07:45 +0000)
committerdefacer <defacer>
Thu, 6 May 2004 07:45:10 +0000 (07:45 +0000)
error when you click on them. Reported by Ger Tielemans in the forums.

calendar/lib.php
calendar/view.php

index ca9f821db23f46666e1cc2f24d6d31ac7fd01eb7..0339d4059ffeab87d7a1a81768a08aa69207b13d 100644 (file)
@@ -569,32 +569,38 @@ function calendar_top_controls($type, $data) {
     return $content;
 }
 
-function calendar_filter_controls($type) {
+function calendar_filter_controls($type, $vars = NULL) {
     global $CFG, $SESSION;
 
     $groupevents = true;
-    switch($type) {
-        case 'upcoming':
-            $getvars = '';
-        break;
-        case 'prefs':
-            $getvars = '&amp;from=prefs&amp;pref='.$_GET['edit'];
-        break;
-        case 'event':
-            global $day, $mon, $yr;
-            $getvars = '&amp;from=event&amp;id='.$_GET['id'];
-        break;
-        case 'day':
-            global $day, $mon, $yr;
-            $getvars = '&amp;from=day&amp;cal_d='.$day.'&amp;cal_m='.$mon.'&amp;cal_y='.$yr;
-        break;
-        case 'course':
-            global $course;
-            $getvars = '&amp;from=course&amp;id='.$course->id;
-            if($course->groupmode == NOGROUPS && $course->groupmodeforce) {
-                $groupevents = false;
-            }
-        break;
+
+    if($vars === NULL) {
+        switch($type) {
+            case 'upcoming':
+                $getvars = '';
+            break;
+            case 'prefs':
+                $getvars = '&amp;from=prefs&amp;pref='.$_GET['edit'];
+            break;
+            case 'event':
+                global $day, $mon, $yr;
+                $getvars = '&amp;from=event&amp;id='.$_GET['id'];
+            break;
+            case 'day':
+                global $day, $mon, $yr;
+                $getvars = '&amp;from=day&amp;cal_d='.$day.'&amp;cal_m='.$mon.'&amp;cal_y='.$yr;
+            break;
+            case 'course':
+                global $course;
+                $getvars = '&amp;from=course&amp;id='.$course->id;
+                if($course->groupmode == NOGROUPS && $course->groupmodeforce) {
+                    $groupevents = false;
+                }
+            break;
+        }
+    }
+    else {
+        $getvars = '&amp;'.$vars;
     }
 
     $content = '<table class="cal_controls" style="width: 98%;">';
index 90418fb547e15abd90be1af837e36af219f82a6b..178f7d87ff1d31cf74608148694bd5ba05287660 100644 (file)
     print_side_block_start(get_string('monthlyview', 'calendar'), '', 'sideblockmain');
     list($prevmon, $prevyr) = calendar_sub_month($mon, $yr);
     list($nextmon, $nextyr) = calendar_add_month($mon, $yr);
-    echo calendar_filter_controls($_GET['view']);
+    $getvars = 'from=month&amp;cal_d='.$day.'&amp;cal_m='.$mon.'&amp;cal_y='.$yr; // For filtering
+    echo calendar_filter_controls($_GET['view'], $getvars);
     echo '<p>';
     echo calendar_top_controls('display', array('m' => $prevmon, 'y' => $prevyr));
     echo calendar_get_mini($courses, $groups, $users, $prevmon, $prevyr);