From 41d7d170bc4673e9a4e89a49c191b414e38ef0d7 Mon Sep 17 00:00:00 2001 From: Sergio Cambra <sergio@programatica.es> Date: Mon, 7 Jul 2014 17:00:03 +0200 Subject: [PATCH] default servers on system config for admin use --- .../web/admin/form/system_config.tform.php | 69 +++++++++++++++++++ interface/web/admin/lib/lang/en.lng | 4 +- .../web/admin/lib/lang/en_system_config.lng | 5 ++ interface/web/admin/lib/lang/es.lng | 2 + .../web/admin/lib/lang/es_system_config.lng | 5 ++ interface/web/admin/system_config_edit.php | 3 + .../templates/system_config_mail_edit.htm | 6 ++ .../templates/system_config_sites_edit.htm | 12 ++++ interface/web/dns/dns_import.php | 3 +- interface/web/dns/dns_slave_edit.php | 3 + interface/web/dns/dns_soa_edit.php | 3 + interface/web/dns/dns_wizard.php | 3 +- interface/web/mail/mail_domain_edit.php | 3 + interface/web/sites/database_edit.php | 3 + interface/web/sites/web_vhost_domain_edit.php | 3 + 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 2e08130aa7..86ed19f1a2 100644 --- a/interface/web/admin/form/system_config.tform.php +++ b/interface/web/admin/form/system_config.tform.php @@ -172,6 +172,28 @@ $form["tabs"]['sites'] = array ( '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 @@ $form["tabs"]['mail'] = array ( '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 d9cbc7f839..0d075c1165 100644 --- a/interface/web/admin/lib/lang/en.lng +++ b/interface/web/admin/lib/lang/en.lng @@ -41,6 +41,8 @@ $wb['Firewall'] = 'Firewall'; $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['Import'] = 'Import'; $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 51131ef3d6..3fa210f07d 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['session_allow_endless_txt'] = 'Enable "stay logged in"'; $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 8e5b0843f1..cd26b06c2d 100644 --- a/interface/web/admin/lib/lang/es.lng +++ b/interface/web/admin/lib/lang/es.lng @@ -47,4 +47,6 @@ $wb['Directive Snippets'] = 'Fragmentos de Directivas'; $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 ec1cb69051..503d844b7f 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_length_txt'] = 'Longitud de contraseña mÃnima'; $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 3a2ac8e765..a793a83eec 100644 --- a/interface/web/admin/system_config_edit.php +++ b/interface/web/admin/system_config_edit.php @@ -64,6 +64,9 @@ class page_action extends tform_actions { $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 98966fd2b9..b231495b49 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 f98493ee79..7811b17550 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 c78e41ad22..845dfd0345 100644 --- a/interface/web/dns/dns_import.php +++ b/interface/web/dns/dns_import.php @@ -56,7 +56,8 @@ if (isset($_POST['server_id'])) { $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 dfca92e083..c647a1771b 100644 --- a/interface/web/dns/dns_slave_edit.php +++ b/interface/web/dns/dns_slave_edit.php @@ -61,6 +61,9 @@ class page_action extends tform_actions { 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 17c704ed12..0397ed08d2 100644 --- a/interface/web/dns/dns_soa_edit.php +++ b/interface/web/dns/dns_soa_edit.php @@ -71,6 +71,9 @@ class page_action extends tform_actions { 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 93996ed39e..6ed3fcce1e 100644 --- a/interface/web/dns/dns_wizard.php +++ b/interface/web/dns/dns_wizard.php @@ -53,7 +53,8 @@ if (isset($_POST['server_id'])) { $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 8220c2ce86..262ee16e5d 100644 --- a/interface/web/mail/mail_domain_edit.php +++ b/interface/web/mail/mail_domain_edit.php @@ -61,6 +61,9 @@ class page_action extends tform_actions { 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 58cb0a623c..79183c4612 100644 --- a/interface/web/sites/database_edit.php +++ b/interface/web/sites/database_edit.php @@ -61,6 +61,9 @@ class page_action extends tform_actions { 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 de731bd644..bd495ef413 100644 --- a/interface/web/sites/web_vhost_domain_edit.php +++ b/interface/web/sites/web_vhost_domain_edit.php @@ -115,6 +115,9 @@ class page_action extends tform_actions { $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; -- GitLab