diff --git a/interface/web/admin/form/system_config.tform.php b/interface/web/admin/form/system_config.tform.php index fb93fcaf4785481e8fe746dfb3e473b03120f1f9..7acd801864d3dbd6306457cd5a133ca5898f068a 100644 --- a/interface/web/admin/form/system_config.tform.php +++ b/interface/web/admin/form/system_config.tform.php @@ -487,6 +487,18 @@ $form["tabs"]['dns'] = array ( 'value' => '', 'name' => 'default_slave_dnsserver' ), + 'dns_external_slave_fqdn' => array ( + 'datatype' => 'VARCHAR', + 'formtype' => 'TEXT', + 'filters' => array( + 0 => array( 'event' => 'SAVE', + 'type' => 'STRIPTAGS'), + 1 => array( 'event' => 'SAVE', + 'type' => 'STRIPNL') + ), + 'default' => '', + 'value' => '' + ), 'dns_show_zoneexport' => array ( 'datatype' => 'VARCHAR', 'formtype' => 'CHECKBOX', diff --git a/interface/web/admin/lib/lang/en_system_config.lng b/interface/web/admin/lib/lang/en_system_config.lng index 375aade367685cb009bdc221152d80785cd7badb..509b927955e7c6299e216c8237d678c83bd199cc 100644 --- a/interface/web/admin/lib/lang/en_system_config.lng +++ b/interface/web/admin/lib/lang/en_system_config.lng @@ -109,4 +109,5 @@ $wb['show_aps_menu_note_url_txt'] = 'Click here for more information.'; $wb['dns_show_zoneexport_txt'] = 'Show zone export.'; $wb['le_caa_autocreate_options_txt'] = 'Enable automatic creation of CAA record on issuing LE'; $wb['show_delete_on_forms_txt'] = 'Show delete button on edit forms'; +$wb['dns_external_slave_server_txt'] = 'External DNS servers (comma separated)'; ?> diff --git a/interface/web/admin/templates/system_config_dns_edit.htm b/interface/web/admin/templates/system_config_dns_edit.htm index 9636b4a26114d517adcf7c50a127401961b54fa8..0395c5b17d9da944d328bee0c48944f4272e4d7d 100644 --- a/interface/web/admin/templates/system_config_dns_edit.htm +++ b/interface/web/admin/templates/system_config_dns_edit.htm @@ -12,6 +12,13 @@ +
+ +
+ +
+
+
diff --git a/interface/web/dns/dns_import.php b/interface/web/dns/dns_import.php index a229f3956bd097c5122763a7d991fc74a4a4323a..3b0b50ad0049311770c971fa2f29734e42d3fd8c 100644 --- a/interface/web/dns/dns_import.php +++ b/interface/web/dns/dns_import.php @@ -64,6 +64,8 @@ if (isset($_POST['client_group_id'])) { $sys_groupid = $_SESSION["s"]["user"]["default_group"]; } $domain = (isset($_POST['domain'])&&!empty($_POST['domain']))?$_POST['domain']:NULL; +$settings = $app->getconf->get_global_config('dns'); +$external_slave_servers = $settings['dns_external_slave_fqdn']; // get the correct server_id if (isset($_POST['server_id'])) { @@ -73,7 +75,6 @@ if (isset($_POST['server_id'])) { $server_id = $app->functions->intval($_POST['server_id_value']); $post_server_id = true; } else { - $settings = $app->getconf->get_global_config('dns'); $server_id = $app->functions->intval($settings['default_dnsserver']); $post_server_id = false; } @@ -261,6 +262,13 @@ if(isset($_FILES['file']['name']) && is_uploaded_file($_FILES['file']['tmp_name' $servers[$i]['server_name'] .= "."; } } + if (!empty($external_slave_servers)) { + $external_servers = preg_split('/[\s,]+/', $external_slave_servers); + foreach($external_servers as $e) { + $servers[]['server_name'] = rtrim($e, '.') . '.'; + } + } + $lines = file($_FILES['file']['tmp_name']); // Remove empty lines, comments, whitespace, tabs, etc.