You are here

function _rest_server_add_default_and_remove_unknown in Services 7.3

Same name and namespace in other branches
  1. 6.3 servers/rest_server/rest_server.module \_rest_server_add_default_and_remove_unknown()

Utility function set set up an array with default values for a set of keys and remove all entries that does not match a key in the set.

Parameters

array $array: The array to modify.

array $keys: An array of keys.

mixed $default: A default value.

Return value

void

1 call to _rest_server_add_default_and_remove_unknown()
rest_server_setup_settings in servers/rest_server/rest_server.module
Set up settings for a rest server endpoint, fills the settings array with defaults. This is done to ensure that the default state is consistent between what's shown by default in the settings form and used by default by the REST server if it…

File

servers/rest_server/rest_server.module, line 158

Code

function _rest_server_add_default_and_remove_unknown(&$array, $keys, $default) {

  // Add default values to all keys that do not
  // exist in $array but exist in $keys.
  foreach ($keys as $k) {
    if (!isset($array[$k])) {
      $array[$k] = $default;
    }
  }

  // Unset all values that key exist in $array
  // but does not exist in $keys.
  foreach (array_keys($array) as $key) {
    if (!in_array($key, $keys)) {
      unset($array[$key]);
    }
  }
}