/** * @return class_admin_formgenerator|null */ public function getAdminForm() { $objForm = parent::getAdminForm(); $arrNavigationsDropdown = array(); foreach (class_module_navigation_tree::getObjectList() as $objOneNavigation) { $arrNavigationsDropdown[$objOneNavigation->getSystemid()] = $objOneNavigation->getStrDisplayName(); } $objForm->getField("repo")->setArrKeyValues($arrNavigationsDropdown); return $objForm; }
/** * @see interface_admin_systemtask::executeTask() * @return string */ public function executeTask() { if (!class_module_system_module::getModuleByName("navigation")->rightEdit()) { return $this->getLang("commons_error_permissions"); } $strReturn = ""; //load all navigation points, tree by tree $arrTrees = class_module_navigation_tree::getObjectList(); foreach ($arrTrees as $objOneTree) { $strReturn .= $this->getLang("systemtask_navigationcheck_treescan") . " \"" . $objOneTree->getStrName() . "\"...<br />"; if (validateSystemid($objOneTree->getStrFolderId())) { $strReturn .= $this->getLang("systemtask_navigationcheck_autogenerated") . "<br />"; } else { $strReturn .= $this->processLevel($objOneTree->getSystemid(), 0) . "<br />"; } } return $strReturn; }
/** * Returns a list of the current level * * @return string * @autoTestable * @permissions view */ protected function actionList() { $strReturn = ""; //Decide, whether to return the list of navigation or the layer of a navigation if ($this->getSystemid() == "" || $this->getSystemid() == $this->getObjModule()->getSystemid()) { $objIterator = new class_array_section_iterator(class_module_navigation_tree::getObjectCount(class_module_system_module::getModuleIdByNr(_navigation_modul_id_))); $objIterator->setPageNumber($this->getParam("pv")); $objIterator->setArraySection(class_module_navigation_tree::getObjectList("", $objIterator->calculateStartPos(), $objIterator->calculateEndPos())); return $this->renderList($objIterator); } else { $objIterator = new class_array_section_iterator(class_module_navigation_point::getObjectCount($this->getSystemid())); $objIterator->setPageNumber($this->getParam("pv")); $objIterator->setArraySection(class_module_navigation_point::getNaviLayer($this->getSystemid(), false, $objIterator->calculateStartPos(), $objIterator->calculateEndPos())); $strReturn .= $this->renderList($objIterator, true, "naviPoints", true); if ($this->strPeAddon == "") { $strReturn = $this->generateTreeView($strReturn); } return $strReturn; } }
/** * Removes the elements / modules handled by the current installer. * Use the reference param to add a human readable logging. * * @param string &$strReturn * * @return bool */ public function remove(&$strReturn) { //delete the page-element $objElement = class_module_pages_element::getElement("navigation"); if ($objElement != null) { $strReturn .= "Deleting page-element 'navigation'...\n"; $objElement->deleteObjectFromDatabase(); } else { $strReturn .= "Error finding page-element 'navigation', aborting.\n"; return false; } /** @var class_module_navigation_tree $objOneObject */ foreach (class_module_navigation_tree::getObjectList() as $objOneObject) { $strReturn .= "Deleting object '" . $objOneObject->getStrDisplayName() . "' ...\n"; if (!$objOneObject->deleteObjectFromDatabase()) { $strReturn .= "Error deleting object, aborting.\n"; return false; } } //delete the module-node $strReturn .= "Deleting the module-registration...\n"; $objModule = class_module_system_module::getModuleByName($this->objMetadata->getStrTitle(), true); if (!$objModule->deleteObjectFromDatabase()) { $strReturn .= "Error deleting module, aborting.\n"; return false; } //delete the tables foreach (array("navigation", "element_navigation") as $strOneTable) { $strReturn .= "Dropping table " . $strOneTable . "...\n"; if (!$this->objDB->_pQuery("DROP TABLE " . $this->objDB->encloseTableName(_dbprefix_ . $strOneTable) . "", array())) { $strReturn .= "Error deleting table, aborting.\n"; return false; } } return true; }