MDL-60158 calendar: Fix footer options when viewing as guest

This commit is contained in:
Andrew Nicols 2017-09-18 13:08:43 +08:00
parent 22e99d61ca
commit 39ad9cf333
2 changed files with 16 additions and 8 deletions

View File

@ -82,9 +82,10 @@ class footer_options_exporter extends exporter {
* @return string The iCal url.
*/
protected function get_ical_url() {
return new moodle_url('/calendar/export_execute.php', ['preset_what' => 'all',
'preset_time' => 'recentupcoming', 'userid' => $this->userid, 'authtoken' => $this->token]);
if ($this->token) {
return new moodle_url('/calendar/export_execute.php', ['preset_what' => 'all',
'preset_time' => 'recentupcoming', 'userid' => $this->userid, 'authtoken' => $this->token]);
}
}
/**
@ -113,10 +114,12 @@ class footer_options_exporter extends exporter {
$values = new stdClass();
if (!empty($CFG->enablecalendarexport)) {
$exportbutton = $this->get_export_calendar_button();
$managesubscriptionbutton = $this->get_manage_subscriptions_button();
$values->exportcalendarbutton = $exportbutton->export_for_template($output);
$values->managesubscriptionbutton = $managesubscriptionbutton->export_for_template($output);
if ($exportbutton = $this->get_export_calendar_button()) {
$values->exportcalendarbutton = $exportbutton->export_for_template($output);
}
if ($managesubscriptionbutton = $this->get_manage_subscriptions_button()) {
$values->managesubscriptionbutton = $managesubscriptionbutton->export_for_template($output);
}
$values->icalurl = $this->get_ical_url()->out(false);
}
@ -132,12 +135,15 @@ class footer_options_exporter extends exporter {
return array(
'exportcalendarbutton' => [
'type' => PARAM_RAW,
'default' => null,
],
'managesubscriptionbutton' => [
'type' => PARAM_RAW,
'default' => null,
],
'icalurl' => [
'type' => PARAM_URL,
'default' => null,
],
);
}

View File

@ -33,5 +33,7 @@
{{#managesubscriptionbutton}}
{{> core/single_button }}
{{/managesubscriptionbutton}}
<a href="{{icalurl}}" title="{{#str}} quickdownloadcalendar, calendar {{/str}}" class="ical-link m-l-1">iCal</a>
{{#icalurl}}
<a href="{{icalurl}}" title="{{#str}} quickdownloadcalendar, calendar {{/str}}" class="ical-link m-l-1">iCal</a>
{{/icalurl}}
</div>