X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FContent%2FWidget%2FCalendarExport.php;h=1ea7d1e1809da1bd4a19b7f323ae839c35879e20;hb=58215e56c329f6cbcbe10575bb0b9ef709b2f093;hp=63d1d7af87a7251f5b5d5c7dba31c27c9a8dde37;hpb=2a431b580f2e8f6a596e84175932e793678cde63;p=friendica.git diff --git a/src/Content/Widget/CalendarExport.php b/src/Content/Widget/CalendarExport.php index 63d1d7af87..1ea7d1e180 100644 --- a/src/Content/Widget/CalendarExport.php +++ b/src/Content/Widget/CalendarExport.php @@ -21,9 +21,9 @@ namespace Friendica\Content\Widget; -use Friendica\Content\Feature; use Friendica\Core\Renderer; use Friendica\DI; +use Friendica\Model\User; /** * TagCloud widget @@ -34,36 +34,27 @@ class CalendarExport { /** * Get the events widget. + * @param int $uid * * @return string Formated HTML of the calendar widget. * @throws \Friendica\Network\HTTPException\InternalServerErrorException */ - public static function getHTML() { - $a = DI::app(); - - if (empty($a->data['user'])) { - return; + public static function getHTML(int $uid = 0) { + if (empty($uid)) { + return ''; } - $owner_uid = intval($a->data['user']['uid']); - - // The permission testing is a little bit tricky because we have to respect many cases. - - // It's not the private events page (we don't get the $owner_uid for /events). - if (!local_user() && !$owner_uid) { - return; + $user = User::getById($uid, ['nickname']); + if (empty($user['nickname'])) { + return ''; } - // $a->data is only available if the profile page is visited. If the visited page is not part - // of the profile page it should be the personal /events page. So we can use $a->user. - $user = ($a->data['user']['nickname'] ?? '') ?: $a->user['nickname']; - $tpl = Renderer::getMarkupTemplate("widget/events.tpl"); $return = Renderer::replaceMacros($tpl, [ '$etitle' => DI::l10n()->t("Export"), '$export_ical' => DI::l10n()->t("Export calendar as ical"), '$export_csv' => DI::l10n()->t("Export calendar as csv"), - '$user' => $user + '$user' => $user['nickname'] ]); return $return;