function features_override_items_features_export in Features Override 7.2
Same name and namespace in other branches
- 6.2 features_override.features.inc \features_override_items_features_export()
Implements hook_features_export().
File
- ./
features_override.features.inc, line 60
Code
function features_override_items_features_export($data, &$export, $module_name = '') {
$pipe = array(
'features_overrides' => array(),
);
$map = features_get_default_map('features_override_items');
$map_overrides = features_get_default_map('features_overrides');
static $options;
if (!isset($options)) {
$options = features_overrides_features_export_options();
}
foreach ($data as $identifier) {
// If this override bundle is already provided by another module, remove the field
// and add the other module as a dependency.
if (isset($map[$identifier]) && $map[$identifier] != $module_name) {
if (isset($export['features']['features_override_items'][$identifier])) {
unset($export['features']['features_override_items'][$identifier]);
}
$module = $map[$identifier];
$export['dependencies'][$module] = $module;
}
else {
$export['features']['features_override_items'][$identifier] = $identifier;
list($component, $element) = features_override_parse_identifier($identifier);
// Add in all current overrides to import.
foreach ($options as $option_key => $option_name) {
list($options_component, $options_element, $options_keys) = features_override_parse_identifier($option_key);
if ($options_element == $element && empty($map_overrides[$option_key])) {
$pipe['features_overrides'][] = $option_key;
}
}
// Add in dependency to module that defines this item.
$component_map = features_get_default_map($component);
if (!empty($component_map[$element])) {
$export['dependencies'][$component_map[$element]] = $component_map[$element];
}
}
}
return $pipe;
}