From a0fd5ab7b5412985324e970573ca22a27b3a94d3 Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Tue, 16 Apr 2013 05:56:06 -0400
Subject: [PATCH] - Merged revisions 3922-3958 from svn stable branch - Added backup size to web backups

---
 server/lib/classes/modules.inc.php |   27 ++++++++++++++++++---------
 1 files changed, 18 insertions(+), 9 deletions(-)

diff --git a/server/lib/classes/modules.inc.php b/server/lib/classes/modules.inc.php
index ef600bd..57ab22c 100644
--- a/server/lib/classes/modules.inc.php
+++ b/server/lib/classes/modules.inc.php
@@ -83,11 +83,11 @@
 		global $app,$conf;
 		
 		//* If its a multiserver setup
-		if($app->db->dbHost != $app->dbmaster->dbHost) {
+		if($app->db->dbHost != $app->dbmaster->dbHost || ($app->db->dbHost == $app->dbmaster->dbHost && $app->db->dbName != $app->dbmaster->dbName)) {
 			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";
+				$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 LIMIT 0,1000";
 			} 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";
+				$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 LIMIT 0,1000";
 			}
 			
 			$records = $app->dbmaster->queryAllRecords($sql);
@@ -108,6 +108,7 @@
 				*/
 				
 				$replication_error = false;
+				$data['mirrored'] = false;
 				
 				$this->current_datalog_id = $d['datalog_id'];
 				
@@ -115,9 +116,16 @@
 				* If we are in a mirror setup, rewrite the server_id of records that originally 
 				* belonged to the mirrored server to the local server_id
 				*/
+				
 				if($conf['mirror_server_id'] > 0 && $d['dbtable'] != 'server') {
-					if(isset($data['new']['server_id']) && $data['new']['server_id'] == $conf['mirror_server_id']) $data['new']['server_id'] = $conf['server_id'];
-					if(isset($data['old']['server_id']) && $data['old']['server_id'] == $conf['mirror_server_id']) $data['old']['server_id'] = $conf['server_id'];
+					if(isset($data['new']['server_id']) && $data['new']['server_id'] == $conf['mirror_server_id']) {
+						$data['new']['server_id'] = $conf['server_id'];
+						$data['mirrored'] = true;
+					}
+					if(isset($data['old']['server_id']) && $data['old']['server_id'] == $conf['mirror_server_id']) {
+						$data['old']['server_id'] = $conf['server_id'];
+						$data['mirrored'] = true;
+					}
 				}
 				
 				if(count($data['new']) > 0) {
@@ -175,13 +183,11 @@
 				
 					if($replication_error == false) {
 						if(is_array($data['old']) || is_array($data['new'])) {
+							$app->db->query("UPDATE server SET updated = ".$d["datalog_id"]." WHERE server_id = ".$conf['server_id']);
 							$this->raiseTableHook($d['dbtable'],$d['action'],$data);
 						} else {
 							$app->log('Data array was empty for datalog_id '.$d['datalog_id'],LOGLEVEL_WARN);
 						}
-						//$this->raiseTableHook($d["dbtable"],$d["action"],$data);
-						//$app->dbmaster->query("DELETE FROM sys_datalog WHERE datalog_id = ".$d["datalog_id"]);
-						//$app->log("Deleting sys_datalog ID ".$d["datalog_id"],LOGLEVEL_DEBUG);
 						$app->dbmaster->query("UPDATE server SET updated = ".$d["datalog_id"]." WHERE server_id = ".$conf['server_id']);
 						$app->log('Processed datalog_id '.$d['datalog_id'],LOGLEVEL_DEBUG);
 					} else {
@@ -199,7 +205,7 @@
 			
 		//* if we have a single server setup
 		} 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";
+			$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 LIMIT 0,1000";
 			$records = $app->db->queryAllRecords($sql);
 			foreach($records as $d) {
 				
@@ -217,6 +223,9 @@
 				}
 				*/
 				
+				//* Data on a single server is never mirrored
+				$data['mirrored'] = false;
+				
 				$this->current_datalog_id = $d['datalog_id'];
 				if(is_array($data['old']) || is_array($data['new'])) {
 					$this->raiseTableHook($d['dbtable'],$d['action'],$data);

--
Gitblit v1.9.1