/** * Load the list of visible modules * * @param bool $shm Use shared memory * * @return void */ static function loadModules($shm = true) { // @todo Experiment, then remove test if no problem if ($shm) { $modules = SHM::get("modules"); if (!$modules) { $module = new self(); $modules = $module->loadList(null, "mod_ui_order"); SHM::put("modules", $modules); } } else { $module = new self(); $modules = $module->loadList(null, "mod_ui_order"); } /** @var $module CModule */ foreach ($modules as &$module) { $module->checkModuleFiles(); self::$installed[$module->mod_name] =& $module; if ($module->mod_active == 1) { self::$active[$module->mod_name] =& $module; } if ($module->mod_ui_active == 1) { self::$visible[$module->mod_name] =& $module; } if ($module->_files_missing) { self::$absent[$module->mod_name] =& $module; } } }