function context_configuration_export in Configuration Management 7
Implements hook_configuration_export().
File
- includes/
configuration.context.inc, line 6
Code
function context_configuration_export($data, &$export, $module_name = '') {
$pipe = ctools_component_configuration_export('context', $data, $export, $module_name);
$contexts = context_load();
foreach ($data as $identifier) {
if (isset($contexts[$identifier])) {
$context = $contexts[$identifier];
// Conditions.
// Currently only node and views conditions are supported.
// @TODO: Should this be delegated to a method on the plugin?
foreach (array(
'node',
'views',
) as $key) {
if (!empty($context->conditions[$key]['values'])) {
foreach ($context->conditions[$key]['values'] as $item) {
// Special pipe for views
if ($key === 'views') {
$split = explode(':', $item);
$view_name = array_shift($split);
$pipe[$key][$view_name] = $view_name;
$export['configuration_dependency']['configuration'][$key][$view_name] = $identifier;
$export['configuration_dependency']['modules'][$key][$view_name] = '';
}
else {
$pipe[$key][$item] = $item;
$export['configuration_dependency']['configuration'][$key][$item] = $identifier;
$export['configuration_dependency']['modules'][$key][$item] = '';
}
}
}
}
// Reactions.
if (!empty($context->reactions['block']['blocks'])) {
foreach ($context->reactions['block']['blocks'] as $block) {
$block = (array) $block;
$bid = "{$block['module']}-{$block['delta']}";
$pipe['block'][$bid] = $bid;
$export['configuration_dependency']['configuration']['block'][$bid] = $identifier;
$export['configuration_dependency']['modules']['block'][$bid] = '';
}
}
}
}
return $pipe;
}