|
|
|
@ -71,36 +71,6 @@ function msort($array, $id = 'id', $order = 'desc') |
|
|
|
|
return $temp_array; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
function array_walk_recursive_limited( |
|
|
|
|
&$array, |
|
|
|
|
$function, |
|
|
|
|
$apply_to_keys_also = false |
|
|
|
|
) { |
|
|
|
|
static $recursive_counter = 0; |
|
|
|
|
if (++$recursive_counter > 1000) { |
|
|
|
|
die('possible deep recursion attack'); |
|
|
|
|
} |
|
|
|
|
foreach ($array as $key => $value) { |
|
|
|
|
if (is_array($value)) { |
|
|
|
|
array_walk_recursive_limited( |
|
|
|
|
$array[$key], |
|
|
|
|
$function, |
|
|
|
|
$apply_to_keys_also |
|
|
|
|
); |
|
|
|
|
} else { |
|
|
|
|
$array[$key] = $function($value); |
|
|
|
|
} |
|
|
|
|
if ($apply_to_keys_also && is_string($key)) { |
|
|
|
|
$new_key = $function($key); |
|
|
|
|
if ($new_key != $key) { |
|
|
|
|
$array[$new_key] = $array[$key]; |
|
|
|
|
unset($array[$key]); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
$recursive_counter--; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* @param $array |
|
|
|
|
* @return mixed |
|
|
|
|