. * */ namespace Friendica\Content\Widget; use Friendica\Content\Feature; use Friendica\Core\Renderer; use Friendica\DI; /** * TagCloud widget * * @author Rabuzarus */ class CalendarExport { /** * Get the events widget. * * @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; } $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; } // $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 ]); return $return; } }