function deleteModule() { // get id__module $id__module = (isset($_GET['id']) and is_numeric($_GET['id'])) ? $_GET['id'] : 0; if (empty($id__module)) { return true; } // get module-object $Module = new ts_Module($id__module); // delete if (!$Module->deleteModule()) { // error $_SESSION['admin_error'] = 'ERROR__DELETEMODULE'; return false; } $_SESSION['admin_info'] = 'INFO__DELETEMODULE'; return true; }
/** Validate source code * @param bool $force_update * Force to get new list from database (not a cached one from obj-var) * * @return array */ public function getModules($force_update = false) { global $Database, $Config; // already in obj-var? if (!$force_update and isset($this->modules) and !empty($this->modules)) { return $this->modules; } // get module-ids from database $sql = "SELECT id__module as id__module\n\t\tFROM #__modules\n\t\tORDER BY id__module ASC;"; $result = $Database->doSelect($sql); if ($result === false) { return false; } // get available sources $subfolders = ts_FileHandler::getSubfolders($Config->get('dir_data') . '/source/modules/'); if (!is_array($subfolders)) { return false; } // get module-objects and save them in obj-var $modules_files = array(); foreach ($subfolders as $index => $value) { $modules_files[] = new ts_Module(false, $value); } // add already deleted modules and rearrange $this->modules = array(); foreach ($modules_files as $index => $Value) { $this->modules[$Value->getInfo('name') . '__' . $Value->getInfo('nameid')] = $Value; } foreach ($result as $index => $values) { $Module = new ts_Module($values['id__module']); if (!isset($this->modules[$Module->getInfo('name') . '__' . $Module->getInfo('nameid')])) { $this->modules[$Module->getInfo('name') . '__' . $Module->getInfo('nameid')] = $Module; } } // sort ksort($this->modules); // sort modules by dependencies usort($this->modules, array($this, 'cb_sortByDependencies')); $this->modules = array_reverse($this->modules); return $this->modules; }
function updateModule() { global $Config, $Parser; // get Parser object $ModuleHandler = new ts_ModuleHandler(); $modules_all = $ModuleHandler->getModules(true); $Parser = new ts_Parser($Config->get('prefix'), $modules_all, $Config->get('debug_mode')); // get id__module $id__module = (isset($_GET['id']) and is_numeric($_GET['id'])) ? $_GET['id'] : 0; if (empty($id__module)) { return true; } // get module-object $Module = new ts_Module($id__module); // update if (!$Module->updateModule()) { // error $_SESSION['admin_error'] = 'ERROR__UPDATEMODULE'; return false; } $_SESSION['admin_info'] = 'INFO__UPDATEMODULE'; return true; }