1.20.x config.module config_get_prefix_groups($type = 'active')

Get a list of all configuration prefixes and groups.

This list provided by hook_config_info().

File

modules/config/config.module, line 150
Allows site administrators to modify configuration.

Code

function config_get_prefix_groups($type = 'active') {
  $config_info_all = config_get_info();
  $groups = array();
  $ungrouped = t('Ungrouped');

  $config_storage = config_get_config_storage($type);
  foreach ($config_info_all as $prefix => $config_info) {
    $group = isset($config_info['group']) ? $config_info['group'] : $ungrouped;
    if (isset($config_info['label_callback']) || isset($config_info['label_key'])) {
      $config_list = $config_storage->listAll($prefix);
      foreach ($config_list as $config_name) {
        $config = $config_storage->read($config_name);
        if (isset($config_info['label_callback'])) {
          $label = $config_info['label_callback']($config, $config_name);
        }
        elseif (isset($config_info['label_key']) && isset($config[$config_info['label_key']])) {
          $label = $config[$config_info['label_key']];
        }
        else {
          $label = $config_name;
        }
        $groups[$group][$config_name] = $label;
      }
    }
    elseif (isset($config_info['label'])) {
      $groups[$group][$prefix] = $config_info['label'];
    }
  }
  return $groups;
}