From 8b3ccf12b63df763bc1a603a8557d2670be7f02b Mon Sep 17 00:00:00 2001 From: Bill Marquette Date: Sun, 7 Aug 2005 16:17:10 +0000 Subject: Show differences in arrays in $changedesc --- usr/local/www/guiconfig.inc | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'usr/local') diff --git a/usr/local/www/guiconfig.inc b/usr/local/www/guiconfig.inc index e76deae..32f91b2 100755 --- a/usr/local/www/guiconfig.inc +++ b/usr/local/www/guiconfig.inc @@ -535,10 +535,24 @@ function dump_clog($logfile, $tail, $withorig = true, $grepfor = "", $grepinvert * new = new value */ function update_if_changed($varname, & $orig, $new) { - if ($orig != $new) { - update_changedesc("{$varname}: \"{$orig}\" -> \"{$new}\""); + if (is_array($orig) && is_array($new)) { + $a_diff = array_diff($orig, $new); + foreach ($a_diff as $diff) { + update_changedesc("removed {$varname}: \"{$diff}\""); + } + $a_diff = array_diff($new, $orig); + foreach ($a_diff as $diff) { + update_changedesc("added {$varname}: \"{$diff}\""); + } $orig = $new; return true; + + } else { + if ($orig != $new) { + update_changedesc("{$varname}: \"{$orig}\" -> \"{$new}\""); + $orig = $new; + return true; + } } return false; } -- cgit v1.1