function entityconnect_array_set_nested_value in Entity connect 7
Same name and namespace in other branches
- 7.2 includes/entityconnect.form.inc \entityconnect_array_set_nested_value()
Reimplements drupal_array_set_nested_value() to ansewer specific needs of the module.
Entityconnect button adds a new level in parents array, named "add_entityconnect" and "edit_entityconnect" and we need to remove them into our array building. So we need to rewrite drupal_array_set_nested_value() to include these remove.
See also
drupal_array_set_nested_value()
1 call to entityconnect_array_set_nested_value()
- _entityconnect_alter_form_state_input in includes/
entityconnect.form.inc - Used to update the form state value.
File
- includes/
entityconnect.form.inc, line 1082 - Handles all form alters and submit functions for entityconnect.
Code
function entityconnect_array_set_nested_value(array &$array, array $parents, $value, $force = FALSE) {
$ref =& $array;
foreach ($parents as $parent) {
if (stripos($parent, 'add_entityconnect') === FALSE && stripos($parent, 'edit_entityconnect') === FALSE) {
// PHP auto-creates container arrays and NULL entries without error
// if $ref is NULL, but throws an error if $ref is set, but not an array.
if ($force && isset($ref) && !is_array($ref)) {
$ref = array();
}
$ref =& $ref[$parent];
}
}
$ref = $value;
}