cfoe
2012-08-07 2e8df115016d0d1c34fd526776930e949df1b5e6
server/lib/classes/modules.inc.php
@@ -83,7 +83,7 @@
      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";
         } else {
@@ -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) {
@@ -217,6 +225,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);