Example #1
0
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");
            }
        }
    }
}
Example #2
0
 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;
 }