system_get_info($type, $name = NULL)
Returns an array of information about enabled modules or themes.
This function returns the contents of the .info.yml file for each installed module or theme.
$type: Either 'module' or 'theme'.
$name: (optional) The name of a module or theme whose information shall be returned. If omitted, all records for the provided $type will be returned. If $name does not exist in the provided $type or is not enabled, an empty array will be returned.
An associative array of module or theme information keyed by name, or only information for $name, if given. If no records are available, an empty array is returned.
\Drupal\Core\Extension\ThemeHandlerInterface::rebuildThemeData()
function system_get_info($type, $name = NULL) { if ($type == 'module') { $info = &drupal_static(__FUNCTION__); if (!isset($info)) { if ($cache = \Drupal::cache()->get('system.module.info')) { $info = $cache->data; } else { $data = system_rebuild_module_data(); foreach (\Drupal::moduleHandler()->getModuleList() as $module => $filename) { if (isset($data[$module])) { $info[$module] = $data[$module]->info; } } // Store the module information in cache. This cache is cleared by // calling system_rebuild_module_data(), for example, when listing // modules, (un)installing modules, importing configuration, updating // the site and when flushing all the caches. \Drupal::cache()->set('system.module.info', $info); } } } else { $info = array(); $list = system_list($type); foreach ($list as $shortname => $item) { if (!empty($item->status)) { $info[$shortname] = $item->info; } } } if (isset($name)) { return isset($info[$name]) ? $info[$name] : array(); } return $info; }
© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/core!modules!system!system.module/function/system_get_info/8.1.x