From 9adcf583066a327f7386f80aa2e52638522c1c96 Mon Sep 17 00:00:00 2001 From: tbrehm <t.brehm@ispconfig.org> Date: Tue, 27 Oct 2009 13:17:11 -0400 Subject: [PATCH] Added: FS#687 - Add a replication and mirroring mode for server settings --- interface/web/sites/form/ftp_user.tform.php | 2 interface/web/dns/form/dns_soa.tform.php | 2 interface/web/mail/form/mail_transport.tform.php | 2 interface/web/admin/form/server.tform.php | 6 + interface/web/mail/form/mail_domain.tform.php | 2 interface/web/admin/templates/server_edit_services.htm | 134 ++++++++++++++------------ interface/web/sites/form/cron.tform.php | 2 interface/web/mail/form/mail_get.tform.php | 2 interface/web/mail/form/mail_blacklist.tform.php | 2 interface/web/mail/form/mail_content_filter.tform.php | 2 interface/web/sites/form/web_aliasdomain.tform.php | 2 server/lib/classes/modules.inc.php | 7 + interface/web/mail/form/spamfilter_whitelist.tform.php | 2 server/server.php | 12 ++ interface/web/mail/form/spamfilter_users.tform.php | 2 interface/web/sites/form/database.tform.php | 2 interface/web/admin/server_edit.php | 37 +++++++ interface/web/sites/form/shell_user.tform.php | 2 interface/web/sites/form/web_subdomain.tform.php | 2 interface/web/admin/lib/lang/en_server.lng | 22 ++-- interface/web/mail/form/spamfilter_blacklist.tform.php | 2 interface/web/sites/form/web_domain.tform.php | 2 22 files changed, 155 insertions(+), 95 deletions(-) diff --git a/interface/web/admin/form/server.tform.php b/interface/web/admin/form/server.tform.php index 87b1c18..20947c8 100644 --- a/interface/web/admin/form/server.tform.php +++ b/interface/web/admin/form/server.tform.php @@ -102,6 +102,12 @@ 'default' => '0', 'value' => array(0 => 0,1 => 1) ), + 'mirror_server_id' => array ( + 'datatype' => 'INTEGER', + 'formtype' => 'TEXT', + 'default' => '', + 'value' => '' + ), /* 'update' => array ( 'datatype' => 'INTEGER', diff --git a/interface/web/admin/lib/lang/en_server.lng b/interface/web/admin/lib/lang/en_server.lng index dcd498b..dcd46c5 100644 --- a/interface/web/admin/lib/lang/en_server.lng +++ b/interface/web/admin/lib/lang/en_server.lng @@ -1,11 +1,13 @@ -<?php -$wb["config_txt"] = 'config'; -$wb["server_name_txt"] = 'Servername'; -$wb["mail_server_txt"] = 'Mailserver'; -$wb["web_server_txt"] = 'Webserver'; -$wb["dns_server_txt"] = 'DNS-Server'; -$wb["file_server_txt"] = 'Fileserver'; -$wb["db_server_txt"] = 'DB-Server'; -$wb["vserver_server_txt"] = 'VServer-Server'; -$wb["active_txt"] = 'Active'; +<?php +$wb["config_txt"] = 'config'; +$wb["server_name_txt"] = 'Servername'; +$wb["mail_server_txt"] = 'Mailserver'; +$wb["web_server_txt"] = 'Webserver'; +$wb["dns_server_txt"] = 'DNS-Server'; +$wb["file_server_txt"] = 'Fileserver'; +$wb["db_server_txt"] = 'DB-Server'; +$wb["vserver_server_txt"] = 'VServer-Server'; +$wb["active_txt"] = 'Active'; +$wb["mirror_server_id_txt"] = 'Is mirror of Server'; +$wb["- None -"] = '- None -'; ?> \ No newline at end of file diff --git a/interface/web/admin/server_edit.php b/interface/web/admin/server_edit.php index ea8dd89..a132af2 100644 --- a/interface/web/admin/server_edit.php +++ b/interface/web/admin/server_edit.php @@ -46,8 +46,41 @@ // Loading classes $app->uses('tpl,tform,tform_actions'); +$app->load('tform_actions'); -// let tform_actions handle the page -$app->tform_actions->onLoad(); +class page_action extends tform_actions { + + function onShowEnd() { + global $app, $conf; + + // Getting Servers + $sql = "SELECT server_id,server_name FROM server WHERE 1 ORDER BY server_name"; + $mirror_servers = $app->db->queryAllRecords($sql); + $mirror_server_select = '<option value="0">'.$app->tform->lng('- None -').'</option>'; + if(is_array($mirror_servers)) { + foreach( $mirror_servers as $mirror_server) { + $selected = ($mirror_server["server_id"] == $this->dataRecord['mirror_server_id'])?'SELECTED':''; + $mirror_server_select .= "<option value='$mirror_server[server_id]' $selected>$mirror_server[server_name]</option>\r\n"; + } + } + $app->tpl->setVar("mirror_server_id",$mirror_server_select); + + parent::onShowEnd(); + } + + function onSubmit() { + global $app; + + //* We do not want to mirror the the server itself + if($this->id == $this->dataRecord['mirror_server_id']) $this->dataRecord['mirror_server_id'] = 0; + + parent::onSubmit(); + + } + +} + +$page = new page_action; +$page->onLoad(); ?> \ No newline at end of file diff --git a/interface/web/admin/templates/server_edit_services.htm b/interface/web/admin/templates/server_edit_services.htm index c5a3be6..8eca290 100644 --- a/interface/web/admin/templates/server_edit_services.htm +++ b/interface/web/admin/templates/server_edit_services.htm @@ -1,64 +1,70 @@ -<h2><tmpl_var name="list_head_txt"></h2> -<p><tmpl_var name="list_desc_txt"></p> - -<div class="panel panel_server"> - - <div class="pnl_formsarea"> - <fieldset class="inlineLabels"> - <div class="ctrlHolder"> - <label for="server_name">{tmpl_var name='server_name_txt'}</label> - <input name="server_name" id="server_name" value="{tmpl_var name='server_name'}" size="30" maxlength="255" type="text" class="textInput" /> - </div> - <div class="ctrlHolder"> - <p class="label">{tmpl_var name='mail_server_txt'}</p> - <div class="multiField"> - {tmpl_var name='mail_server'} - </div> - </div> - <div class="ctrlHolder"> - <p class="label">{tmpl_var name='web_server_txt'}</p> - <div class="multiField"> - {tmpl_var name='web_server'} - </div> - </div> - <div class="ctrlHolder"> - <p class="label">{tmpl_var name='dns_server_txt'}</p> - <div class="multiField"> - {tmpl_var name='dns_server'} - </div> - </div> - <div class="ctrlHolder"> - <p class="label">{tmpl_var name='file_server_txt'}</p> - <div class="multiField"> - {tmpl_var name='file_server'} - </div> - </div> - <div class="ctrlHolder"> - <p class="label">{tmpl_var name='db_server_txt'}</p> - <div class="multiField"> - {tmpl_var name='db_server'} - </div> - </div> - <div class="ctrlHolder"> - <p class="label">{tmpl_var name='vserver_server_txt'}</p> - <div class="multiField"> - {tmpl_var name='vserver_server'} - </div> - </div> - <div class="ctrlHolder"> - <label for="active">{tmpl_var name='active_txt'}</label> - <select name="active" id="active" class="selectInput formLengthBool"> - {tmpl_var name='active'} - </select> - </div> - </fieldset> - - <input type="hidden" name="id" value="{tmpl_var name='id'}"> - - <div class="buttonHolder buttons"> - <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/server_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button> - <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('admin/server_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button> - </div> - </div> - -</div> +<h2><tmpl_var name="list_head_txt"></h2> +<p><tmpl_var name="list_desc_txt"></p> + +<div class="panel panel_server"> + + <div class="pnl_formsarea"> + <fieldset class="inlineLabels"> + <div class="ctrlHolder"> + <label for="server_name">{tmpl_var name='server_name_txt'}</label> + <input name="server_name" id="server_name" value="{tmpl_var name='server_name'}" size="30" maxlength="255" type="text" class="textInput" /> + </div> + <div class="ctrlHolder"> + <p class="label">{tmpl_var name='mail_server_txt'}</p> + <div class="multiField"> + {tmpl_var name='mail_server'} + </div> + </div> + <div class="ctrlHolder"> + <p class="label">{tmpl_var name='web_server_txt'}</p> + <div class="multiField"> + {tmpl_var name='web_server'} + </div> + </div> + <div class="ctrlHolder"> + <p class="label">{tmpl_var name='dns_server_txt'}</p> + <div class="multiField"> + {tmpl_var name='dns_server'} + </div> + </div> + <div class="ctrlHolder"> + <p class="label">{tmpl_var name='file_server_txt'}</p> + <div class="multiField"> + {tmpl_var name='file_server'} + </div> + </div> + <div class="ctrlHolder"> + <p class="label">{tmpl_var name='db_server_txt'}</p> + <div class="multiField"> + {tmpl_var name='db_server'} + </div> + </div> + <div class="ctrlHolder"> + <p class="label">{tmpl_var name='vserver_server_txt'}</p> + <div class="multiField"> + {tmpl_var name='vserver_server'} + </div> + </div> + <div class="ctrlHolder"> + <label for="mirror_server_id">{tmpl_var name='mirror_server_id_txt'}</label> + <select name="mirror_server_id" id="server_id" class="selectInput"> + {tmpl_var name='mirror_server_id'} + </select> + </div> + <div class="ctrlHolder"> + <label for="active">{tmpl_var name='active_txt'}</label> + <select name="active" id="active" class="selectInput formLengthBool"> + {tmpl_var name='active'} + </select> + </div> + </fieldset> + + <input type="hidden" name="id" value="{tmpl_var name='id'}"> + + <div class="buttonHolder buttons"> + <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/server_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button> + <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('admin/server_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button> + </div> + </div> + +</div> diff --git a/interface/web/dns/form/dns_soa.tform.php b/interface/web/dns/form/dns_soa.tform.php index 1a688ea..adbd628 100644 --- a/interface/web/dns/form/dns_soa.tform.php +++ b/interface/web/dns/form/dns_soa.tform.php @@ -62,7 +62,7 @@ 'datatype' => 'INTEGER', 'formtype' => 'SELECT', 'datasource' => array ( 'type' => 'SQL', - 'querystring' => 'SELECT server_id,server_name FROM server WHERE dns_server = 1 AND {AUTHSQL} ORDER BY server_name', + 'querystring' => 'SELECT server_id,server_name FROM server WHERE mirror_server_id = 0 AND dns_server = 1 AND {AUTHSQL} ORDER BY server_name', 'keyfield'=> 'server_id', 'valuefield'=> 'server_name' ), diff --git a/interface/web/mail/form/mail_blacklist.tform.php b/interface/web/mail/form/mail_blacklist.tform.php index a349680..df63f7f 100644 --- a/interface/web/mail/form/mail_blacklist.tform.php +++ b/interface/web/mail/form/mail_blacklist.tform.php @@ -63,7 +63,7 @@ 'formtype' => 'SELECT', 'default' => '', 'datasource' => array ( 'type' => 'SQL', - 'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} ORDER BY server_name', + 'querystring' => 'SELECT server_id,server_name FROM server WHERE mirror_server_id = 0 AND {AUTHSQL} ORDER BY server_name', 'keyfield'=> 'server_id', 'valuefield'=> 'server_name' ), diff --git a/interface/web/mail/form/mail_content_filter.tform.php b/interface/web/mail/form/mail_content_filter.tform.php index c41def6..a838e0a 100644 --- a/interface/web/mail/form/mail_content_filter.tform.php +++ b/interface/web/mail/form/mail_content_filter.tform.php @@ -63,7 +63,7 @@ 'formtype' => 'SELECT', 'default' => '', 'datasource' => array ( 'type' => 'SQL', - 'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} ORDER BY server_name', + 'querystring' => 'SELECT server_id,server_name FROM server WHERE mirror_server_id = 0 AND {AUTHSQL} ORDER BY server_name', 'keyfield'=> 'server_id', 'valuefield'=> 'server_name' ), diff --git a/interface/web/mail/form/mail_domain.tform.php b/interface/web/mail/form/mail_domain.tform.php index 69cc478..4ccd184 100644 --- a/interface/web/mail/form/mail_domain.tform.php +++ b/interface/web/mail/form/mail_domain.tform.php @@ -63,7 +63,7 @@ 'formtype' => 'SELECT', 'default' => '', 'datasource' => array ( 'type' => 'SQL', - 'querystring' => 'SELECT server_id,server_name FROM server WHERE mail_server = 1 AND {AUTHSQL} ORDER BY server_name', + 'querystring' => 'SELECT server_id,server_name FROM server WHERE mail_server = 1 AND mirror_server_id = 0 AND {AUTHSQL} ORDER BY server_name', 'keyfield'=> 'server_id', 'valuefield'=> 'server_name' ), diff --git a/interface/web/mail/form/mail_get.tform.php b/interface/web/mail/form/mail_get.tform.php index 3de9b10..634094d 100644 --- a/interface/web/mail/form/mail_get.tform.php +++ b/interface/web/mail/form/mail_get.tform.php @@ -63,7 +63,7 @@ 'formtype' => 'SELECT', 'default' => '', 'datasource' => array ( 'type' => 'SQL', - 'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} ORDER BY server_name', + 'querystring' => 'SELECT server_id,server_name FROM server WHERE mirror_server_id = 0 AND {AUTHSQL} ORDER BY server_name', 'keyfield'=> 'server_id', 'valuefield'=> 'server_name' ), diff --git a/interface/web/mail/form/mail_transport.tform.php b/interface/web/mail/form/mail_transport.tform.php index 12dbdac..4930099 100644 --- a/interface/web/mail/form/mail_transport.tform.php +++ b/interface/web/mail/form/mail_transport.tform.php @@ -63,7 +63,7 @@ 'formtype' => 'SELECT', 'default' => '', 'datasource' => array ( 'type' => 'SQL', - 'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} ORDER BY server_name', + 'querystring' => 'SELECT server_id,server_name FROM server WHERE mirror_server_id = 0 AND {AUTHSQL} ORDER BY server_name', 'keyfield'=> 'server_id', 'valuefield'=> 'server_name' ), diff --git a/interface/web/mail/form/spamfilter_blacklist.tform.php b/interface/web/mail/form/spamfilter_blacklist.tform.php index af22089..a51addb 100644 --- a/interface/web/mail/form/spamfilter_blacklist.tform.php +++ b/interface/web/mail/form/spamfilter_blacklist.tform.php @@ -63,7 +63,7 @@ 'formtype' => 'SELECT', 'default' => '', 'datasource' => array ( 'type' => 'SQL', - 'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} ORDER BY server_name', + 'querystring' => 'SELECT server_id,server_name FROM server WHERE mirror_server_id = 0 AND {AUTHSQL} ORDER BY server_name', 'keyfield'=> 'server_id', 'valuefield'=> 'server_name' ), diff --git a/interface/web/mail/form/spamfilter_users.tform.php b/interface/web/mail/form/spamfilter_users.tform.php index fd9e456..c3fd0fd 100644 --- a/interface/web/mail/form/spamfilter_users.tform.php +++ b/interface/web/mail/form/spamfilter_users.tform.php @@ -63,7 +63,7 @@ 'formtype' => 'SELECT', 'default' => '', 'datasource' => array ( 'type' => 'SQL', - 'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} ORDER BY server_name', + 'querystring' => 'SELECT server_id,server_name FROM server WHERE mirror_server_id = 0 AND {AUTHSQL} ORDER BY server_name', 'keyfield'=> 'server_id', 'valuefield'=> 'server_name' ), diff --git a/interface/web/mail/form/spamfilter_whitelist.tform.php b/interface/web/mail/form/spamfilter_whitelist.tform.php index 0273419..4d476a7 100644 --- a/interface/web/mail/form/spamfilter_whitelist.tform.php +++ b/interface/web/mail/form/spamfilter_whitelist.tform.php @@ -63,7 +63,7 @@ 'formtype' => 'SELECT', 'default' => '', 'datasource' => array ( 'type' => 'SQL', - 'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} ORDER BY server_name', + 'querystring' => 'SELECT server_id,server_name FROM server WHERE mirror_server_id = 0 AND {AUTHSQL} ORDER BY server_name', 'keyfield'=> 'server_id', 'valuefield'=> 'server_name' ), diff --git a/interface/web/sites/form/cron.tform.php b/interface/web/sites/form/cron.tform.php index 4f9f8dd..fc63548 100644 --- a/interface/web/sites/form/cron.tform.php +++ b/interface/web/sites/form/cron.tform.php @@ -62,7 +62,7 @@ 'datatype' => 'INTEGER', 'formtype' => 'SELECT', 'datasource' => array ( 'type' => 'SQL', - 'querystring' => 'SELECT server_id,server_name FROM server WHERE web_server = 1 AND {AUTHSQL} ORDER BY server_name', + 'querystring' => 'SELECT server_id,server_name FROM server WHERE mirror_server_id = 0 AND web_server = 1 AND {AUTHSQL} ORDER BY server_name', 'keyfield'=> 'server_id', 'valuefield'=> 'server_name' ), diff --git a/interface/web/sites/form/database.tform.php b/interface/web/sites/form/database.tform.php index 3a7a947..be6998a 100644 --- a/interface/web/sites/form/database.tform.php +++ b/interface/web/sites/form/database.tform.php @@ -63,7 +63,7 @@ 'formtype' => 'SELECT', 'default' => '', 'datasource' => array ( 'type' => 'SQL', - 'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} AND db_server = 1 ORDER BY server_name', + 'querystring' => 'SELECT server_id,server_name FROM server WHERE mirror_server_id = 0 AND {AUTHSQL} AND db_server = 1 ORDER BY server_name', 'keyfield'=> 'server_id', 'valuefield'=> 'server_name' ), diff --git a/interface/web/sites/form/ftp_user.tform.php b/interface/web/sites/form/ftp_user.tform.php index add5c72..6077dee 100644 --- a/interface/web/sites/form/ftp_user.tform.php +++ b/interface/web/sites/form/ftp_user.tform.php @@ -63,7 +63,7 @@ 'formtype' => 'SELECT', 'default' => '', 'datasource' => array ( 'type' => 'SQL', - 'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} ORDER BY server_name', + 'querystring' => 'SELECT server_id,server_name FROM server WHERE mirror_server_id = 0 AND {AUTHSQL} ORDER BY server_name', 'keyfield'=> 'server_id', 'valuefield'=> 'server_name' ), diff --git a/interface/web/sites/form/shell_user.tform.php b/interface/web/sites/form/shell_user.tform.php index 0f692e3..0b009bb 100644 --- a/interface/web/sites/form/shell_user.tform.php +++ b/interface/web/sites/form/shell_user.tform.php @@ -63,7 +63,7 @@ 'formtype' => 'SELECT', 'default' => '', 'datasource' => array ( 'type' => 'SQL', - 'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} ORDER BY server_name', + 'querystring' => 'SELECT server_id,server_name FROM server WHERE mirror_server_id = 0 AND {AUTHSQL} ORDER BY server_name', 'keyfield'=> 'server_id', 'valuefield'=> 'server_name' ), diff --git a/interface/web/sites/form/web_aliasdomain.tform.php b/interface/web/sites/form/web_aliasdomain.tform.php index f69e16d..815a373 100644 --- a/interface/web/sites/form/web_aliasdomain.tform.php +++ b/interface/web/sites/form/web_aliasdomain.tform.php @@ -63,7 +63,7 @@ 'formtype' => 'SELECT', 'default' => '', 'datasource' => array ( 'type' => 'SQL', - 'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} ORDER BY server_name', + 'querystring' => 'SELECT server_id,server_name FROM server WHERE mirror_server_id = 0 AND {AUTHSQL} ORDER BY server_name', 'keyfield'=> 'server_id', 'valuefield'=> 'server_name' ), diff --git a/interface/web/sites/form/web_domain.tform.php b/interface/web/sites/form/web_domain.tform.php index eadc2d7..b1da593 100644 --- a/interface/web/sites/form/web_domain.tform.php +++ b/interface/web/sites/form/web_domain.tform.php @@ -72,7 +72,7 @@ 'formtype' => 'SELECT', 'default' => '', 'datasource' => array ( 'type' => 'SQL', - 'querystring' => 'SELECT server_id,server_name FROM server WHERE web_server = 1 AND {AUTHSQL} ORDER BY server_name', + 'querystring' => 'SELECT server_id,server_name FROM server WHERE mirror_server_id = 0 AND web_server = 1 AND {AUTHSQL} ORDER BY server_name', 'keyfield'=> 'server_id', 'valuefield'=> 'server_name' ), diff --git a/interface/web/sites/form/web_subdomain.tform.php b/interface/web/sites/form/web_subdomain.tform.php index 271e9a1..cc209ff 100644 --- a/interface/web/sites/form/web_subdomain.tform.php +++ b/interface/web/sites/form/web_subdomain.tform.php @@ -63,7 +63,7 @@ 'formtype' => 'SELECT', 'default' => '', 'datasource' => array ( 'type' => 'SQL', - 'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} ORDER BY server_name', + 'querystring' => 'SELECT server_id,server_name FROM server WHERE mirror_server_id = 0 AND {AUTHSQL} ORDER BY server_name', 'keyfield'=> 'server_id', 'valuefield'=> 'server_name' ), diff --git a/server/lib/classes/modules.inc.php b/server/lib/classes/modules.inc.php index 8df5b64..56fd408 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) { diff --git a/server/server.php b/server/server.php index 97604e2..61a809f 100644 --- a/server/server.php +++ b/server/server.php @@ -53,14 +53,17 @@ //* Load the server configuration if($app->dbmaster->connect()) { // get the dalaog_id of the last performed record - $server_db_record = $app->dbmaster->queryOneRecord("SELECT updated, config FROM server WHERE server_id = ".$conf["server_id"]); + $server_db_record = $app->dbmaster->queryOneRecord("SELECT * FROM server WHERE server_id = ".$conf["server_id"]); $conf['last_datalog_id'] = (int)$server_db_record['updated']; + $conf["mirror_server_id"] = (int)$server_db_record['mirror_server_id']; // Load the ini_parser $app->uses('ini_parser'); // Get server configuration $conf["serverconfig"] = $app->ini_parser->parse_ini_string(stripslashes($server_db_record["config"])); // Set the loglevel $conf["log_priority"] = intval($conf["serverconfig"]["server"]["loglevel"]); + + unset($server_db_record); } @@ -89,7 +92,12 @@ if($app->db->connect() && $app->dbmaster->connect()) { // Check if there is anything to update - $tmp_rec = $app->dbmaster->queryOneRecord("SELECT count(server_id) as number from sys_datalog WHERE datalog_id > ".$conf['last_datalog_id']." AND (server_id = ".$conf["server_id"]." OR server_id = 0)"); + if($conf["mirror_server_id"] > 0) { + $tmp_rec = $app->dbmaster->queryOneRecord("SELECT count(server_id) as number 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)"); + } else { + $tmp_rec = $app->dbmaster->queryOneRecord("SELECT count(server_id) as number from sys_datalog WHERE datalog_id > ".$conf['last_datalog_id']." AND (server_id = ".$conf["server_id"]." OR server_id = 0)"); + } + $tmp_num_records = $tmp_rec["number"]; unset($tmp_rec); -- Gitblit v1.9.1