You are here

function _features_override_remove_ignores in Features Override 6.2

Helper to removes a set of keys an object/array.

Parameters

$item: An object or array passed by reference.

$ignore_keys: Array of keys to be ignored. Values are the level of the key.

$level: Level of key to remove. Up to 2 levels deep because $item can still be recursive

1 call to _features_override_remove_ignores()
features_override_module_component_overrides in ./features_override.export.inc
Get overrides for specific module/component.

File

./features_override.export.inc, line 423
Helper function to export features overrides.

Code

function _features_override_remove_ignores(&$item, $ignore_keys, $level = -1) {
  $is_object = is_object($item);
  foreach ($item as $key => $value) {
    if (isset($ignore_keys[$key]) && $ignore_keys[$key] == $level) {
      if ($is_object) {
        unset($item->{$key});
      }
      else {
        unset($item[$key]);
      }
    }
    elseif ($level < 2 && (is_array($value) || is_object($value))) {
      _features_override_remove_ignores($value, $ignore_keys, $level + 1);
    }
  }
}