/**
  * action show
  *
  * @param \VID\UniversalContentLists\Domain\Model\UniversalContent $universalContent
  * @return void
  */
 public function showAction(\VID\UniversalContentLists\Domain\Model\UniversalContent $universalContent)
 {
     $currentPage = 1;
     if ($this->request->hasArgument('currentPage')) {
         $currentPage = (int) $this->request->getArgument('currentPage');
     }
     $this->view->assign('currentPage', $currentPage);
     $this->view->assign("sysLanguageUid", $GLOBALS['TSFE']->sys_language_uid);
     $this->view->assign('showImageMaxWidth', $this->settings["variables"]["showImageMaxWidth"]);
     $this->view->assign('biggerwidth', $this->settings["variables"]["biggerwidth"] <= $this->settings["variables"]["showImageMaxWidth"] ? $this->settings["variables"]["biggerwidth"] : $this->settings["variables"]["showImageMaxWidth"]);
     $this->view->assign('largewidth', $this->settings["variables"]["largewidth"] <= $this->settings["variables"]["showImageMaxWidth"] ? $this->settings["variables"]["largewidth"] : $this->settings["variables"]["showImageMaxWidth"]);
     $this->view->assign('mediumwidth', $this->settings["variables"]["mediumwidth"] <= $this->settings["variables"]["showImageMaxWidth"] ? $this->settings["variables"]["mediumwidth"] : $this->settings["variables"]["showImageMaxWidth"]);
     $this->view->assign('smallwidth', $this->settings["variables"]["smallwidth"] <= $this->settings["variables"]["showImageMaxWidth"] ? $this->settings["variables"]["smallwidth"] : $this->settings["variables"]["showImageMaxWidth"]);
     $this->view->assign('listImageMaxWidth', $this->settings["variables"]["listImageMaxWidth"]);
     $this->view->assign('showImageMaxHeight', $this->settings["variables"]["showImageMaxHeight"]);
     $this->view->assign('biggerheight', $this->settings["variables"]["biggerheight"] <= $this->settings["variables"]["showImageMaxHeight"] ? $this->settings["variables"]["biggerheight"] : $this->settings["variables"]["showImageMaxHeight"]);
     $this->view->assign('largeheight', $this->settings["variables"]["largeheight"] <= $this->settings["variables"]["showImageMaxHeight"] ? $this->settings["variables"]["largeheight"] : $this->settings["variables"]["showImageMaxHeight"]);
     $this->view->assign('mediumheight', $this->settings["variables"]["mediumheight"] <= $this->settings["variables"]["showImageMaxHeight"] ? $this->settings["variables"]["mediumheight"] : $this->settings["variables"]["showImageMaxHeight"]);
     $this->view->assign('smallheight', $this->settings["variables"]["smallheight"] <= $this->settings["variables"]["showImageMaxHeight"] ? $this->settings["variables"]["smallheight"] : $this->settings["variables"]["showImageMaxHeight"]);
     $this->view->assign('listImageMaxHeight', $this->settings["variables"]["listImageMaxHeight"]);
     $tags = $universalContent->getTags();
     $tagUIDs = array();
     /**
      * @var \VID\UniversalContentLists\Domain\Model\Tag $tag
      */
     foreach ($tags as $tag) {
         $tagUIDs[] = $tag->getUid();
     }
     if ($this->settings["getRelatedFromTags"] == "1" && count($tagUIDs) > 0) {
         // sortfield
         $validSortfields = array("sorting", "colPos", "date", "crdate", "tstamp");
         $sortfield_ = $this->settings["sortfield"];
         $sortfield = in_array($sortfield_, $validSortfields) ? $sortfield_ : "sorting";
         // sorting
         $validSortings = array("ASC", "DESC");
         $sorting_ = $this->settings["sorting"];
         $sorting = in_array($sorting_, $validSortings) ? $sorting_ : "ASC";
         #\TYPO3\CMS\Extbase\Utility\DebuggerUtility::var_dump(array("tagUIDs"=>$tagUIDs));
         $limit = (int) $this->settings["relatedLimit"];
         $universalContent->setRelations($this->universalContentRepository->getRelatedByTagList($universalContent, $tagUIDs, $limit, $sortfield, $sorting));
         #\TYPO3\CMS\Extbase\Utility\DebuggerUtility::var_dump(array("universalContent"=>$universalContent));
     }
     $this->view->assign('detailArticle', $universalContent);
 }
 /**
  * action getList
  *
  * @param \VID\UniversalContentLists\Domain\Model\Tag $tag
  * @return QueryResultInterface|array|int
  */
 public function getList($tagID = 0, $currentPage = 1, $countQuery = FALSE, $searchWord = NULL)
 {
     // forbiddenCTypes
     $forbiddenCTypes = array();
     if (isset($this->settings["forbiddenCTypes"]) && $this->settings["forbiddenCTypes"] != '') {
         $forbiddenCTypes = explode(',', $this->settings["forbiddenCTypes"]);
     }
     // pids
     $pidList = array();
     switch ($this->settings["selectMode"]) {
         case "pid":
             $pidList = explode(',', $this->settings["storagePIDs"]);
             break;
         case "currentPage":
             $pidList = array($GLOBALS['TSFE']->id);
             break;
     }
     // categories
     $categoriesIDList = array();
     if (isset($this->settings["limitToCategories"]) && $this->settings["limitToCategories"] != '') {
         $categoriesIDList = explode(',', $this->settings["limitToCategories"]);
     }
     // columns
     $ColPosIDList = array();
     if (isset($this->settings["limitTocColPosIDs"]) && $this->settings["limitTocColPosIDs"] != '') {
         $ColPosIDList = explode(',', $this->settings["limitTocColPosIDs"]);
     }
     // limit
     $limit = (int) $this->settings["itemsPerPage"];
     $offset = 0;
     if ($currentPage > 1) {
         $offset = $limit * ($currentPage - 1);
     }
     // sortfield
     $validSortfields = array("sorting", "colPos", "date", "crdate", "tstamp");
     $sortfield_ = $this->settings["sortfield"];
     $sortfield = in_array($sortfield_, $validSortfields) ? $sortfield_ : "sorting";
     // sorting
     $validSortings = array("ASC", "DESC");
     $sorting_ = $this->settings["sorting"];
     $sorting = in_array($sorting_, $validSortings) ? $sorting_ : "ASC";
     return $this->universalContentRepository->getListWithQuerySettings($this->cacheInstance, $forbiddenCTypes, $pidList, $categoriesIDList, $ColPosIDList, $limit, $offset, $tagID, $sortfield, $sorting, $countQuery, $searchWord);
 }