Esempio n. 1
0
File: Details.php Progetto: acp3/cms
 /**
  * @param int $id
  *
  * @return array
  * @throws \ACP3\Core\Controller\Exception\ResultNotExistsException
  */
 public function execute($id)
 {
     if ($this->pictureRepository->pictureExists($id, $this->date->getCurrentDateTime()) === true) {
         $this->setCacheResponseCacheable($this->config->getSettings(Schema::MODULE_NAME)['cache_lifetime']);
         $picture = $this->pictureRepository->getOneById($id);
         $this->breadcrumb->append($this->translator->t('gallery', 'gallery'), 'gallery')->append($picture['title'], 'gallery/index/pics/id_' . $picture['gallery_id'])->append($this->translator->t('gallery', 'details'));
         $this->title->setPageTitlePrefix($picture['title'])->setPageTitlePostfix($this->translator->t('gallery', 'picture_x', ['%picture%' => $picture['pic']]));
         $picture = $this->calculatePictureDimensions($picture);
         $previousPicture = $this->pictureRepository->getPreviousPictureId($picture['pic'], $picture['gallery_id']);
         if (!empty($previousPicture)) {
             $this->setPreviousPage((int) $previousPicture);
         }
         $nextPicture = $this->pictureRepository->getNextPictureId($picture['pic'], $picture['gallery_id']);
         if (!empty($nextPicture)) {
             $this->setNextPage((int) $nextPicture);
         }
         return ['picture' => $picture, 'picture_next' => $nextPicture, 'picture_previous' => $previousPicture, 'comments_allowed' => $this->isCommentsAllowed($picture)];
     }
     throw new Core\Controller\Exception\ResultNotExistsException();
 }