function context_features_export in Features 7
Same name and namespace in other branches
- 6 includes/features.context.inc \context_features_export()
- 7.2 includes/features.context.inc \context_features_export()
Implements hook_features_export().
File
- includes/
features.context.inc, line 6
Code
function context_features_export($data, &$export, $module_name = '') {
$pipe = ctools_component_features_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;
}
else {
$pipe[$key][$item] = $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;
}
}
}
}
return $pipe;
}