diff --git a/calendar/renderer.php b/calendar/renderer.php index 4fe8301b8bf..a2f8a7b9a90 100644 --- a/calendar/renderer.php +++ b/calendar/renderer.php @@ -135,7 +135,9 @@ class core_calendar_renderer extends plugin_renderer_base { * @return string */ public function fake_block_filters($courseid, $day, $month, $year, $view, $courses) { - return html_writer::tag('div', calendar_filter_controls($this->page->url), array('class'=>'calendar_filters filters')); + $returnurl = $this->page->url; + $returnurl->param('course', $courseid); + return html_writer::tag('div', calendar_filter_controls($returnurl), array('class'=>'calendar_filters filters')); } /** diff --git a/calendar/set.php b/calendar/set.php index 2633369d354..c02069e07d7 100644 --- a/calendar/set.php +++ b/calendar/set.php @@ -45,8 +45,13 @@ require_sesskey(); $var = required_param('var', PARAM_ALPHA); $return = clean_param(base64_decode(required_param('return', PARAM_RAW)), PARAM_URL); - -$url = new moodle_url('/calendar/set.php', array('return'=>base64_encode($return),'var'=>$var, 'sesskey'=>sesskey())); +$courseid = optional_param('id', -1, PARAM_INT); +if ($courseid != -1) { + $return = new moodle_url($return, array('course' => $courseid)); +} else { + $return = new moodle_url($return); +} +$url = new moodle_url('/calendar/set.php', array('return'=>base64_encode($return->out(false)), 'course' => $courseid, 'var'=>$var, 'sesskey'=>sesskey())); $PAGE->set_url($url); $PAGE->set_context(get_context_instance(CONTEXT_SYSTEM)); diff --git a/calendar/view.php b/calendar/view.php index 31c3ee2220f..fbad9e0365f 100644 --- a/calendar/view.php +++ b/calendar/view.php @@ -127,7 +127,7 @@ switch($view) { echo $renderer->show_day($calendar); break; case 'month': - echo $renderer->show_month_detailed($calendar); + echo $renderer->show_month_detailed($calendar, $url); break; case 'upcoming': $defaultlookahead = CALENDAR_DEFAULT_UPCOMING_LOOKAHEAD;