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.
Parameters
$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.
Return value
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.
See also
\Drupal\Core\Extension\ThemeHandlerInterface::rebuildThemeData()
File
- core/modules/system/system.module, line 915
- Configuration system that lets administrators modify the workings of the site.
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | 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 ; } |
Please login to continue.