/** * 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()); }
/** * 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 . " › " . $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"> </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"> </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"> </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; }