You are here

features_override.hooks.inc in Features Override 7.2

Same filename and directory in other branches
  1. 6.2 features_override.hooks.inc

Contains implementation of features_override's hooks for other modules.

File

features_override.hooks.inc
View source
<?php

/**
 * @file
 * Contains implementation of features_override's hooks for other modules.
 */

/**
 * Implements hook_features_override_component_overrides_alter().
 */
function image_features_override_component_overrides_alter(&$default, &$normal, $context) {
  if ($context['component'] == 'image') {

    // Effects have their keys changed on override. This resets them to numeric.
    $normal['effects'] = array_values($normal['effects']);
    $default['effects'] = array_values($default['effects']);
  }
}

/**
 * Implements hook_features_override_export_render_addition() for image.
 */
function image_features_override_export_render_addition($alter, $element) {
  $code = array();
  if (isset($alter['keys'], $alter['value'])) {
    $component_start = "\$data['{$element}']";
    $code_line = features_override_export_keys($alter['keys']);
    $value_export = features_override_var_export($alter['value'], '    ');
    $code[] = '';
    $code[] = '  if (!isset(' . $component_start . "['storage']) || " . $component_start . "['storage'] == IMAGE_STORAGE_DEFAULT) {";
    $code[] = '    ' . $component_start . "['effects'] = array_values(" . $component_start . "['effects']" . ');';
    $code[] = '    ' . $component_start . $code_line . ' = ' . $value_export . ';';
    $code[] = '  }';
  }
  return $code;
}

/**
 * Implements hook_features_override_export_render_addition() for image.
 */
function image_features_override_export_render_deletion($alter, $element) {
  $code = array();
  if (isset($alter['keys'])) {
    $component_start = "\$data['{$element}']";
    $code_line = features_override_export_keys($alter['keys']);
    $code[] = '';
    $code[] = '  if (!isset(' . $component_start . "['storage']) || " . $component_start . "['storage'] == IMAGE_STORAGE_DEFAULT) {";
    $code[] = '    unset(' . $component_start . $code_line . ');';
    $code[] = '  }';
  }
  return $code;
}