From: moodler Date: Sat, 18 Sep 2004 13:17:23 +0000 (+0000) Subject: Merged changes from stable to fix bug 1957 X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=23f160464a7e8cd457ea68c292e611743c1a28b5;p=moodle.git Merged changes from stable to fix bug 1957 --- diff --git a/blocks/calendar_month/block_calendar_month.php b/blocks/calendar_month/block_calendar_month.php index 130409f209..be288cd213 100644 --- a/blocks/calendar_month/block_calendar_month.php +++ b/blocks/calendar_month/block_calendar_month.php @@ -32,12 +32,22 @@ class CourseBlock_calendar_month extends MoodleBlock { $courseshown = $this->course->id; - if($this->course->id == SITEID) { - // Being displayed at site level. This will cause the filter to fall back to auto-detecting - // the list of courses it will be grabbing events from. - $filtercourse = NULL; - } - else { + if ($this->course->id == SITEID) { // Site-level calendar + if (!empty($USER) and !isadmin()) { /// Normal users just see their own courses + if (!empty($USER->student)) { + foreach ($USER->student as $courseid => $info) { + $filtercourse[$courseid] = 1; + } + } + if (!empty($USER->teacher)) { + foreach ($USER->teacher as $courseid => $info) { + $filtercourse[$courseid] = 1; + } + } + } else { /// Let the filter sort it out for admins and guests + $filtercourse = NULL; + } + } else { // Forcibly filter events to include only those from the particular course we are in. $filtercourse = array($courseshown => 1); } diff --git a/blocks/calendar_upcoming/block_calendar_upcoming.php b/blocks/calendar_upcoming/block_calendar_upcoming.php index 752888762f..2d7f9fbc46 100644 --- a/blocks/calendar_upcoming/block_calendar_upcoming.php +++ b/blocks/calendar_upcoming/block_calendar_upcoming.php @@ -38,10 +38,22 @@ class CourseBlock_calendar_upcoming extends MoodleBlock { '/calendar/event.php?action=new&course='.$this->course->id.'">'. get_string('newevent', 'calendar').'...'; - if($this->course->id == SITEID) { - // Being displayed at site level. This will cause the filter to fall back to auto-detecting - // the list of courses it will be grabbing events from. - $filtercourse = NULL; + if($this->course->id == SITEID) { // Being displayed at site level. + + if (!empty($USER) and !isadmin()) { /// Normal users just see their own courses + if (!empty($USER->student)) { + foreach ($USER->student as $courseid => $info) { + $filtercourse[$courseid] = 1; + } + } + if (!empty($USER->teacher)) { + foreach ($USER->teacher as $courseid => $info) { + $filtercourse[$courseid] = 1; + } + } + } else { /// Let the filter sort it out for admins and guests + $filtercourse = NULL; + } } else { // Forcibly filter events to include only those from the particular course we are in.