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