/** * @return class_admin_formgenerator|null */ public function getAdminForm() { $objForm = parent::getAdminForm(); $objGuestbooks = class_module_guestbook_guestbook::getObjectList(); $arrGuestbooks = array(); foreach ($objGuestbooks as $objOneGuestbook) { $arrGuestbooks[$objOneGuestbook->getSystemid()] = $objOneGuestbook->getStrDisplayName(); } $objForm->getField("guestbook")->setArrKeyValues($arrGuestbooks); return $objForm; }
/** * 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("guestbook"); if ($objElement != null) { $strReturn .= "Deleting page-element 'guestbook'...\n"; $objElement->deleteObjectFromDatabase(); } else { $strReturn .= "Error finding page-element 'guestbook', aborting.\n"; return false; } /** @var class_module_guestbook_guestbook $objOneObject */ foreach (class_module_guestbook_guestbook::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("guestbook_post", "guestbook_book", "element_guestbook") 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; }