Exemple #1
0
 /**
  * Return the list of available modules, including uninstalled modules.
  */
 static function available()
 {
     if (empty(self::$available)) {
         $modules = new ArrayObject(array(), ArrayObject::ARRAY_AS_PROPS);
         foreach (glob(MODPATH . "*/module.info") as $file) {
             $module_name = basename(dirname($file));
             $modules->{$module_name} = new ArrayObject(parse_ini_file($file), ArrayObject::ARRAY_AS_PROPS);
             foreach ($modules->{$module_name} as &$value) {
                 $value = html::purify($value);
             }
             $m =& $modules->{$module_name};
             $m->installed = module::is_installed($module_name);
             $m->active = module::is_active($module_name);
             $m->code_version = $m->version;
             $m->version = module::get_version($module_name);
             $m->locked = false;
             if ($m->active && $m->version != $m->code_version) {
                 site_status::warning(t("Some of your modules are out of date.  <a href=\"%upgrader_url\">Upgrade now!</a>", array("upgrader_url" => url::abs_site("upgrader"))), "upgrade_now");
             }
         }
         // Lock certain modules
         $modules->gallery->locked = true;
         $identity_module = module::get_var("gallery", "identity_provider", "user");
         $modules->{$identity_module}->locked = true;
         $modules->uasort(array("module", "module_comparator"));
         self::$available = $modules;
     }
     return self::$available;
 }
Exemple #2
0
 /**
  * Return the list of available modules, including uninstalled modules.
  */
 static function available()
 {
     if (empty(self::$available)) {
         $modules = new ArrayObject(array(), ArrayObject::ARRAY_AS_PROPS);
         foreach (glob(MODPATH . "*/module.info") as $file) {
             $module_name = basename(dirname($file));
             $modules->{$module_name} = new ArrayObject(parse_ini_file($file), ArrayObject::ARRAY_AS_PROPS);
             $m =& $modules->{$module_name};
             $m->installed = self::is_installed($module_name);
             $m->active = self::is_active($module_name);
             $m->code_version = $m->version;
             $m->version = self::get_version($module_name);
             $m->locked = false;
         }
         // Lock certain modules
         $modules->gallery->locked = true;
         $modules->user->locked = true;
         $modules->ksort();
         self::$available = $modules;
     }
     return self::$available;
 }