diff --git a/calendar/classes/external/footer_options_exporter.php b/calendar/classes/external/footer_options_exporter.php
index 23bb42f0e42..e4478bbd436 100644
--- a/calendar/classes/external/footer_options_exporter.php
+++ b/calendar/classes/external/footer_options_exporter.php
@@ -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,
],
);
}
diff --git a/calendar/templates/footer_options.mustache b/calendar/templates/footer_options.mustache
index 05c2941933b..d9769b2eb28 100644
--- a/calendar/templates/footer_options.mustache
+++ b/calendar/templates/footer_options.mustache
@@ -33,5 +33,7 @@
{{#managesubscriptionbutton}}
{{> core/single_button }}
{{/managesubscriptionbutton}}
- iCal
+ {{#icalurl}}
+ iCal
+ {{/icalurl}}