X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=src%2FContent%2FWidget%2FCalendarExport.php;h=2c21b2f0d0ab7e2d1b2f59194e87e038d27437cb;hb=9c9ebfc7c97016881d9ad2bb3c3b54a5640d2f08;hp=87b8c14da92654b6b45c37726974ab0763d9b185;hpb=72b552895ec63276d29fb861c2ae2d0eebbbcff0;p=friendica.git diff --git a/src/Content/Widget/CalendarExport.php b/src/Content/Widget/CalendarExport.php index 87b8c14da9..2c21b2f0d0 100644 --- a/src/Content/Widget/CalendarExport.php +++ b/src/Content/Widget/CalendarExport.php @@ -27,6 +27,10 @@ class CalendarExport 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. @@ -40,7 +44,15 @@ class CalendarExport * 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; }