From f3a56aaf455672e195a97b2666386aa4748acc40 Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Tue, 16 Dec 2008 17:38:35 -0500
Subject: [PATCH] Fixed: username in sys_user table gets not updated when the username in client form is changed.

---
 interface/web/client/client_edit.php        |    2 +-
 interface/lib/classes/tform_actions.inc.php |    4 ++--
 interface/lib/classes/tform.inc.php         |   11 ++++++++---
 3 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/interface/lib/classes/tform.inc.php b/interface/lib/classes/tform.inc.php
index 1a1177c..308c6c0 100644
--- a/interface/lib/classes/tform.inc.php
+++ b/interface/lib/classes/tform.inc.php
@@ -906,8 +906,8 @@
                         $escape = '`';
                 }
 
-                $diffrec = array();
-				
+                $this->diffrec = array();
+				/*
                 if(is_array($record_new) && count($record_new) > 0) {
                         foreach($record_new as $key => $val) {
                                 if(@$record_old[$key] != $val) {
@@ -926,7 +926,7 @@
                         }
                 }
 				$this->diffrec = $diffrec;
-				
+				*/
 				
 				// Full diff records for ISPConfig, they have a different format then the simple diffrec
 				$diffrec_full = array();
@@ -938,6 +938,8 @@
                                     // Record has changed
 									$diffrec_full['old'][$key] = $val;
 									$diffrec_full['new'][$key] = $record_new[$key];
+									$this->diffrec[$key] = array(	'new' => $record_new[$key],
+                                                               		'old' => $val);
                                 } else {
 									$diffrec_full['old'][$key] = $val;
 									$diffrec_full['new'][$key] = $val;
@@ -949,6 +951,8 @@
                                     // Record has changed
 									$diffrec_full['new'][$key] = $val;
 									$diffrec_full['old'][$key] = $record_old[$key];
+									$this->diffrec[$key] = array(	'old' => @$record_old[$key],
+                                                               		'new' => $val);
                                 } else {
 									$diffrec_full['new'][$key] = $val;
 									$diffrec_full['old'][$key] = $val;
@@ -956,6 +960,7 @@
                         }
                 }
 				
+				//$this->diffrec = $diffrec;
 				// 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"];
diff --git a/interface/lib/classes/tform_actions.inc.php b/interface/lib/classes/tform_actions.inc.php
index cc86f40..c779865 100644
--- a/interface/lib/classes/tform_actions.inc.php
+++ b/interface/lib/classes/tform_actions.inc.php
@@ -114,8 +114,8 @@
                         foreach($this->plugins as $plugin) {
                                 $plugin->onInsert();
                         }
-
-                        $this->onAfterUpdate();
+						
+						$this->onAfterUpdate();
 						
 						// Write data history (sys_datalog)
 						if($app->tform->formDef['db_history'] == 'yes') {
diff --git a/interface/web/client/client_edit.php b/interface/web/client/client_edit.php
index a35b663..b8f111b 100644
--- a/interface/web/client/client_edit.php
+++ b/interface/web/client/client_edit.php
@@ -132,7 +132,7 @@
 		global $app;
 		
 		// username changed
-		if(isset($app->tform->diffrec['username'])) {
+		if($this->oldDataRecord['username'] != $this->dataRecord['username']) {
 			$username = mysql_real_escape_string($this->dataRecord["username"]);
 			$client_id = $this->id;
 			$sql = "UPDATE sys_user SET username = '$username' WHERE client_id = $client_id";

--
Gitblit v1.9.1