diff --git a/lib/formfields/admin/domains/formfield.domains_add.php b/lib/formfields/admin/domains/formfield.domains_add.php index 0b9972d6..c85d6500 100644 --- a/lib/formfields/admin/domains/formfield.domains_add.php +++ b/lib/formfields/admin/domains/formfield.domains_add.php @@ -207,7 +207,7 @@ return array( ), 'zonefile' => array( 'label' => 'Zonefile', - 'desc' => $lng['panel']['emptyfordefault'], + 'desc' => $lng['admin']['bindzonewarning'], 'type' => 'text' ) ) diff --git a/lib/formfields/admin/domains/formfield.domains_edit.php b/lib/formfields/admin/domains/formfield.domains_edit.php index 63ff7d50..68ffa009 100644 --- a/lib/formfields/admin/domains/formfield.domains_edit.php +++ b/lib/formfields/admin/domains/formfield.domains_edit.php @@ -232,7 +232,7 @@ return array( ), 'zonefile' => array( 'label' => 'Zonefile', - 'desc' => $lng['panel']['emptyfordefault'], + 'desc' => $lng['admin']['bindzonewarning'], 'type' => 'text', 'value' => $result['zonefile'] ) diff --git a/lng/dutch.lng.php b/lng/dutch.lng.php index 74742e6a..2ad74afe 100644 --- a/lng/dutch.lng.php +++ b/lng/dutch.lng.php @@ -310,8 +310,6 @@ $lng['serversettings']['bindconf_directory']['title'] = 'Bind configuratie map'; $lng['serversettings']['bindconf_directory']['description'] = 'Waar staan de bind configuratie bestanden?'; $lng['serversettings']['bindreload_command']['title'] = 'Bind reload commando'; $lng['serversettings']['bindreload_command']['description'] = 'Wat is het command om bind te herladen?'; -$lng['serversettings']['binddefaultzone']['title'] = 'Bind default zone'; -$lng['serversettings']['binddefaultzone']['description'] = 'Wat is de naam van de default zone?'; $lng['serversettings']['vmail_uid']['title'] = 'Mails-Uid'; $lng['serversettings']['vmail_uid']['description'] = 'Welk UserID moeten de e-mails hebben?'; $lng['serversettings']['vmail_gid']['title'] = 'Mails-Gid'; diff --git a/lng/english.lng.php b/lng/english.lng.php index bc3d3dc5..242ff7c5 100644 --- a/lng/english.lng.php +++ b/lng/english.lng.php @@ -318,6 +318,7 @@ $lng['admin']['templates']['USERNAME'] = 'Replaced with the customers account us $lng['admin']['templates']['PASSWORD'] = 'Replaced with the customers account password.'; $lng['admin']['templates']['EMAIL'] = 'Replaced with the address of the POP3/IMAP account.'; $lng['admin']['webserver'] = 'Webserver'; +$lng['admin']['bindzonewarning'] = $lng['panel']['emptyfordefault'] . '
ATTENTION: If you use a zonefile you will have to manage all required records for all sub-zones manually as well.'; /** * Serversettings @@ -347,8 +348,6 @@ $lng['serversettings']['bindconf_directory']['title'] = 'Bind config directory'; $lng['serversettings']['bindconf_directory']['description'] = 'Where should bind configfiles be saved?'; $lng['serversettings']['bindreload_command']['title'] = 'Bind reload command'; $lng['serversettings']['bindreload_command']['description'] = 'What\'s the bind command to reload bind configfiles?'; -$lng['serversettings']['binddefaultzone']['title'] = 'Bind default zone'; -$lng['serversettings']['binddefaultzone']['description'] = 'What\'s the name of the default zone?'; $lng['serversettings']['vmail_uid']['title'] = 'Mails-UID'; $lng['serversettings']['vmail_uid']['description'] = 'Which UserID should mails have?'; $lng['serversettings']['vmail_gid']['title'] = 'Mails-GID'; diff --git a/lng/french.lng.php b/lng/french.lng.php index 25b26d15..e55f885f 100644 --- a/lng/french.lng.php +++ b/lng/french.lng.php @@ -344,8 +344,6 @@ $lng['serversettings']['bindconf_directory']['title'] = 'Emplacement du dossier $lng['serversettings']['bindconf_directory']['description'] = 'Oû doit être stocké la configuration de Bind / Named ?'; $lng['serversettings']['bindreload_command']['title'] = 'Commande de rechargement de Bind / Named'; $lng['serversettings']['bindreload_command']['description'] = 'Quelle est la commande pour recharger / redémarrer Bind / Named ?'; -$lng['serversettings']['binddefaultzone']['title'] = 'Nom du fichier de zone par défaut Bind / Named'; -$lng['serversettings']['binddefaultzone']['description'] = 'Quel est le nom du fichier de zone par défaut pour Bind / Named ?'; $lng['serversettings']['vmail_uid']['title'] = 'UID des e-mails'; $lng['serversettings']['vmail_uid']['description'] = 'Quel UID doivent avoir les e-mails ?'; $lng['serversettings']['vmail_gid']['title'] = 'GID des e-mails'; diff --git a/lng/german.lng.php b/lng/german.lng.php index ecdabeac..38815cc9 100644 --- a/lng/german.lng.php +++ b/lng/german.lng.php @@ -315,6 +315,7 @@ $lng['admin']['templates']['COMPANY'] = 'Wird mit dem Firmennamen des Kunden ers $lng['admin']['templates']['USERNAME'] = 'Wird mit dem Benutzernamen des neuen Kundenkontos ersetzt.'; $lng['admin']['templates']['PASSWORD'] = 'Wird mit dem Passwort des neuen Kundenkontos ersetzt.'; $lng['admin']['templates']['EMAIL'] = 'Wird mit der Adresse des neuen E-Mail-Kontos ersetzt.'; +$lng['admin']['bindzonewarning'] = $lng['panel']['emptyfordefault'] . '
WARNUNG: Bei der Verwendung einer Zonendatei müssen alle benötigten Records aller Subdomains ebenfalls manuell verwaltet werden.'; /** * Serversettings @@ -344,8 +345,6 @@ $lng['serversettings']['bindconf_directory']['title'] = 'Bind-Config-Directory'; $lng['serversettings']['bindconf_directory']['description'] = 'Wo liegen die Bind-Konfigurationsdateien?'; $lng['serversettings']['bindreload_command']['title'] = 'Bind-Reload-Command'; $lng['serversettings']['bindreload_command']['description'] = 'Wie heißt das Skript zum Neuladen der Bind-Konfigurationsdateien?'; -$lng['serversettings']['binddefaultzone']['title'] = 'Bind-Default-Zone'; -$lng['serversettings']['binddefaultzone']['description'] = 'Wie heißt die Default-Zone für alle Domains?'; $lng['serversettings']['vmail_uid']['title'] = 'Mail-UID'; $lng['serversettings']['vmail_uid']['description'] = 'Welche UID sollen die E-Mails haben?'; $lng['serversettings']['vmail_gid']['title'] = 'Mail-GID'; diff --git a/lng/italian.lng.php b/lng/italian.lng.php index caf7b64b..021be071 100644 --- a/lng/italian.lng.php +++ b/lng/italian.lng.php @@ -336,8 +336,6 @@ $lng['serversettings']['bindconf_directory']['title'] = 'Cartella configurazione $lng['serversettings']['bindconf_directory']['description'] = 'Dove sono i file di configurazione per Bind?'; $lng['serversettings']['bindreload_command']['title'] = 'Comando riavvio Bind'; $lng['serversettings']['bindreload_command']['description'] = 'Qual\'è il comando per riavviare Bind?'; -$lng['serversettings']['binddefaultzone']['title'] = 'Zona di default Bind'; -$lng['serversettings']['binddefaultzone']['description'] = 'Qual\'è il nome della zona di default Bind?'; $lng['serversettings']['vmail_uid']['title'] = 'UID Email'; $lng['serversettings']['vmail_uid']['description'] = 'Che UserID dovrebbe avere l\'utente che gestisce le Email?'; $lng['serversettings']['vmail_gid']['title'] = 'GID Email'; diff --git a/lng/portugues.lng.php b/lng/portugues.lng.php index 524935e4..f0122bf8 100644 --- a/lng/portugues.lng.php +++ b/lng/portugues.lng.php @@ -341,8 +341,6 @@ $lng['serversettings']['bindconf_directory']['title'] = 'Diretório de configura $lng['serversettings']['bindconf_directory']['description'] = 'Aonde estão os arquivos de configuração do bind?'; $lng['serversettings']['bindreload_command']['title'] = 'Comando de reiniciar o Bind'; $lng['serversettings']['bindreload_command']['description'] = 'Qual o comando para reiniciar o bind?'; -$lng['serversettings']['binddefaultzone']['title'] = 'Bind default zone'; -$lng['serversettings']['binddefaultzone']['description'] = 'Qual o nome da default zone?'; $lng['serversettings']['vmail_uid']['title'] = 'Mails-Uid'; $lng['serversettings']['vmail_uid']['description'] = 'Qual UserID os e-mails devem ter?'; $lng['serversettings']['vmail_gid']['title'] = 'Mails-Gid'; diff --git a/lng/swedish.lng.php b/lng/swedish.lng.php index f056a4fa..e0bf3ba7 100644 --- a/lng/swedish.lng.php +++ b/lng/swedish.lng.php @@ -328,8 +328,6 @@ $lng['serversettings']['bindconf_directory']['title'] = 'Bind konfigurationskata $lng['serversettings']['bindconf_directory']['description'] = 'Vilken sökväg skall det vara till bind:s konfigurationsfiler?'; $lng['serversettings']['bindreload_command']['title'] = 'Ange sökvägen till programmet som laddar om Bind (reload bind) konfigurationsfiler?'; $lng['serversettings']['bindreload_command']['description'] = 'Ange sökvägen till programmet som laddar om Bind (reload bind) konfigurationsfiler?'; -$lng['serversettings']['binddefaultzone']['title'] = 'Bind standard zone'; -$lng['serversettings']['binddefaultzone']['description'] = 'Vad är namnet på standard zonen?'; $lng['serversettings']['vmail_uid']['title'] = 'Mails-UID'; $lng['serversettings']['vmail_uid']['description'] = 'Vilket användarID (UserID) ska E-posten ha?'; $lng['serversettings']['vmail_gid']['title'] = 'Mails-GID'; diff --git a/scripts/jobs/cron_tasks.inc.dns.10.bind.php b/scripts/jobs/cron_tasks.inc.dns.10.bind.php index bc7e6fe3..1561d717 100644 --- a/scripts/jobs/cron_tasks.inc.dns.10.bind.php +++ b/scripts/jobs/cron_tasks.inc.dns.10.bind.php @@ -121,8 +121,8 @@ class bind { } if (empty($domains)) { - $this->logger->logAction(CRON_ACTION, LOG_INFO, 'No domains found for nameserver-config, skipping...'); - return; + $this->logger->logAction(CRON_ACTION, LOG_INFO, 'No domains found for nameserver-config, skipping...'); + return; } // collect domain IDs of direct child domains as arrays in ['children'] column @@ -203,20 +203,23 @@ class bind { $subzones.= $this->walkDomainList($domains[$child_domain_id], $domains); } - if ($domain['ismainbutsubto'] == 0 && $domain['zonefile'] == '') { - $zonefile = $this->generateZone($domain); - $domain['zonefile'] = 'domains/' . $domain['domain'] . '.zone'; - $zonefile_name = makeCorrectFile(Settings::Get('system.bindconf_directory') . '/' . $domain['zonefile']); - $this->_known_filenames[] = basename($zonefile_name); - $zonefile_handler = fopen($zonefile_name, 'w'); - fwrite($zonefile_handler, $zonefile.$subzones); - fclose($zonefile_handler); - $this->logger->logAction(CRON_ACTION, LOG_INFO, '`' . $zonefile_name . '` zone written'); + if ($domain['zonefile'] == '') { + if ($domain['ismainbutsubto'] == 0) { + $zonefile = $this->generateZone($domain); + $domain['zonefile'] = 'domains/' . $domain['domain'] . '.zone'; + $zonefile_name = makeCorrectFile(Settings::Get('system.bindconf_directory') . '/' . $domain['zonefile']); + $this->_known_filenames[] = basename($zonefile_name); + $zonefile_handler = fopen($zonefile_name, 'w'); + fwrite($zonefile_handler, $zonefile.$subzones); + fclose($zonefile_handler); + $this->logger->logAction(CRON_ACTION, LOG_INFO, '`' . $zonefile_name . '` zone written'); + $this->_bindconf_file .= $this->_generateDomainConfig($domain); + } else { + return $this->generateZone($domain); + } } else { - return $this->generateZone($domain); - } - - if ($zonefile !== '') { + $this->logger->logAction(CRON_ACTION, LOG_INFO, 'Added zonefile ' . $domain['zonefile'] . ' for domain ' . $domain['domain'] . + ' - Note that you will also have to handle ALL records for ALL subdomains.'); $this->_bindconf_file .= $this->_generateDomainConfig($domain); } }