/** * 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) { $strReturn .= "Removing system settings...\n"; if (class_module_system_setting::getConfigByName("_workflows_trigger_authkey_") != null) { class_module_system_setting::getConfigByName("_workflows_trigger_authkey_")->deleteObjectFromDatabase(); } /** @var class_module_workflows_workflow $objOneObject */ foreach (class_module_workflows_workflow::getObjectList() as $objOneObject) { $strReturn .= "Deleting object '" . $objOneObject->getStrDisplayName() . "' ...\n"; if (!$objOneObject->deleteObjectFromDatabase()) { $strReturn .= "Error deleting object, aborting.\n"; return false; } } /** @var class_module_workflows_handler $objOneObject */ foreach (class_module_workflows_handler::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("workflows_handler", "workflows") 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; }
/** * Lists all handlers available to the system * * @return string * @autoTestable * @permissions right1 */ protected function actionListHandlers() { class_module_workflows_handler::synchronizeHandlerList(); $strReturn = $this->objToolkit->formHeadline($this->getLang("action_list_handlers")); $objIterator = new class_array_section_iterator(class_module_workflows_handler::getObjectCount()); $objIterator->setPageNumber($this->getParam("pv")); $objIterator->setArraySection(class_module_workflows_handler::getObjectList("", $objIterator->calculateStartPos(), $objIterator->calculateEndPos())); $strReturn .= $this->renderList($objIterator, false, self::STR_LIST_HANDLER); return $strReturn; }