/** * Get a list of all modules available. * * Steps through all of the files in the /modules directory * and parses the headers, then returns them in an array. * * @since 0.1.0 * * @see glob_php * @see get_module_slug * */ public static function get_all_modules() { $files = Me::glob_php(ME__PLUGIN_DIR . 'modules'); $modules = array(); $headers = array('name' => 'Module Name', 'description' => 'Module Description', 'sort' => 'Sort Order'); foreach ($files as $file) { $data = get_file_data($file, $headers); if (!$data) { continue; } $slug = Me::get_module_slug($file); $data['name'] = _x($data['name'], 'Module Name', 'me'); $data['description'] = _x($data['description'], 'Module Description', 'me'); $data['sort'] = empty($data['sort']) ? 10 : (int) $data['sort']; $data['activated'] = Me::is_module_active($slug); $data['slug'] = $slug; $modules[$slug] = $data; } usort($modules, array('Me', 'sort_modules')); return $modules; }