summaryrefslogtreecommitdiffstats
path: root/usr/local/www/xmlrpc.php
diff options
context:
space:
mode:
authorScott Ullrich <sullrich@pfsense.org>2011-05-31 14:42:22 -0400
committerScott Ullrich <sullrich@pfsense.org>2011-05-31 14:42:22 -0400
commitf9d7c5b3c44437b6f39fe757ede40decbfd395b9 (patch)
tree8a4ebea75bf4da597efce27666d98d4341690bcd /usr/local/www/xmlrpc.php
parent0b581a8acf9fa470e66afebc1834660d0ee81942 (diff)
downloadpfsense-f9d7c5b3c44437b6f39fe757ede40decbfd395b9.zip
pfsense-f9d7c5b3c44437b6f39fe757ede40decbfd395b9.tar.gz
Use array_overlay()
Diffstat (limited to 'usr/local/www/xmlrpc.php')
-rwxr-xr-xusr/local/www/xmlrpc.php22
1 files changed, 10 insertions, 12 deletions
diff --git a/usr/local/www/xmlrpc.php b/usr/local/www/xmlrpc.php
index c869137..500700a 100755
--- a/usr/local/www/xmlrpc.php
+++ b/usr/local/www/xmlrpc.php
@@ -274,7 +274,7 @@ function merge_config_section_xmlrpc($raw_params) {
$params = xmlrpc_params_to_php($raw_params);
if(!xmlrpc_auth($params))
return $xmlrpc_g['return']['authfail'];
- $config_new = array_extend($config, $params[0]);
+ $config_new = array_overlay($config, $params[0]);
$config = $config_new;
$mergedkeys = implode(",", array_keys($params[0]));
write_config(sprintf(gettext("Merged in config (%s sections) from XMLRPC client."), $mergedkeys));
@@ -454,19 +454,17 @@ $server = new XML_RPC_Server(
unlock($xmlrpclockkey);
-function array_extend($a, $b) {
- foreach($b as $k=>$v) {
- if( is_array($v) ) {
- if( !isset($a[$k]) ) {
- $a[$k] = $v;
- } else {
- $a[$k] = array_extend($a[$k], $v);
+ function array_overlay($a1,$a2)
+ {
+ foreach($a1 as $k => $v) {
+ if(!array_key_exists($k,$a2)) continue;
+ if(is_array($v) && is_array($a2[$k])){
+ $a1[$k] = array_overlay($v,$a2[$k]);
+ }else{
+ $a1[$k] = $a2[$k];
}
- } else {
- $a[$k] = $v;
}
+ return $a1;
}
- return $a;
-}
?>
OpenPOWER on IntegriCloud