X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FContent%2FWidget%2FCalendarExport.php;h=120af99d00f98e439924e4afc7b1e05fe5086772;hb=bce8ab722752aa4262b571222c1e77a26cd6c9e1;hp=87b8c14da92654b6b45c37726974ab0763d9b185;hpb=72b552895ec63276d29fb861c2ae2d0eebbbcff0;p=friendica.git diff --git a/src/Content/Widget/CalendarExport.php b/src/Content/Widget/CalendarExport.php index 87b8c14da9..120af99d00 100644 --- a/src/Content/Widget/CalendarExport.php +++ b/src/Content/Widget/CalendarExport.php @@ -8,9 +8,7 @@ namespace Friendica\Content\Widget; use Friendica\Content\Feature; use Friendica\Core\L10n; - -require_once 'boot.php'; -require_once 'include/text.php'; +use Friendica\Core\Renderer; /** * TagCloud widget @@ -23,9 +21,14 @@ class CalendarExport * @brief Get the events widget. * * @return string Formated HTML of the calendar widget. + * @throws \Friendica\Network\HTTPException\InternalServerErrorException */ public static function getHTML() { - $a = get_app(); + $a = \get_app(); + + if (empty($a->data['user'])) { + return; + } $owner_uid = $a->data['user']['uid']; @@ -40,7 +43,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; } @@ -48,8 +59,8 @@ class CalendarExport // of the profile page it should be the personal /events page. So we can use $a->user. $user = defaults($a->data['user'], 'nickname', $a->user['nickname']); - $tpl = get_markup_template("events_aside.tpl"); - $return = replace_macros($tpl, [ + $tpl = Renderer::getMarkupTemplate("events_aside.tpl"); + $return = Renderer::replaceMacros($tpl, [ '$etitle' => L10n::t("Export"), '$export_ical' => L10n::t("Export calendar as ical"), '$export_csv' => L10n::t("Export calendar as csv"),