Ejemplo n.º 1
0
 /**
  * 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;
 }
Ejemplo n.º 2
0
 /**
  * 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;
 }