From: Nicolas Boisselier Date: Tue, 1 Mar 2016 02:47:51 +0000 (+0000) Subject: good night X-Git-Url: https://git.nbdom.net/?a=commitdiff_plain;h=14fdb9b07ce3ea4e3f2d39fecf67dc416a3f71e8;p=nb.git good night --- diff --git a/lib/php/functions.php b/lib/php/functions.php index 97dc5cc8..debec6bc 100644 --- a/lib/php/functions.php +++ b/lib/php/functions.php @@ -63,7 +63,7 @@ function ls_dir($path,$recurse=false,$exp='') { } -function ar_first($ar) { return $ar[0]; } +function ar_first($ar) { return is_array($ar) and count($ar) ? $ar[0] : false; } function ar_map($return,$array,$as_hash=false) { $map = array_map(create_function('$a',"return($return);"),$array); @@ -226,9 +226,47 @@ function html_select_array($data,$opt=array()) { return $html; } - /* - if (preg_match('/^(1)?$/',$this->db->p('header'))) echo $this->{"rows_begin_$format"}($this->fields()); - echo $this->{"rows_rec_$format"}($row); - echo $this->{"rows_end_$format"}($opt); +/* + Add missing functions for compatibility */ +if (!function_exists('array_replace_recursive')) { + # http://php.net/manual/en/function.array-replace-recursive.php + function array_replace_recursive($array, $array1) { + function recurse($array, $array1) { + foreach ($array1 as $key => $value) { + + // create new key in $array, if it is empty or not an array + if (!isset($array[$key]) || (isset($array[$key]) && !is_array($array[$key]))) { + $array[$key] = array(); + } + + // overwrite the value in the base array + if (is_array($value)) { + $value = recurse($array[$key], $value); + } + + $array[$key] = $value; + + } + + return $array; + } + + // handle the arguments, merge one by one + $args = func_get_args(); + $array = $args[0]; + + if (!is_array($array)) { + return $array; + } + + for ($i = 1; $i < count($args); $i++) { + if (is_array($args[$i])) { + $array = recurse($array, $args[$i]); + } + } + + return $array; + } +} ?>