You are here

function _configuration_populate in Configuration Management 7

Iterate and descend into a feature definition to extract module dependencies and feature definition. Calls hook_configuration_export for modules that implement it.

Parameters

$pipe: Associative of array of module => info-for-module

$export: Associative array of items, and module dependencies which define a feature. Passed by reference.

Return value

fully populated $export array.

1 call to _configuration_populate()
configuration_populate in ./configuration.export.inc

File

./configuration.export.inc, line 43

Code

function _configuration_populate($pipe, &$export) {
  configuration_include();
  foreach ($pipe as $component => $data) {
    if ($function = configuration_hook($component, 'configuration_export')) {

      // Pass module-specific data and export array.
      // We don't use configuration_invoke() here since we need to pass $export by reference.
      $more = $function($data, $export, $component);

      // Allow other modules to manipulate the pipe to add in additional modules.
      drupal_alter('configuration_pipe_' . $component, $more, $data, $export);

      // Allow for export functions to request additional exports.
      if (!empty($more)) {
        _configuration_populate($more, $export);
      }
    }
  }
  return $export;
}