public static function get_modules_all_available() { if (self::$module_cache === null) { $ret = Base_EssClientCommon::server()->modules_list(); if (is_array($ret)) { $modules = $ret['modules']; $downloaded_modules = self::get_downloaded_modules(); foreach ($modules as &$m) { $m['action'] = self::next_possible_action($m, $downloaded_modules); } self::$module_cache = $modules; } } return self::$module_cache; }