Example #1
0
 /**
  * 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;
         }
     }
 }