From 74829e1a721252733980d16ae69153e2ec6f6ec3 Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Tue, 19 Jan 2010 10:11:32 -0500
Subject: [PATCH] Fixed: FS#838 - DNS serial is updated by viewing records. Changed: removed datalog update function in tform.inc.php and just left the stub function there for legacy support with a call to the new function in the db_mysql.inc.php.

---
 interface/lib/classes/db_mysql.inc.php |   37 +++++++++++++++++++++++++------------
 1 files changed, 25 insertions(+), 12 deletions(-)

diff --git a/interface/lib/classes/db_mysql.inc.php b/interface/lib/classes/db_mysql.inc.php
index ed35b41..9c4871f 100644
--- a/interface/lib/classes/db_mysql.inc.php
+++ b/interface/lib/classes/db_mysql.inc.php
@@ -217,23 +217,14 @@
     }
 	*/
 	
-	//** Function to fill the datalog with a full differential record.
-	public function datalogSave($db_table, $action, $primary_field, $primary_id, $record_old, $record_new) {
-		global $app,$conf;
-
-		// Insert backticks only for incomplete table names.
-		if(stristr($db_table,'.')) {
-			$escape = '';
-		} else {
-			$escape = '`';
-		}
-
+	public function diffrec($record_old, $record_new) {
 		$diffrec_full = array();
 		$diff_num = 0;
 
 		if(is_array($record_old) && count($record_old) > 0) {
 			foreach($record_old as $key => $val) {
-				if(!isset($record_new[$key]) || $record_new[$key] != $val) {
+				// if(!isset($record_new[$key]) || $record_new[$key] != $val) {
+				if($record_new[$key] != $val) {
 					// Record has changed
 					$diffrec_full['old'][$key] = $val;
 					$diffrec_full['new'][$key] = $record_new[$key];
@@ -257,12 +248,34 @@
 			}
 		}
 		
+		return array('diff_num' => $diff_num, 'diff_rec' => $diffrec_full);
+		
+	}
+	
+	//** Function to fill the datalog with a full differential record.
+	public function datalogSave($db_table, $action, $primary_field, $primary_id, $record_old, $record_new) {
+		global $app,$conf;
+
+		// Insert backticks only for incomplete table names.
+		if(stristr($db_table,'.')) {
+			$escape = '';
+		} else {
+			$escape = '`';
+		}
+
+		$tmp = $this->diffrec($record_old, $record_new);
+		$diffrec_full = $tmp['diff_rec'];
+		$diff_num = $tmp['diff_num'];
+		unset($tmp);
+		
 		// Insert the server_id, if the record has a server_id
 		$server_id = (isset($record_old["server_id"]) && $record_old["server_id"] > 0)?$record_old["server_id"]:0;
 		if(isset($record_new["server_id"])) $server_id = $record_new["server_id"];
 		
 
 		if($diff_num > 0) {
+			//print_r($diff_num);
+			//print_r($diffrec_full);
 			$diffstr = $app->db->quote(serialize($diffrec_full));
 			$username = $app->db->quote($_SESSION["s"]["user"]["username"]);
 			$dbidx = $primary_field.":".$primary_id;

--
Gitblit v1.9.1