function system_module_action() { $declared_modules = module_manager::list_of_declared_modules(); foreach ($declared_modules as $module) { if ($module->action != null) { module_manager::update_action($module->module_name); switch ($module->action) { case constants::get("MM_ACTION_INSTALL"): module_manager::install_module($module->module_name); break; case constants::get("MM_ACTION_UNINSTALL"): module_manager::uninstall_module($module->module_name); break; case constants::get("MM_ACTION_ENABLE"): module_manager::enable_module($module->module_name); break; case constants::get("MM_ACTION_DISABLE"): module_manager::disable_module($module->module_name); break; default: throw new InvalidArgumentException("unknown action"); } } } }
public static function page_list_modules() { page::title("Modules"); $res = array(); $head = array("module", "action"); $modules = module_manager::list_of_declared_modules(); foreach ($modules as $module) { $b = array(); $b[0] = $module->module_name; $b[1] = ""; if ($module->module_installed && !$module->module_enabled) { $b[1] .= page::link("admin/modules/" . $module->module_name . "/enable", "Enable"); $b[1] .= " / "; $b[1] .= page::link("admin/modules/" . $module->module_name . "/uninstall", "Uninstall"); } if ($module->module_installed && $module->module_enabled) { $b[1] .= page::link("admin/modules/" . $module->module_name . "/disable", "disable"); } if (!$module->module_installed) { $b[1] .= page::link("admin/modules/" . $module->module_name . "/install", "install"); } $res[] = $b; } $str = ' <a href="' . page::url("admin/modules/scan") . '">Scan for more modules</a><br/>'; $str .= theme::t_table($res, $head); return $str; }