From e81dd4211576a0ebf212c8a9523fd49c26b2ab46 Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Tue, 13 Feb 2018 09:21:42 -0700 Subject: [PATCH] Update database_transaction_edit.php --- .../database_transaction_edit.php | 127 +++++++++++++----- 1 file changed, 93 insertions(+), 34 deletions(-) diff --git a/app/database_transactions/database_transaction_edit.php b/app/database_transactions/database_transaction_edit.php index 0e95a04819..0351f92651 100644 --- a/app/database_transactions/database_transaction_edit.php +++ b/app/database_transactions/database_transaction_edit.php @@ -180,10 +180,7 @@ echo " ".$text['label-transaction_old']."\n"; echo "\n"; echo "\n"; - //echo " \n"; echo " \n"; - //echo "
\n"; - //echo $text['description-transaction_old']."\n"; echo "\n"; echo "\n"; @@ -192,10 +189,7 @@ echo " ".$text['label-transaction_new']."\n"; echo "\n"; echo "\n"; - //echo " \n"; echo " \n"; - //echo "
\n"; - //echo $text['description-transaction_new']."\n"; echo "\n"; echo "\n"; @@ -204,10 +198,7 @@ echo " ".$text['label-transaction_result']."\n"; echo "\n"; echo "\n"; - //echo " \n"; echo " \n"; - //echo "
\n"; - //echo $text['description-transaction_result']."\n"; echo "\n"; echo "\n"; echo ""; @@ -216,35 +207,36 @@ //define the array _difference function //this adds old and new values to the array function array_difference($array1, $array2) { - $difference = array(); + $array = array(); if (is_array($array1)) { foreach($array1 as $key => $value) { - if(is_array($array2[$key])) { - $difference[$key] = array_difference($array1[$key], $array2[$key]); + if (is_array($array2[$key])) { + $array[$key] = array_difference($array1[$key], $array2[$key]); } else { - $difference[$key]['old'] = $value; + $array[$key]['old'] = $value; } } } if (is_array($array2)) { foreach($array2 as $key => $value) { - if(is_array($value)) { - $difference[$key] = array_difference($array1[$key], $array2[$key]); + if (is_array($value)) { + $array[$key] = array_difference($array1[$key], $array2[$key]); } else { - $difference[$key]['new'] = $value; + $array[$key]['new'] = $value; } } } - return $difference; + return $array; } //show the content from the difference array as a list function show_difference($array) { + //loop through the array - foreach($array as $key => $value) { - if(is_array($value) && !isset($value['old']) && !isset($value['new'])) { + foreach ($array as $key => $value) { + if (is_array($value) && !isset($value['old']) && !isset($value['new'])) { if (!is_numeric($key)) { //get the table name $_SESSION['name'] = $key; @@ -269,7 +261,7 @@ $color = "#ff0000"; } //set the table header - if ($_SESSION['previous_name'] != $_SESSION['name'] || $_SESSION['previous_row'] != $_SESSION['row']) { + if ($_SESSION['previous_name'] !== $_SESSION['name'] || $_SESSION['previous_row'] !== $_SESSION['row']) { echo str_replace("name","".$_SESSION['name']."",$_SESSION['table_header']); //echo $_SESSION['table_header']; } @@ -277,14 +269,13 @@ $_SESSION['previous_row'] = $_SESSION['row']; //show the results echo "\n"; - //echo " ".$_SESSION['name']."\n"; - //echo " ".$_SESSION['row']."\n"; - echo " $key\n"; + echo " ".$key."\n"; echo " ".$old."\n"; echo " ".$new.""; echo "\n"; //echo "\n"; } + unset($key,$old,$new,$value); } } @@ -296,23 +287,91 @@ unset($_SESSION['previous_name']); unset($_SESSION['previous_row']); -//show the add or update +//show the add if ($transaction_type == "add") { - echo "
\n"; - echo "
\n";
-		print_r($after);
-		echo "		
\n"; + + //multiple dimensional array into a 2 dimensional array + if (is_array($after)) { + $x = 0; + foreach($after as $key => $value) { + $id = 0; + foreach($value as $row) { + $sub_id = 0; + foreach($row as $sub_key => $val) { + if (is_array($val)) { + foreach($val as $sub_row) { + foreach($sub_row as $k => $v) { + $array[$x]['schema'] = $sub_key; + $array[$x]['row'] = $sub_id; + $array[$x]['name'] = $k; + $array[$x]['value'] = htmlentities($v); + $x++; + } + $sub_id++; + } + } + else { + $array[$x]['schema'] = $key; + $array[$x]['row'] = $id; + $array[$x]['name'] = $sub_key; + $array[$x]['value'] = htmlentities($val); + $x++; + } + } + $id++; + } + } + } + + echo "\n"; + foreach($array as $row) { + if ($row['schema'] !== $previous_schema || $row['row'] !== $previous_row) { + echo "\n"; + echo "\n"; + echo " \n"; + echo " \n"; + echo "\n"; + } + echo "\n"; + //echo " \n"; + //echo " \n"; + echo " \n"; + echo " \n"; + echo "\n"; + + $previous_schema = $row['schema']; + $previous_row = $row['row']; + } + echo "
 
".$row['schema']."value
".$row['schema']."".$row['row']."".$row['name']."".$row['value']."
\n"; + + /* + if (is_array($after)) { + //create the table header + $array = array_difference(null, $after, 1); + $table_header = " \n"; + $table_header .= "\n"; + $table_header .= " name\n"; + $table_header .= "  \n"; + $table_header .= " new\n"; + $table_header .= "\n"; + $_SESSION['table_header'] = $table_header; + + //show the difference + echo "\n"; + show_difference($array); + echo "
\n"; + } + */ } -//show the add or update +//show the update if ($transaction_type == "update") { if (count($before) > 0 && count($after) > 0) { + //create the table header $array = array_difference($before, $after, 1); $table_header = " \n"; $table_header .= "\n"; - //$table_header .= " Table\n"; - //$table_header .= " Row\n"; $table_header .= " name\n"; $table_header .= " old\n"; $table_header .= " new\n"; @@ -320,7 +379,7 @@ $_SESSION['table_header'] = $table_header; //show the difference - echo "\n"; + echo "
\n"; show_difference($array); echo "
\n"; } @@ -330,9 +389,9 @@ if ($transaction_type == "delete") { //echo "

Record Deleted


\n"; echo "
\n"; - echo "
\n";
+		echo "
\n";
 		print_r($before);
-		echo "		
\n"; + echo "
\n"; } //add a few lines at the end