container */ class Show extends BaseModule { /** @var IHandleUserSessions */ protected $session; /** @var AppHelper */ protected $appHelper; public function __construct(AppHelper $appHelper, L10n $l10n, BaseURL $baseUrl, Arguments $args, LoggerInterface $logger, Profiler $profiler, Response $response, IHandleUserSessions $session, array $server, array $parameters = []) { parent::__construct($l10n, $baseUrl, $args, $logger, $profiler, $response, $server, $parameters); $this->session = $session; $this->appHelper = $appHelper; } protected function rawContent(array $request = []) { $nickname = $this->parameters['nickname'] ?? $this->session->getLocalUserNickname(); if (!$nickname) { throw new HTTPException\UnauthorizedException(); } $owner = Event::getOwnerForNickname($nickname); $event = Event::getByIdAndUid($owner['uid'], (int)$this->parameters['id'] ?? 0); if (empty($event)) { throw new HTTPException\NotFoundException($this->t('Event not found.')); } $tplEvent = Event::prepareForItem($event); $event_item = []; foreach ($tplEvent['item'] as $k => $v) { $event_item[str_replace('-', '_', $k)] = $v; } $tplEvent['item'] = $event_item; $tpl = Renderer::getMarkupTemplate('calendar/event.tpl'); $o = Renderer::replaceMacros($tpl, [ '$event' => $tplEvent, ]); $this->httpExit($o); } }