| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 | <?php/** * Implements hook_features_export(). */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;}/** * Implements hook_features_revert(). * * @param $module * name of module to revert content for */function context_features_revert($module = NULL) {  $return = ctools_component_features_revert('context', $module);  context_invalidate_cache();  return $return;}
 |