public static function getHTML() {
$a = get_app();
+ if (empty($a->data['user'])) {
+ return;
+ }
+
$owner_uid = $a->data['user']['uid'];
// The permission testing is a little bit tricky because we have to respect many cases.
* If it's a kind of profile page (intval($owner_uid)) return if the user not logged in and
* export feature isn't enabled.
*/
- if (!local_user() && $owner_uid && !Feature::isEnabled($owner_uid, 'export_calendar')) {
+ /*
+ * Cal logged in user (test permission at foreign profile page).
+ * If the $owner uid is available we know it is part of one of the profile pages (like /cal).
+ * So we have to test if if it's the own profile page of the logged in user
+ * or a foreign one. For foreign profile pages we need to check if the feature
+ * for exporting the cal is enabled (otherwise the widget would appear for logged in users
+ * on foreigen profile pages even if the widget is disabled).
+ */
+ if (local_user() != $owner_uid && !Feature::isEnabled($owner_uid, "export_calendar")) {
return;
}