/** * Returns a list of all categories and all faqs * The list can be filtered by categories * * @return string * @autoTestable * @permissions view */ protected function actionList() { $this->setStrCurObjectTypeName("Cat"); $this->setCurObjectClassName("class_module_faqs_cat"); $objIterator = new class_array_section_iterator(class_module_faqs_category::getObjectCount()); $objIterator->setIntElementsPerPage(class_module_faqs_category::getObjectCount()); $objIterator->setPageNumber(1); $objIterator->setArraySection(class_module_faqs_category::getObjectList("", $objIterator->calculateStartPos(), $objIterator->calculateEndPos())); $strReturn = $this->renderList($objIterator, false, class_module_faqs_admin::STR_CAT_LIST); $this->setStrCurObjectTypeName("Faq"); $this->setCurObjectClassName("class_module_faqs_faq"); $objIterator = new class_array_section_iterator(class_module_faqs_faq::getObjectCount($this->getParam("filterId"))); $objIterator->setPageNumber($this->getParam("pv")); $objIterator->setArraySection(class_module_faqs_faq::getObjectList($this->getParam("filterId"), $objIterator->calculateStartPos(), $objIterator->calculateEndPos())); $strReturn .= $this->renderList($objIterator, false, class_module_faqs_admin::STR_FAQ_LIST); 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("faqs"); if ($objElement != null) { $strReturn .= "Deleting page-element 'faqs'...\n"; $objElement->deleteObjectFromDatabase(); } else { $strReturn .= "Error finding page-element 'faqs', aborting.\n"; return false; } //delete all faqs and categories /** @var class_module_faqs_category $objOneCategory */ foreach (class_module_faqs_category::getObjectList() as $objOneCategory) { $strReturn .= "Deleting category '" . $objOneCategory->getStrDisplayName() . "' ...\n"; if (!$objOneCategory->deleteObjectFromDatabase()) { $strReturn .= "Error deleting category, aborting.\n"; return false; } } /** @var class_module_faqs_faq $objOneFaq*/ foreach (class_module_faqs_faq::getObjectList() as $objOneFaq) { $strReturn .= "Deleting faq '" . $objOneFaq->getStrDisplayName() . "' ...\n"; if (!$objOneFaq->deleteObjectFromDatabase()) { $strReturn .= "Error deleting faq, 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("faqs_category", "faqs", "faqs_member", "element_faqs") 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; }