Commit 1b521566 authored by Dries's avatar Dries
Browse files

- Patch #437018 by JamesAn: convert form_options_flatten() in form.inc to use...

- Patch #437018 by JamesAn: convert form_options_flatten() in form.inc to use new static caching API.
parent f639b9e9
......@@ -1673,21 +1673,21 @@ function _form_set_value(&$form_values, $element, $parents, $value) {
}
}
function form_options_flatten($array, $reset = TRUE) {
// $reset has been ignored here as the function recurses, retaining
// its value while recursing and resetting itself when called.
static $return;
function form_options_flatten($array) {
// Always reset static var when first entering the recursion.
drupal_static_reset('_form_options_flatten');
return _form_options_flatten($array);
}
if ($reset) {
$return = array();
}
function _form_options_flatten($array) {
$return = &drupal_static(__FUNCTION__);
foreach ($array as $key => $value) {
if (is_object($value)) {
form_options_flatten($value->option, FALSE);
_form_options_flatten($value->option);
}
elseif (is_array($value)) {
form_options_flatten($value, FALSE);
_form_options_flatten($value);
}
else {
$return[$key] = 1;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment