From 41d7d170bc4673e9a4e89a49c191b414e38ef0d7 Mon Sep 17 00:00:00 2001
From: Sergio Cambra <sergio@programatica.es>
Date: Tue, 08 Jul 2014 08:00:01 -0400
Subject: [PATCH] default servers on system config for admin use
---
interface/web/admin/lib/lang/en_system_config.lng | 5 +
interface/web/sites/web_vhost_domain_edit.php | 3 +
interface/web/mail/mail_domain_edit.php | 3 +
interface/web/dns/dns_slave_edit.php | 3 +
interface/web/sites/database_edit.php | 3 +
interface/web/admin/lib/lang/es.lng | 2
interface/web/admin/templates/system_config_mail_edit.htm | 6 ++
interface/web/dns/dns_import.php | 3
interface/web/admin/form/system_config.tform.php | 69 +++++++++++++++++++++++
interface/web/admin/lib/lang/es_system_config.lng | 5 +
interface/web/dns/dns_wizard.php | 3
interface/web/admin/system_config_edit.php | 3 +
interface/web/dns/dns_soa_edit.php | 3 +
interface/web/admin/templates/system_config_sites_edit.htm | 12 ++++
interface/web/admin/lib/lang/en.lng | 4 +
15 files changed, 124 insertions(+), 3 deletions(-)
diff --git a/interface/web/admin/form/system_config.tform.php b/interface/web/admin/form/system_config.tform.php
index 2e08130..86ed19f 100644
--- a/interface/web/admin/form/system_config.tform.php
+++ b/interface/web/admin/form/system_config.tform.php
@@ -172,6 +172,28 @@
'default' => 'n',
'value' => array(0 => 'n', 1 => 'y')
),
+ 'default_webserver' => array (
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'SELECT',
+ 'default' => '1',
+ 'datasource' => array ( 'type' => 'CUSTOM',
+ 'class'=> 'custom_datasource',
+ 'function'=> 'client_servers'
+ ),
+ 'value' => '',
+ 'name' => 'default_webserver'
+ ),
+ 'default_dbserver' => array (
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'SELECT',
+ 'default' => '1',
+ 'datasource' => array ( 'type' => 'CUSTOM',
+ 'class'=> 'custom_datasource',
+ 'function'=> 'client_servers'
+ ),
+ 'value' => '',
+ 'name' => 'default_dbserver'
+ ),
//#################################
// ENDE Datatable fields
//#################################
@@ -321,6 +343,53 @@
'default' => '',
'value' => array('' => 'No', 'ssl' => 'SSL', 'tls' => 'STARTTLS')
),
+ 'default_mailserver' => array (
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'SELECT',
+ 'default' => '1',
+ 'datasource' => array ( 'type' => 'CUSTOM',
+ 'class'=> 'custom_datasource',
+ 'function'=> 'client_servers'
+ ),
+ 'value' => '',
+ 'name' => 'default_mailserver'
+ ),
+ //#################################
+ // ENDE Datatable fields
+ //#################################
+ )
+);
+
+$form["tabs"]['dns'] = array (
+ 'title' => "DNS",
+ 'width' => 70,
+ 'template' => "templates/system_config_dns_edit.htm",
+ 'fields' => array (
+ //#################################
+ // Begin Datatable fields
+ //#################################
+ 'default_dnsserver' => array (
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'SELECT',
+ 'default' => '1',
+ 'datasource' => array ( 'type' => 'CUSTOM',
+ 'class'=> 'custom_datasource',
+ 'function'=> 'client_servers'
+ ),
+ 'value' => '',
+ 'name' => 'default_dnsserver'
+ ),
+ 'default_slave_dnsserver' => array (
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'SELECT',
+ 'default' => '1',
+ 'datasource' => array ( 'type' => 'CUSTOM',
+ 'class'=> 'custom_datasource',
+ 'function'=> 'client_servers'
+ ),
+ 'value' => '',
+ 'name' => 'default_slave_dnsserver'
+ ),
//#################################
// ENDE Datatable fields
//#################################
diff --git a/interface/web/admin/lib/lang/en.lng b/interface/web/admin/lib/lang/en.lng
index d9cbc7f..0d075c1 100644
--- a/interface/web/admin/lib/lang/en.lng
+++ b/interface/web/admin/lib/lang/en.lng
@@ -41,6 +41,8 @@
$wb['Interface'] = 'Interface';
$wb['Interface Config'] = 'Main Config';
+ $wb['Sites'] = 'Sites';
+ $wb['DNS'] = 'DNS';
$wb['Domains'] = 'Domains';
$wb['Misc'] = 'Misc';
@@ -59,4 +61,4 @@
$wb['Remote Actions'] = 'Remote Actions';
$wb['Do OS-Update'] = 'Do OS-Update';
$wb['Do ISPConfig-Update'] = 'Do ISPConfig-Update';
-?>
\ No newline at end of file
+?>
diff --git a/interface/web/admin/lib/lang/en_system_config.lng b/interface/web/admin/lib/lang/en_system_config.lng
index 51131ef..3fa210f 100644
--- a/interface/web/admin/lib/lang/en_system_config.lng
+++ b/interface/web/admin/lib/lang/en_system_config.lng
@@ -73,4 +73,9 @@
$wb['No'] = 'No';
$wb['min_password_length_txt'] = 'Minimum password length';
$wb['min_password_strength_txt'] = 'Minimum password strength';
+$wb["default_mailserver_txt"] = 'Default Mailserver';
+$wb["default_webserver_txt"] = 'Default Webserver';
+$wb["default_dnsserver_txt"] = 'Default DNS Server';
+$wb["default_slave_dnsserver_txt"] = 'Default Secondary DNS Server';
+$wb["default_dbserver_txt"] = 'Default Database Server';
?>
diff --git a/interface/web/admin/lib/lang/es.lng b/interface/web/admin/lib/lang/es.lng
index 8e5b084..cd26b06 100644
--- a/interface/web/admin/lib/lang/es.lng
+++ b/interface/web/admin/lib/lang/es.lng
@@ -47,4 +47,6 @@
$wb['Interface'] = 'Interfaz';
$wb['Domains'] = 'Dominios';
$wb['Misc'] = 'Misc';
+$wb['Sites'] = 'Sitios';
+$wb['DNS'] = 'DNS';
?>
diff --git a/interface/web/admin/lib/lang/es_system_config.lng b/interface/web/admin/lib/lang/es_system_config.lng
index ec1cb69..503d844 100644
--- a/interface/web/admin/lib/lang/es_system_config.lng
+++ b/interface/web/admin/lib/lang/es_system_config.lng
@@ -70,4 +70,9 @@
$wb['min_password_strength_txt'] = 'Fortaleza de contraseña mínima';
$wb['Sites'] = 'Sitios';
$wb['System Config'] = 'Configuración de sistema';
+$wb['default_mailserver_txt'] = 'Servidor de correo por defecto';
+$wb['default_webserver_txt'] = 'Servidor web por defecto';
+$wb['default_dnsserver_txt'] = 'Servidor DNS por defecto';
+$wb['default_slave_dnsserver_txt'] = 'Servidor DNS secundario por defecto';
+$wb['default_dbserver_txt'] = 'Servidor de bases de datos por defecto';
?>
diff --git a/interface/web/admin/system_config_edit.php b/interface/web/admin/system_config_edit.php
index 3a2ac8e..a793a83 100644
--- a/interface/web/admin/system_config_edit.php
+++ b/interface/web/admin/system_config_edit.php
@@ -64,6 +64,9 @@
$server_id = $this->id;
$this->dataRecord = $app->getconf->get_global_config($section);
+ if (is_null($this->dataRecord)) {
+ $this->dataRecord = array();
+ }
if ($section == 'domains'){
if (isset($this->dataRecord['use_domain_module'])){
$_SESSION['use_domain_module_old_value'] = $this->dataRecord['use_domain_module'];
diff --git a/interface/web/admin/templates/system_config_mail_edit.htm b/interface/web/admin/templates/system_config_mail_edit.htm
index 98966fd..b231495 100644
--- a/interface/web/admin/templates/system_config_mail_edit.htm
+++ b/interface/web/admin/templates/system_config_mail_edit.htm
@@ -85,6 +85,12 @@
{tmpl_var name='smtp_crypt'}
</select>
</div>
+ <div class="ctrlHolder">
+ <label for="default_mailserver">{tmpl_var name='default_mailserver_txt'}</label>
+ <select name="default_mailserver" id="default_mailserver" class="selectInput">
+ {tmpl_var name='default_mailserver'}
+ </select>
+ </div>
</fieldset>
<input type="hidden" name="id" value="{tmpl_var name='id'}">
diff --git a/interface/web/admin/templates/system_config_sites_edit.htm b/interface/web/admin/templates/system_config_sites_edit.htm
index f98493e..7811b17 100644
--- a/interface/web/admin/templates/system_config_sites_edit.htm
+++ b/interface/web/admin/templates/system_config_sites_edit.htm
@@ -63,6 +63,18 @@
{tmpl_var name='reseller_can_use_options'}
</div>
</div>
+ <div class="ctrlHolder">
+ <label for="default_webserver">{tmpl_var name='default_webserver_txt'}</label>
+ <select name="default_webserver" id="default_webserver" class="selectInput">
+ {tmpl_var name='default_webserver'}
+ </select>
+ </div>
+ <div class="ctrlHolder">
+ <label for="default_dbserver">{tmpl_var name='default_dbserver_txt'}</label>
+ <select name="default_dbserver" id="default_dbserver" class="selectInput">
+ {tmpl_var name='default_dbserver'}
+ </select>
+ </div>
</fieldset>
<input type="hidden" name="id" value="{tmpl_var name='id'}">
diff --git a/interface/web/dns/dns_import.php b/interface/web/dns/dns_import.php
index c78e41a..845dfd0 100644
--- a/interface/web/dns/dns_import.php
+++ b/interface/web/dns/dns_import.php
@@ -56,7 +56,8 @@
$server_id = $app->functions->intval($_POST['server_id_value']);
$post_server_id = true;
} else {
- $server_id = 1;
+ $settings = $app->getconf->get_global_config('dns');
+ $server_id = $app->functions->intval($settings['default_dnsserver']);
$post_server_id = false;
}
diff --git a/interface/web/dns/dns_slave_edit.php b/interface/web/dns/dns_slave_edit.php
index dfca92e..c647a17 100644
--- a/interface/web/dns/dns_slave_edit.php
+++ b/interface/web/dns/dns_slave_edit.php
@@ -61,6 +61,9 @@
if(!$app->tform->checkResellerLimit('limit_dns_slave_zone')) {
$app->error('Reseller: '.$app->tform->wordbook["limit_dns_slave_zone_txt"]);
}
+ } else {
+ $settings = $app->getconf->get_global_config('dns');
+ $app->tform->formDef['tabs']['dns_slave']['fields']['server_id']['default'] = intval($settings['default_slave_dnsserver']);
}
parent::onShowNew();
diff --git a/interface/web/dns/dns_soa_edit.php b/interface/web/dns/dns_soa_edit.php
index 17c704e..0397ed0 100644
--- a/interface/web/dns/dns_soa_edit.php
+++ b/interface/web/dns/dns_soa_edit.php
@@ -71,6 +71,9 @@
if(!$app->tform->checkResellerLimit('limit_dns_zone')) {
$app->error('Reseller: '.$app->tform->wordbook["limit_dns_zone_txt"]);
}
+ } else {
+ $settings = $app->getconf->get_global_config('dns');
+ $app->tform->formDef['tabs']['dns_soa']['fields']['server_id']['default'] = intval($settings['default_dnsserver']);
}
parent::onShowNew();
diff --git a/interface/web/dns/dns_wizard.php b/interface/web/dns/dns_wizard.php
index 93996ed..6ed3fcc 100644
--- a/interface/web/dns/dns_wizard.php
+++ b/interface/web/dns/dns_wizard.php
@@ -53,7 +53,8 @@
$server_id = $app->functions->intval($_POST['server_id_value']);
$post_server_id = true;
} else {
- $server_id = 1;
+ $settings = $app->getconf->get_global_config('dns');
+ $server_id = $app->functions->intval($settings['default_dnsserver']);
$post_server_id = false;
}
diff --git a/interface/web/mail/mail_domain_edit.php b/interface/web/mail/mail_domain_edit.php
index 8220c2c..262ee16 100644
--- a/interface/web/mail/mail_domain_edit.php
+++ b/interface/web/mail/mail_domain_edit.php
@@ -61,6 +61,9 @@
if(!$app->tform->checkResellerLimit('limit_maildomain')) {
$app->error('Reseller: '.$app->tform->wordbook["limit_maildomain_txt"]);
}
+ } else {
+ $settings = $app->getconf->get_global_config('mail');
+ $app->tform->formDef['tabs']['domain']['fields']['server_id']['default'] = intval($settings['default_mailserver']);
}
parent::onShowNew();
diff --git a/interface/web/sites/database_edit.php b/interface/web/sites/database_edit.php
index 58cb0a6..79183c4 100644
--- a/interface/web/sites/database_edit.php
+++ b/interface/web/sites/database_edit.php
@@ -61,6 +61,9 @@
if(!$app->tform->checkResellerLimit('limit_database')) {
$app->error('Reseller: '.$app->tform->wordbook["limit_database_txt"]);
}
+ } else {
+ $settings = $app->getconf->get_global_config('sites');
+ $app->tform->formDef['tabs']['database']['fields']['server_id']['default'] = intval($settings['default_dbserver']);
}
parent::onShowNew();
diff --git a/interface/web/sites/web_vhost_domain_edit.php b/interface/web/sites/web_vhost_domain_edit.php
index de731bd..bd495ef 100644
--- a/interface/web/sites/web_vhost_domain_edit.php
+++ b/interface/web/sites/web_vhost_domain_edit.php
@@ -115,6 +115,9 @@
$web_servers = explode(',', $client['web_servers']);
$app->tpl->setVar("server_id_value", $web_servers[0]);
unset($web_servers);
+ } else {
+ $settings = $app->getconf->get_global_config('sites');
+ $app->tform->formDef['tabs']['domain']['fields']['server_id']['default'] = intval($settings['default_webserver']);
}
$app->tform->formDef['tabs']['domain']['readonly'] = false;
--
Gitblit v1.9.1