diff -u includes/common.inc includes/common.inc --- includes/common.inc +++ includes/common.inc @@ -5532,16 +5532,21 @@ } /** - * Sets a value in a deeply nested array. + * Sets a value in a nested array. + * + * Example: if $array is array('a' => 1, 'b' => array('c' => 3, 'd' => 4)), and + * $parents is array('b', 'c'), then the 3 will be replaced by $value. * * @param $array * A reference to the array to modify. * @param $parents - * An ordered array of parent keys, starting with the outer most entry. + * An array of parent keys, starting with the outermost key. * @param $value * The value to set. + * + * @see drupal_get_array_element_deep */ -function drupal_set_array_deep(&$array, $parents, $value) { +function drupal_set_array_element_deep(&$array, $parents, $value) { $ref = &$array; foreach ($parents as $parent) { // Note that PHP is fine with referencing a not existing array key - in this @@ -5552,19 +5557,24 @@ } /** - * Gets a value sitting in a deeply nested array. + * Retrieves a value from a nested array. + * + * Example: if $array is array('a' => 1, 'b' => array('c' => 3, 'd' => 4)), and + * $parents is array('b', 'c'), then the return value will be array(3, TRUE). * * @param $array - * The array from which to get a value. + * The array from which to get the value. * @param $parents - * An ordered array of parent keys of the value, starting with the outer most - * entry. + * An array of parent keys of the value, starting with the outermost key. * * @return - * An array with the first entry being the value. As second entry a boolean - * flag is returned, which determines whether all given parent keys exist. + * An array whose first entry is the array value, and whose second entry is + * TRUE if all the parent keys existed, and FALSE if not (in which case the + * value element will be NULL). + * + * @see drupal_set_array_element_deep */ -function drupal_get_array_deep($array, $parents) { +function drupal_get_array_element_deep($array, $parents) { foreach ($parents as $parent) { if (isset($array[$parent])) { $array = $array[$parent]; diff -u includes/form.inc includes/form.inc --- includes/form.inc +++ includes/form.inc @@ -923,15 +923,15 @@ if (isset($form_state['triggering_element']['#limit_validation_errors']) && $form_state['triggering_element']['#limit_validation_errors'] !== FALSE) { $values = array(); foreach ($form_state['triggering_element']['#limit_validation_errors'] as $section) { - list($value, $value_exists) = drupal_get_array_deep($form_state['values'], $section); + list($value, $value_exists) = drupal_get_array_element_deep($form_state['values'], $section); if ($value_exists) { - drupal_set_array_deep($values, $section, $value); + drupal_set_array_element_deep($values, $section, $value); } } // For convenience we always make the value of the pressed button available. if (isset($form_state['triggering_element']['#button_type'])) { $values[$form_state['triggering_element']['#name']] = $form_state['triggering_element']['#value']; - drupal_set_array_deep($values, $form_state['triggering_element']['#parents'], $form_state['triggering_element']['#value']); + drupal_set_array_element_deep($values, $form_state['triggering_element']['#parents'], $form_state['triggering_element']['#value']); } $form_state['values'] = $values; } @@ -1703,7 +1703,7 @@ if (!$input_exists && !$form_state['rebuild'] && !$form_state['programmed']) { // Add the necessary parent keys to $form_state['input'] and sets the // element's input value to NULL. - drupal_set_array_deep($form_state['input'], $element['#parents'], NULL); + drupal_set_array_element_deep($form_state['input'], $element['#parents'], NULL); $input_exists = TRUE; } // If we have input for the current element, assign it to the #value @@ -1762,7 +1762,7 @@ // Set the element's value in $form_state['values'], but only, if its key // does not exist yet (a #value_callback may have already populated it). - list($values, $value_exists) = drupal_get_array_deep($form_state['values'], $element['#parents']); + list($values, $value_exists) = drupal_get_array_element_deep($form_state['values'], $element['#parents']); if (!$value_exists) { form_set_value($element, $element['#value'], $form_state); } @@ -2095,7 +2095,7 @@ * Form state array where the value change should be recorded. */ function form_set_value($element, $value, &$form_state) { - drupal_set_array_deep($form_state['values'], $element['#parents'], $value); + drupal_set_array_element_deep($form_state['values'], $element['#parents'], $value); } /** diff -u modules/file/file.module modules/file/file.module --- modules/file/file.module +++ modules/file/file.module @@ -553,7 +553,7 @@ // and set $element to the managed_file element that contains that button. $parents = $form_state['triggering_element']['#array_parents']; $button_key = array_pop($parents); - list($element) = drupal_get_array_deep($form, $parents); + list($element) = drupal_get_array_element_deep($form, $parents); // No action is needed here for the upload button, because all file uploads on // the form are processed by file_managed_file_value() regardless of which @@ -574,7 +574,7 @@ // has correct information during the rebuild. $values_element = $element['#extended'] ? $element['fid'] : $element; form_set_value($values_element, NULL, $form_state); - drupal_set_array_deep($form_state['input'], $values_element['#parents'], NULL); + drupal_set_array_element_deep($form_state['input'], $values_element['#parents'], NULL); } // Set the form to rebuild so that $form is correctly updated in response to