Skip to content

Commit 9adcf58

Browse files
committed
Added: FS#687 - Add a replication and mirroring mode for server settings
1 parent f2ea1ac commit 9adcf58

22 files changed

+155
-95
lines changed

interface/web/admin/form/server.tform.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,12 @@
102102
'default' => '0',
103103
'value' => array(0 => 0,1 => 1)
104104
),
105+
'mirror_server_id' => array (
106+
'datatype' => 'INTEGER',
107+
'formtype' => 'TEXT',
108+
'default' => '',
109+
'value' => ''
110+
),
105111
/*
106112
'update' => array (
107113
'datatype' => 'INTEGER',
Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
1-
<?php
2-
$wb["config_txt"] = 'config';
3-
$wb["server_name_txt"] = 'Servername';
4-
$wb["mail_server_txt"] = 'Mailserver';
5-
$wb["web_server_txt"] = 'Webserver';
6-
$wb["dns_server_txt"] = 'DNS-Server';
7-
$wb["file_server_txt"] = 'Fileserver';
8-
$wb["db_server_txt"] = 'DB-Server';
9-
$wb["vserver_server_txt"] = 'VServer-Server';
10-
$wb["active_txt"] = 'Active';
1+
<?php
2+
$wb["config_txt"] = 'config';
3+
$wb["server_name_txt"] = 'Servername';
4+
$wb["mail_server_txt"] = 'Mailserver';
5+
$wb["web_server_txt"] = 'Webserver';
6+
$wb["dns_server_txt"] = 'DNS-Server';
7+
$wb["file_server_txt"] = 'Fileserver';
8+
$wb["db_server_txt"] = 'DB-Server';
9+
$wb["vserver_server_txt"] = 'VServer-Server';
10+
$wb["active_txt"] = 'Active';
11+
$wb["mirror_server_id_txt"] = 'Is mirror of Server';
12+
$wb["- None -"] = '- None -';
1113
?>

interface/web/admin/server_edit.php

Lines changed: 35 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,41 @@
4646

4747
// Loading classes
4848
$app->uses('tpl,tform,tform_actions');
49+
$app->load('tform_actions');
4950

50-
// let tform_actions handle the page
51-
$app->tform_actions->onLoad();
51+
class page_action extends tform_actions {
52+
53+
function onShowEnd() {
54+
global $app, $conf;
55+
56+
// Getting Servers
57+
$sql = "SELECT server_id,server_name FROM server WHERE 1 ORDER BY server_name";
58+
$mirror_servers = $app->db->queryAllRecords($sql);
59+
$mirror_server_select = '<option value="0">'.$app->tform->lng('- None -').'</option>';
60+
if(is_array($mirror_servers)) {
61+
foreach( $mirror_servers as $mirror_server) {
62+
$selected = ($mirror_server["server_id"] == $this->dataRecord['mirror_server_id'])?'SELECTED':'';
63+
$mirror_server_select .= "<option value='$mirror_server[server_id]' $selected>$mirror_server[server_name]</option>\r\n";
64+
}
65+
}
66+
$app->tpl->setVar("mirror_server_id",$mirror_server_select);
67+
68+
parent::onShowEnd();
69+
}
70+
71+
function onSubmit() {
72+
global $app;
73+
74+
//* We do not want to mirror the the server itself
75+
if($this->id == $this->dataRecord['mirror_server_id']) $this->dataRecord['mirror_server_id'] = 0;
76+
77+
parent::onSubmit();
78+
79+
}
80+
81+
}
82+
83+
$page = new page_action;
84+
$page->onLoad();
5285

5386
?>
Lines changed: 70 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -1,64 +1,70 @@
1-
<h2><tmpl_var name="list_head_txt"></h2>
2-
<p><tmpl_var name="list_desc_txt"></p>
3-
4-
<div class="panel panel_server">
5-
6-
<div class="pnl_formsarea">
7-
<fieldset class="inlineLabels">
8-
<div class="ctrlHolder">
9-
<label for="server_name">{tmpl_var name='server_name_txt'}</label>
10-
<input name="server_name" id="server_name" value="{tmpl_var name='server_name'}" size="30" maxlength="255" type="text" class="textInput" />
11-
</div>
12-
<div class="ctrlHolder">
13-
<p class="label">{tmpl_var name='mail_server_txt'}</p>
14-
<div class="multiField">
15-
{tmpl_var name='mail_server'}
16-
</div>
17-
</div>
18-
<div class="ctrlHolder">
19-
<p class="label">{tmpl_var name='web_server_txt'}</p>
20-
<div class="multiField">
21-
{tmpl_var name='web_server'}
22-
</div>
23-
</div>
24-
<div class="ctrlHolder">
25-
<p class="label">{tmpl_var name='dns_server_txt'}</p>
26-
<div class="multiField">
27-
{tmpl_var name='dns_server'}
28-
</div>
29-
</div>
30-
<div class="ctrlHolder">
31-
<p class="label">{tmpl_var name='file_server_txt'}</p>
32-
<div class="multiField">
33-
{tmpl_var name='file_server'}
34-
</div>
35-
</div>
36-
<div class="ctrlHolder">
37-
<p class="label">{tmpl_var name='db_server_txt'}</p>
38-
<div class="multiField">
39-
{tmpl_var name='db_server'}
40-
</div>
41-
</div>
42-
<div class="ctrlHolder">
43-
<p class="label">{tmpl_var name='vserver_server_txt'}</p>
44-
<div class="multiField">
45-
{tmpl_var name='vserver_server'}
46-
</div>
47-
</div>
48-
<div class="ctrlHolder">
49-
<label for="active">{tmpl_var name='active_txt'}</label>
50-
<select name="active" id="active" class="selectInput formLengthBool">
51-
{tmpl_var name='active'}
52-
</select>
53-
</div>
54-
</fieldset>
55-
56-
<input type="hidden" name="id" value="{tmpl_var name='id'}">
57-
58-
<div class="buttonHolder buttons">
59-
<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>
60-
<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>
61-
</div>
62-
</div>
63-
64-
</div>
1+
<h2><tmpl_var name="list_head_txt"></h2>
2+
<p><tmpl_var name="list_desc_txt"></p>
3+
4+
<div class="panel panel_server">
5+
6+
<div class="pnl_formsarea">
7+
<fieldset class="inlineLabels">
8+
<div class="ctrlHolder">
9+
<label for="server_name">{tmpl_var name='server_name_txt'}</label>
10+
<input name="server_name" id="server_name" value="{tmpl_var name='server_name'}" size="30" maxlength="255" type="text" class="textInput" />
11+
</div>
12+
<div class="ctrlHolder">
13+
<p class="label">{tmpl_var name='mail_server_txt'}</p>
14+
<div class="multiField">
15+
{tmpl_var name='mail_server'}
16+
</div>
17+
</div>
18+
<div class="ctrlHolder">
19+
<p class="label">{tmpl_var name='web_server_txt'}</p>
20+
<div class="multiField">
21+
{tmpl_var name='web_server'}
22+
</div>
23+
</div>
24+
<div class="ctrlHolder">
25+
<p class="label">{tmpl_var name='dns_server_txt'}</p>
26+
<div class="multiField">
27+
{tmpl_var name='dns_server'}
28+
</div>
29+
</div>
30+
<div class="ctrlHolder">
31+
<p class="label">{tmpl_var name='file_server_txt'}</p>
32+
<div class="multiField">
33+
{tmpl_var name='file_server'}
34+
</div>
35+
</div>
36+
<div class="ctrlHolder">
37+
<p class="label">{tmpl_var name='db_server_txt'}</p>
38+
<div class="multiField">
39+
{tmpl_var name='db_server'}
40+
</div>
41+
</div>
42+
<div class="ctrlHolder">
43+
<p class="label">{tmpl_var name='vserver_server_txt'}</p>
44+
<div class="multiField">
45+
{tmpl_var name='vserver_server'}
46+
</div>
47+
</div>
48+
<div class="ctrlHolder">
49+
<label for="mirror_server_id">{tmpl_var name='mirror_server_id_txt'}</label>
50+
<select name="mirror_server_id" id="server_id" class="selectInput">
51+
{tmpl_var name='mirror_server_id'}
52+
</select>
53+
</div>
54+
<div class="ctrlHolder">
55+
<label for="active">{tmpl_var name='active_txt'}</label>
56+
<select name="active" id="active" class="selectInput formLengthBool">
57+
{tmpl_var name='active'}
58+
</select>
59+
</div>
60+
</fieldset>
61+
62+
<input type="hidden" name="id" value="{tmpl_var name='id'}">
63+
64+
<div class="buttonHolder buttons">
65+
<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>
66+
<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>
67+
</div>
68+
</div>
69+
70+
</div>

interface/web/dns/form/dns_soa.tform.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@
6262
'datatype' => 'INTEGER',
6363
'formtype' => 'SELECT',
6464
'datasource' => array ( 'type' => 'SQL',
65-
'querystring' => 'SELECT server_id,server_name FROM server WHERE dns_server = 1 AND {AUTHSQL} ORDER BY server_name',
65+
'querystring' => 'SELECT server_id,server_name FROM server WHERE mirror_server_id = 0 AND dns_server = 1 AND {AUTHSQL} ORDER BY server_name',
6666
'keyfield'=> 'server_id',
6767
'valuefield'=> 'server_name'
6868
),

interface/web/mail/form/mail_blacklist.tform.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@
6363
'formtype' => 'SELECT',
6464
'default' => '',
6565
'datasource' => array ( 'type' => 'SQL',
66-
'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} ORDER BY server_name',
66+
'querystring' => 'SELECT server_id,server_name FROM server WHERE mirror_server_id = 0 AND {AUTHSQL} ORDER BY server_name',
6767
'keyfield'=> 'server_id',
6868
'valuefield'=> 'server_name'
6969
),

interface/web/mail/form/mail_content_filter.tform.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@
6363
'formtype' => 'SELECT',
6464
'default' => '',
6565
'datasource' => array ( 'type' => 'SQL',
66-
'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} ORDER BY server_name',
66+
'querystring' => 'SELECT server_id,server_name FROM server WHERE mirror_server_id = 0 AND {AUTHSQL} ORDER BY server_name',
6767
'keyfield'=> 'server_id',
6868
'valuefield'=> 'server_name'
6969
),

interface/web/mail/form/mail_domain.tform.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@
6363
'formtype' => 'SELECT',
6464
'default' => '',
6565
'datasource' => array ( 'type' => 'SQL',
66-
'querystring' => 'SELECT server_id,server_name FROM server WHERE mail_server = 1 AND {AUTHSQL} ORDER BY server_name',
66+
'querystring' => 'SELECT server_id,server_name FROM server WHERE mail_server = 1 AND mirror_server_id = 0 AND {AUTHSQL} ORDER BY server_name',
6767
'keyfield'=> 'server_id',
6868
'valuefield'=> 'server_name'
6969
),

interface/web/mail/form/mail_get.tform.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@
6363
'formtype' => 'SELECT',
6464
'default' => '',
6565
'datasource' => array ( 'type' => 'SQL',
66-
'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} ORDER BY server_name',
66+
'querystring' => 'SELECT server_id,server_name FROM server WHERE mirror_server_id = 0 AND {AUTHSQL} ORDER BY server_name',
6767
'keyfield'=> 'server_id',
6868
'valuefield'=> 'server_name'
6969
),

interface/web/mail/form/mail_transport.tform.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@
6363
'formtype' => 'SELECT',
6464
'default' => '',
6565
'datasource' => array ( 'type' => 'SQL',
66-
'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} ORDER BY server_name',
66+
'querystring' => 'SELECT server_id,server_name FROM server WHERE mirror_server_id = 0 AND {AUTHSQL} ORDER BY server_name',
6767
'keyfield'=> 'server_id',
6868
'valuefield'=> 'server_name'
6969
),

0 commit comments

Comments
 (0)