From 4b3b17b57c5cc3be266642caeb6a9a7ea438caf1 Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Wed, 03 Feb 2010 11:37:11 -0500
Subject: [PATCH] Fixed: FS#1054 - System Config issues

---
 server/lib/classes/modules.inc.php |   15 +++++++++++----
 1 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/server/lib/classes/modules.inc.php b/server/lib/classes/modules.inc.php
index e84595f..fd8e473 100644
--- a/server/lib/classes/modules.inc.php
+++ b/server/lib/classes/modules.inc.php
@@ -84,7 +84,12 @@
 		
 		//* If its a multiserver setup
 		if($app->db->dbHost != $app->dbmaster->dbHost) {
-			$sql = "SELECT * FROM sys_datalog WHERE datalog_id > ".$conf['last_datalog_id']." AND (server_id = ".$conf["server_id"]." OR server_id = 0) ORDER BY datalog_id";
+			if($conf["mirror_server_id"] > 0) {
+				$sql = "SELECT * FROM sys_datalog WHERE datalog_id > ".$conf['last_datalog_id']." AND (server_id = ".$conf["server_id"]." OR server_id = ".$conf["mirror_server_id"]." OR server_id = 0) ORDER BY datalog_id";
+			} else {
+				$sql = "SELECT * FROM sys_datalog WHERE datalog_id > ".$conf['last_datalog_id']." AND (server_id = ".$conf["server_id"]." OR server_id = 0) ORDER BY datalog_id";
+			}
+			
 			$records = $app->dbmaster->queryAllRecords($sql);
 			foreach($records as $d) {
 				
@@ -111,17 +116,19 @@
 						$tmp_sql2 = '';
 						foreach($data['new'] as $fieldname => $val) {
 							$tmp_sql1 .= "`$fieldname`,";
-							$tmp_sql2 .= "'$val',";
+							$tmp_sql2 .= "'".$app->db->quote($val)."',";
 						}
 						$tmp_sql1 = substr($tmp_sql1,0,-1);
 						$tmp_sql2 = substr($tmp_sql2,0,-1);
 						//$tmp_sql1 .= "$idx[0]";
 						//$tmp_sql2 .= "$idx[1]";
 						$sql = "REPLACE INTO $d[dbtable] ($tmp_sql1) VALUES ($tmp_sql2)";
+						$app->db->errorNumber = 0;
+						$app->db->errorMessage = '';
 						$app->db->query($sql);
 						if($app->db->errorNumber > 0) {
 							$replication_error = true;
-							$app->log("Replication failed. Error: (" . $d[dbtable] . ") " . $app->db->errorMessage . " # SQL: " . $sql,LOGLEVEL_ERROR);
+							$app->log("Replication failed. Error: (" . $d[dbtable] . ") in mysql server: (".$app->db->dbHost.") " . $app->db->errorMessage . " # SQL: " . $sql,LOGLEVEL_ERROR);
 						}
 						$app->log("Replicated from master: ".$sql,LOGLEVEL_DEBUG);
 					}
@@ -170,7 +177,7 @@
 						return;
 					}
 				} else {
-					$app->log("Datalog does not conatin any changes for this record ".$d["datalog_id"],LOGLEVEL_DEBUG);
+					$app->log("Datalog does not contain any changes for this record ".$d["datalog_id"],LOGLEVEL_DEBUG);
 				}
 			}
 			

--
Gitblit v1.9.1