/**
  * Get array of folders with news module	
  *
  * @param Tx_MooxNews_Domain_Model_Dto_AdministrationDemand $demand
  * @return	array	folders with news module	
  */
 public function getFolders($demand)
 {
     global $BE_USER;
     $folders = array();
     if ($demand->getType() != '' && false) {
         $typeStmt = 'AND news_type="' . $demand->getType() . '"';
     }
     $query = array('SELECT' => '*', 'FROM' => 'pages', 'WHERE' => $BE_USER->getPagePermsClause(1) . ' AND deleted=0 AND doktype=254 AND module="mxnews"' . $typeStmt);
     $pages = $GLOBALS['TYPO3_DB']->exec_SELECT_queryArray($query);
     $folderCnt = 0;
     while ($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($pages)) {
         $folders[$folderCnt] = $row;
         $rootline = $this->pageRepository->getRootLine($row['uid']);
         foreach ($rootline as $rootlinepage) {
             if ($rootlinepage['is_siteroot']) {
                 $rootlinepage['title'] = $rootlinepage['title'];
                 $folders[$folderCnt]['rootpage'] = $rootlinepage;
                 break;
             }
         }
         if (!$folders[$folderCnt]['rootpage']) {
             $folders[$folderCnt]['rootpage'] = $rootline[0];
         }
         $rootline = array_reverse($rootline);
         if (isset($rootline[count($rootline) - 2])) {
             $pageInfo = $this->pageRepository->getPage((int) $rootline[count($rootline) - 2]['uid']);
             if ($pageInfo['module'] == 'mxnews') {
                 $folders[$folderCnt]['folder'] = $pageInfo['uid'];
             }
         }
         $folders[$folderCnt]['rootline'] = $rootline;
         $folderCnt++;
     }
     usort($folders, "sortByFolderAndTitle");
     $folders = array_reverse($folders);
     return $folders;
 }
 /**
  * Test if sortingDirection can be set
  *
  * @test
  * @return void
  */
 public function sortingDirectionCanBeSet()
 {
     $value = 'asc';
     $this->instance->setSortingDirection($value);
     $this->assertEquals($value, $this->instance->getSortingDirection());
 }
Beispiel #3
0
 /**
  * generate category selection tree
  *
  * @param string $id identifier of selection field
  * @param Tx_MooxNews_Domain_Model_Dto_AdministrationDemand $demand
  * @param \TYPO3\CMS\Extbase\Persistence\QueryInterface $categories categories
  * @param array $selected selected categories
  * @param string $class class
  * @param integer $depth depth
  * @return string $tree
  */
 function generateCategorySelectionTree($id, $demand, $categories, $selected = array(), $class = "", $title = "", $depth = 0)
 {
     $tree = "<ul>";
     foreach ($categories as $category) {
         if ($category['item']->getNewsTypes() == '' || $demand->getType() == '' || in_array($demand->getType(), explode(",", $category['item']->getNewsTypes()))) {
             if (in_array($category['item']->getUid(), $selected)) {
                 $activeClass = " moox-news-tca-category-active";
             } else {
                 $activeClass = "";
             }
             if ($class != "") {
                 $elementClass = $class . " moox-news-tca-category-" . $category['item']->getUid();
             } else {
                 $elementClass = " moox-news-tca-category moox-news-tca-category-" . $category['item']->getUid();
             }
             if ($title != "") {
                 $wrapperTitle = $title . " &rsaquo; " . $category['item']->getTitle();
             } else {
                 $wrapperTitle = $category['item']->getTitle();
             }
             $wrapperClass = str_replace("-category", "-category-wrapper", $elementClass);
             if (isset($category['children'])) {
                 $isParentClass = " is-parent";
             } else {
                 $isParentClass = "";
             }
             $tree .= '<li id="moox-news-tca-category-' . $category['item']->getUid() . '" class="' . $elementClass . '">';
             $tree .= '<div id="moox-news-tca-category-wrapper-' . $category['item']->getUid() . '" title="' . $category['item']->getTitle() . ' [UID: ' . $category['item']->getUid() . ']" onclick="mooxNewsToggleOption(\'#' . $id . '\',' . $category['item']->getUid() . ',\'' . $wrapperTitle . '\')" class="moox-news-tca-category-wrapper' . $wrapperClass . $isParentClass . $activeClass . '">';
             if ($selected[0] == $category['item']->getUid()) {
                 $tree .= '<span id="moox-news-tca-category-icon-' . $category['item']->getUid() . '" class="t3-icon t3-icon-apps t3-icon-apps-toolbar t3-icon-toolbar-menu-shortcut moox-news-tca-category-icon">&nbsp;</span>';
             } else {
                 $tree .= '<span id="moox-news-tca-category-icon-' . $category['item']->getUid() . '" class="t3-icon t3-icon-mimetypes t3-icon-mimetypes-x t3-icon-x-sys_category moox-news-tca-category-icon">&nbsp;</span>';
             }
             $tree .= '<span id="moox-news-tca-category-title-' . $category['item']->getUid() . '" title="' . $wrapperTitle . '" class="moox-news-tca-category-title">' . $category['item']->getTitle() . '</span>';
             $tree .= '</div>';
             $tree .= '<div id="moox-news-tca-category-context-' . $category['item']->getUid() . '" class="moox-news-tca-category-context">';
             $tree .= '<div onclick="mooxNewsSetMainCategory(\'#' . $id . '\',' . $category['item']->getUid() . ',\'' . $wrapperTitle . '\')" class="moox-news-context-element icon-select-maincategory"><span class="t3-icon t3-icon-apps t3-icon-apps-toolbar t3-icon-toolbar-menu-shortcut moox-news-tca-category-icon">&nbsp;</span>"' . $category['item']->getTitle() . '" als Hauptkategorie wählen</div>';
             if ($isParentClass) {
                 $tree .= '<div onclick="mooxNewsAddAllBranchOptions(\'#' . $id . '\',' . $category['item']->getUid() . ')" class="moox-news-context-element icon-select-branch">Kompletten Bereich "' . $category['item']->getTitle() . '" auswählen</div>';
                 $tree .= '<div onclick="mooxNewsRemoveAllBranchOptions(\'#' . $id . '\',' . $category['item']->getUid() . ')" class="moox-news-context-element icon-unselect-branch">Kompletten Bereich "' . $category['item']->getTitle() . '" abwählen</div>';
             }
             $tree .= '</div>';
             if (isset($category['children'])) {
                 $tree .= self::generateCategorySelectionTree($id, $demand, $category['children'], $selected, $elementClass, $wrapperTitle, $depth + 1) . "</li>";
             } else {
                 $tree .= "</li>";
             }
         }
     }
     $tree .= "</ul>";
     return $tree;
 }