diff --git a/install/sql/incremental/upd_0078.sql b/install/sql/incremental/upd_0078.sql new file mode 100644 index 0000000000000000000000000000000000000000..e9948dc895da8f9fe65ffbe26d9a810e0bbd4340 --- /dev/null +++ b/install/sql/incremental/upd_0078.sql @@ -0,0 +1 @@ +ALTER TABLE `dns_rr` CHANGE `data` `data` TEXT NOT NULL DEFAULT ''; diff --git a/install/sql/ispconfig3.sql b/install/sql/ispconfig3.sql index 7f81f7cd8e2ab78d27f75a002a765fb1e4b5a620..d1955470654e8c0f8b4e80e1839e6199c1f481b0 100644 --- a/install/sql/ispconfig3.sql +++ b/install/sql/ispconfig3.sql @@ -450,7 +450,7 @@ CREATE TABLE `dns_rr` ( `zone` int(11) unsigned NOT NULL DEFAULT '0', `name` varchar(255) NOT NULL DEFAULT '', `type` enum('A','AAAA','ALIAS','CNAME','HINFO','MX','NAPTR','NS','PTR','RP','SRV','TXT') default NULL, - `data` varchar(255) NOT NULL DEFAULT '', + `data` TEXT NOT NULL DEFAULT '', `aux` int(11) unsigned NOT NULL default '0', `ttl` int(11) unsigned NOT NULL default '86400', `active` enum('N','Y') NOT NULL default 'Y', diff --git a/install/tpl/master_cf_amavis10027.master b/install/tpl/master_cf_amavis10027.master index f24a8b2b1eeab2d2e6b0a1320da6e25b5874bbaa..44126e2c20c9682824d57bd881ad6de71c8646ae 100644 --- a/install/tpl/master_cf_amavis10027.master +++ b/install/tpl/master_cf_amavis10027.master @@ -14,5 +14,4 @@ -o smtp_send_xforward_command=yes -o milter_default_action=accept -o milter_macro_daemon_name=ORIGINATING - -o smtpd_milters=inet:127.0.0.1:4445 diff --git a/install/tpl/server.ini.master b/install/tpl/server.ini.master index 427fc8d3b286702194de0882fd8e122f6240ad6d..315feda209aee6216ad378d7865aa0b09ba64cd1 100644 --- a/install/tpl/server.ini.master +++ b/install/tpl/server.ini.master @@ -33,6 +33,7 @@ module=postfix_mysql maildir_path=/var/vmail/[domain]/[localpart] homedir_path=/var/vmail dkim_path=/var/lib/amavis/dkim +dkim_strength=1024 pop3_imap_daemon=courier mail_filter_syntax=maildrop mailuser_uid=5000 diff --git a/install/tpl/system.ini.master b/install/tpl/system.ini.master index c5631226f859ca1fc4621b95940f8e5b3539f423..f1a1bc901cb92cde78684a013485dce4dad2c9a4 100644 --- a/install/tpl/system.ini.master +++ b/install/tpl/system.ini.master @@ -10,6 +10,7 @@ enable_custom_login=n mailboxlist_webmail_link=y webmail_url=/webmail +dkim_path=/var/lib/amavis/dkim [monitor] diff --git a/interface/lib/classes/validate_dkim.inc.php b/interface/lib/classes/validate_dkim.inc.php index 5a9b8c0beccac56988de2cfe3b9327c6141c9de0..71fd8c5454a847b1877cd9d74e81502538803851 100644 --- a/interface/lib/classes/validate_dkim.inc.php +++ b/interface/lib/classes/validate_dkim.inc.php @@ -72,13 +72,17 @@ class validate_dkim { * * @return boolean - true if $POST contains a real key-file */ - function validate_post($key, $value) { + function validate_post($key, $value, $dkim_strength) { + $value=str_replace(array("\n", "-----BEGIN RSA PRIVATE KEY-----", "-----END RSA PRIVATE KEY-----", " "), "", $value); switch ($key) { case 'public': if (preg_match("/(^-----BEGIN PUBLIC KEY-----)[a-zA-Z0-9\r\n\/\+=]{1,221}(-----END PUBLIC KEY-----(\n|\r)?$)/", $value) === 1) { return true; } else { return false; } break; case 'private': - if (preg_match("/(^-----BEGIN RSA PRIVATE KEY-----)[a-zA-Z0-9\r\n\/\+=]{1,850}(-----END RSA PRIVATE KEY-----(\n|\r)?$)/", $value) === 1) { return true; } else { return false; } + if ( $dkim_strength == 1024 ) $range = "{812,816}"; + if ( $dkim_strength == 2048 ) $range = "{1588,1592}"; + if ( $dkim_strength == 4096 ) $range = "{3132,3136}"; + if ( preg_match("/^[a-zA-Z0-9\/\+=]".$range."$/", $value ) === 1) return true; else return false; break; } } diff --git a/interface/web/admin/form/server_config.tform.php b/interface/web/admin/form/server_config.tform.php index 8c6f89976b15514ef4a91826a0ff8bb2201b88fd..71f2f13e1c692d5dee87634107d57f82177da897 100644 --- a/interface/web/admin/form/server_config.tform.php +++ b/interface/web/admin/form/server_config.tform.php @@ -313,6 +313,12 @@ $form["tabs"]['mail'] = array( 'width' => '40', 'maxlength' => '255' ), + 'dkim_strength' => array( + 'datatype' => 'INTEGER', + 'formtype' => 'SELECT', + 'default' => '1024', + 'value' => array('1024' => 'normal (1024)', '2048' => 'strong (2048)', '4096' => 'very strong (4096)') + ), 'relayhost_password' => array( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', diff --git a/interface/web/admin/lib/lang/de_server_config.lng b/interface/web/admin/lib/lang/de_server_config.lng index a6e71ba7724e7155e63ec33fd1639943acda8e22..98bcac4dc5d4963fe7a238de5ed01651617b0b55 100644 --- a/interface/web/admin/lib/lang/de_server_config.lng +++ b/interface/web/admin/lib/lang/de_server_config.lng @@ -198,4 +198,5 @@ $wb["v6_prefix_txt"] = 'IPv6 Prefix'; $wb["vhost_rewrite_v6_txt"] = 'Rewrite IPv6 on Mirror'; $wb["v6_prefix_length"] = 'Prefix zu lang fuer angegebene IPv6-Adresse '; $wb['monitor_system_updates_txt'] = 'Suche nach Linux updates'; +$wb['dkim_strength_txt'] = 'DKIM Stärke'; ?> diff --git a/interface/web/admin/lib/lang/en_server_config.lng b/interface/web/admin/lib/lang/en_server_config.lng index 9331b50d8fc58d1699473486a1fbc1861e42e9b4..bf1cff66cfdaa52d5d48929156772b4478598f41 100644 --- a/interface/web/admin/lib/lang/en_server_config.lng +++ b/interface/web/admin/lib/lang/en_server_config.lng @@ -202,4 +202,5 @@ $wb["overquota_db_notify_client_txt"] = 'Send DB quota warnings to client'; $wb['monitor_system_updates_txt'] = 'Check for Linux updates'; $wb['php_handler_txt'] = "PHP Handler"; $wb['disabled_txt'] = 'Disabled'; +$wb['dkim_strength_txt'] = 'DKIM strength'; ?> diff --git a/interface/web/admin/lib/lang/es_server_config.lng b/interface/web/admin/lib/lang/es_server_config.lng index 734d83bdec0529f024189e7057b625fd532d267b..7503f7da4a9845ae2add1464d4e25db10182c8cc 100644 --- a/interface/web/admin/lib/lang/es_server_config.lng +++ b/interface/web/admin/lib/lang/es_server_config.lng @@ -159,7 +159,7 @@ $wb['backup_mode_txt'] = 'Modo de copias de seguridad'; $wb['backup_mode_userzip'] = 'Copiar archivos del usuario web en un zip'; $wb['backup_mode_rootgz'] = 'Copiar todos los archivos como usuario root'; $wb['realtime_blackhole_list_txt'] = 'Real-time Blackhole List'; -$wb['realtime_blackhole_list_note_txt'] = '(Separar RBL's con comas)'; +$wb['realtime_blackhole_list_note_txt'] = "(Separar RBL's con comas)"; $wb['ssl_settings_txt'] = 'Configuración SSL'; $wb['permissions_txt'] = 'Permisos'; $wb['php_settings_txt'] = 'Configuración de PHP'; diff --git a/interface/web/admin/lib/lang/es_system_config.lng b/interface/web/admin/lib/lang/es_system_config.lng index 503d844b7f8746ff566e17d411eab78c40f3cfd2..41e61bf0c668e6b85f30739679a4426155304836 100644 --- a/interface/web/admin/lib/lang/es_system_config.lng +++ b/interface/web/admin/lib/lang/es_system_config.lng @@ -45,7 +45,7 @@ $wb['phpmyadmin_url_error_regex'] = 'URL de phpmyadmin no válida'; $wb['use_combobox_txt'] = 'Usar Combobox de jQuery UI'; $wb['use_loadindicator_txt'] = 'Usar indicador de carga'; $wb['f5_to_reload_js_txt'] = 'Si cambias esto, podrÃas tener que pulsar F5 para que tu navegador recargue las librerÃas JavaScript o vacÃar la caché del navegador.'; -$wb['client_username_web_check_disabled_txt'] = 'Desactivar comprobación de la palabra 'web' en el nombre de cliente.'; +$wb['client_username_web_check_disabled_txt'] = "Desactivar comprobación de la palabra 'web' en el nombre de cliente."; $wb['mailbox_show_autoresponder_tab_txt'] = 'Mostrar pestaña autoresponder en los detalles de la cuenta de correo'; $wb['mailbox_show_mail_filter_tab_txt'] = 'Mostrar pestaña filtro de correo en los detalles de la cuenta de correo'; $wb['mailbox_show_custom_rules_tab_txt'] = 'Mostrar pestaña filtros personalizados en los detalles de la cuenta de correo'; diff --git a/interface/web/admin/lib/lang/fr_server_config.lng b/interface/web/admin/lib/lang/fr_server_config.lng index 671bc9b2965ac01af614eb11326dfaac90e479bf..6db888febd529ce9d3894a587b3c3e8983ac29b3 100644 --- a/interface/web/admin/lib/lang/fr_server_config.lng +++ b/interface/web/admin/lib/lang/fr_server_config.lng @@ -30,7 +30,7 @@ $wb['message_size_limit_txt'] = 'Taille maximale des messages'; $wb['ip_address_txt'] = 'Adresse IP'; $wb['netmask_txt'] = 'Masque de réau'; $wb['gateway_txt'] = 'Passerelle'; -$wb['hostname_txt'] = 'Hô; +$wb['hostname_txt'] = 'Hô'; $wb['nameservers_txt'] = 'Serveurs de nom'; $wb['auto_network_configuration_txt'] = 'Configuration du réau'; $wb['website_basedir_txt'] = 'Rértoire de base web'; @@ -44,7 +44,7 @@ $wb['config_dir_txt'] = 'Rértoire de configuration'; $wb['init_script_txt'] = 'Nom du script Cron de lancement'; $wb['crontab_dir_txt'] = 'Chemin des difféntes tables Cron'; $wb['wget_txt'] = 'Chemin du programme wget'; -$wb['security_level_txt'] = 'Niveau de sérité +$wb['security_level_txt'] = 'Niveau de sérité'; $wb['web_user_txt'] = 'Utilisateur Apache'; $wb['web_group_txt'] = 'Groupe Apache'; $wb['loglevel_txt'] = 'Loglevel'; @@ -76,20 +76,20 @@ $wb['php_ini_path_cgi_txt'] = 'Chemin php.ini CGI'; $wb['php_ini_path_apache_txt'] = 'Chemin php.ini Apache'; $wb['check_apache_config_txt'] = 'Tester la configuration Apache au redérrage'; $wb['ufw_enable_txt'] = 'Enable'; -$wb['ufw_manage_builtins_txt'] = 'Gér les Rées Intéé; +$wb['ufw_manage_builtins_txt'] = 'Gér les Rées Intéé'; $wb['ufw_ipv6_txt'] = 'Activer l\'IPv6'; $wb['ufw_default_input_policy_txt'] = 'Politique Entrant (Input) par déult'; $wb['ufw_default_output_policy_txt'] = 'Politique Sortant (Output) par déult'; $wb['ufw_default_forward_policy_txt'] = 'Politique de Forward par déult'; $wb['ufw_default_application_policy_txt'] = 'Politique Application par déult'; $wb['ufw_log_level_txt'] = 'Niveau de Log'; -$wb['network_config_warning_txt'] = 'L\'option de configuration du réau n'est disponible QUE pour les serveurs Debian et Ubuntu. NE PAS activer cette option si votre carte réau n'est pas en eth0.'; +$wb['network_config_warning_txt'] = "L\'option de configuration du réau n'est disponible QUE pour les serveurs Debian et Ubuntu. NE PAS activer cette option si votre carte réau n'est pas en eth0."; $wb['CA_path_txt'] = 'Chemin CA'; $wb['CA_pass_txt'] = 'Mot de passe CA'; $wb['fastcgi_config_syntax_txt'] = 'FastCGI config syntax'; $wb['server_type_txt'] = 'Type de Serveur'; $wb['nginx_vhost_conf_dir_txt'] = 'Repertoire Nginx Vhost config'; -$wb['nginx_vhost_conf_enabled_dir_txt'] = 'Repertoire Nginx Vhost config activé +$wb['nginx_vhost_conf_enabled_dir_txt'] = 'Repertoire Nginx Vhost config activé'; $wb['nginx_user_txt'] = 'Utilisateur Nginx'; $wb['nginx_group_txt'] = 'Gorupe Nginx'; $wb['nginx_cgi_socket_txt'] = 'Nginx CGI Socket'; @@ -145,7 +145,7 @@ $wb['php_fpm_socket_dir_error_empty'] = 'Repertoire PHP-FPM socket est vide.'; $wb['try_rescue_txt'] = 'Activer le service de monitoring et redérrer sur éec'; $wb['do_not_try_rescue_mysql_txt'] = 'Déctiver le monitoring MySQL'; $wb['do_not_try_rescue_mail_txt'] = 'Déctiver le monitoring Email'; -$wb['rescue_description_txt'] = '<b>Information:</b> Si vous voulez arreter mysql vous devez selectionner la case Déctiver le monitoring MySQL puis attendre 2 à minutes.<br>Si vous n'attendez pas 2 à minutes, rescue va tenter de redérrer mysql!'; +$wb['rescue_description_txt'] = "<b>Information:</b> Si vous voulez arreter mysql vous devez selectionner la case Déctiver le monitoring MySQL puis attendre 2 à minutes.<br>Si vous n'attendez pas 2 à minutes, rescue va tenter de redérrer mysql!"; $wb['enable_sni_txt'] = 'Activer SNI'; $wb['do_not_try_rescue_httpd_txt'] = 'Déctiver le monitoring HTTPD '; $wb['set_folder_permissions_on_update_txt'] = 'Regler les permissions des dossiers lors de mise a jour'; @@ -155,7 +155,7 @@ $wb['connect_userid_to_webid_start_txt'] = 'ID de dért pour la liason userid/we $wb['website_autoalias_txt'] = 'Auto alias Site web'; $wb['website_autoalias_note_txt'] = 'Placeholders:'; $wb['backup_mode_txt'] = 'Mode Sauvegarde'; -$wb['backup_mode_userzip'] = 'Sauvegarder les fichiers web dont l'utilisateur est propriéire en tant que zip'; +$wb['backup_mode_userzip'] = "Sauvegarder les fichiers web dont l'utilisateur est propriéire en tant que zip"; $wb['backup_mode_rootgz'] = 'Sauvegarder tous les fichiers dans le repertoire web en tant qu\'utilisateur root'; $wb['realtime_blackhole_list_txt'] = 'Blackhole (trou noir) List en temps ré'; $wb['realtime_blackhole_list_note_txt'] = '(Separer les RBL avec des virgules)'; @@ -170,7 +170,7 @@ $wb['enable_ip_wildcard_txt'] = 'Autoriser un joker (wildcard) IP (*)'; $wb['web_folder_protection_txt'] = 'Rendre les dossiers web immuables (attributs éndus)'; $wb['overtraffic_notify_admin_txt'] = 'Envoyer notification d\'overtraffic à \'admin'; $wb['overtraffic_notify_client_txt'] = 'Envoyer notification d\'overtraffic au client'; -$wb['rbl_error_regex'] = 'Merci de renseigner des noms d'hô RBL valides.'; +$wb['rbl_error_regex'] = "Merci de renseigner des noms d'hô RBL valides."; $wb['overquota_notify_admin_txt'] = 'Envoyer alertes quota à \'admin'; $wb['overquota_notify_client_txt'] = 'Envoyer alertes quota au client'; $wb['overquota_notify_onok_txt'] = 'Envoyer message quota ok au client'; @@ -189,13 +189,13 @@ $wb['munin_password_txt'] = 'Mot de passe Munin'; $wb['munin_url_error_regex'] = 'URL Munin non valide '; $wb['munin_url_note_txt'] = 'Placeholder:'; $wb['backup_dir_is_mount_txt'] = 'Repertoir de Backup/sauvegarde est un mount?'; -$wb['backup_dir_mount_cmd_txt'] = 'Commande Mount, si le repertoire de sauvegarde/backup n'est pas monté +$wb['backup_dir_mount_cmd_txt'] = "Commande Mount, si le repertoire de sauvegarde/backup n'est pas monté"; $wb['monitor_system_updates_txt'] = 'Verifier pour des mises à our Linux'; $wb['dkim_path_txt'] = 'Chemin DKIM'; $wb["v6_prefix_txt"] = 'Prefix IPv6'; -$wb["vhost_rewrite_v6_txt"] = 'Récrire IPv6 sur miroir'; -$wb["v6_prefix_length"] = 'D\'aprèl'IPv6 déni, le préx est trop long '; -$wb["overquota_db_notify_admin_txt"] = 'Envoyer avertissement DB quota à \'admin'; +$wb["vhost_rewrite_v6_txt"] = "Récrire IPv6 sur miroir"; +$wb["v6_prefix_length"] = "D\'aprèl'IPv6 déni, le préx est trop long"; +$wb["overquota_db_notify_admin_txt"] = "Envoyer avertissement DB quota à \'admin'"; $wb["overquota_db_notify_client_txt"] = 'Envoyer avertissement DB quota au client'; ?> diff --git a/interface/web/admin/templates/server_config_mail_edit.htm b/interface/web/admin/templates/server_config_mail_edit.htm index 2bf8f9368dc0bb8b3f9a0aca4e57f5eef81e598c..d21df1528819323426051f3f90a0d50852fb180f 100644 --- a/interface/web/admin/templates/server_config_mail_edit.htm +++ b/interface/web/admin/templates/server_config_mail_edit.htm @@ -23,6 +23,14 @@ <label for="dkim_path">{tmpl_var name='dkim_path_txt'}</label> <input name="dkim_path" id="dkim_path" value="{tmpl_var name='dkim_path'}" size="40" maxlength="255" type="text" class="textInput" /> </div> + <div class="ctrlHolder"> + <p class="label">{tmpl_var name='dkim_strength_txt'}</p> + <div class="multiField"> + <select name="dkim_strength" id="dkim_strength" class="selectInput"> + {tmpl_var name='dkim_strength'} + </select> + </div> + </div> <div class="ctrlHolder"> <p class="label">{tmpl_var name='pop3_imap_daemon_txt'}</p> <div class="multiField"> diff --git a/interface/web/client/domain_edit.php b/interface/web/client/domain_edit.php index cda557c6e524728526d0cf640e4f81fa9e6ba584..9b78988890e9bd1a24e03222c2f49be8fbb5d7db 100644 --- a/interface/web/client/domain_edit.php +++ b/interface/web/client/domain_edit.php @@ -207,7 +207,7 @@ class page_action extends tform_actions { if($_SESSION["s"]["user"]["typ"] != 'admin' && isset($this->dataRecord["client_group_id"])) { $client_group_id = $app->functions->intval($_SESSION["s"]["user"]["default_group"]); $client = $app->db->queryOneRecord("SELECT client.client_id FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id"); - $group = $app->db->queryOneRecord("SELECT sys_group.groupid FROM sys_group, client WHERE sys_group.client_id = client.client_id AND client.parent_client_id = ".$client['client_id']." AND sys_group.groupid = ".$this->dataRecord["client_group_id"]." ORDER BY client.company_name, client.contact_name, sys_group.name"; + $group = $app->db->queryOneRecord("SELECT sys_group.groupid FROM sys_group, client WHERE sys_group.client_id = client.client_id AND client.parent_client_id = ".$client['client_id']." AND sys_group.groupid = ".$this->dataRecord["client_group_id"]." ORDER BY client.company_name, client.contact_name, sys_group.name"); $this->dataRecord["client_group_id"] = $group["groupid"]; } diff --git a/interface/web/js/mail_domain_dkim.js b/interface/web/js/mail_domain_dkim.js old mode 100644 new mode 100755 index a9d5f0d527a395e39118ce1448f56cea7ed23aaa..c15f8563f8b1a39f77e462fb9324a8eafb05555a --- a/interface/web/js/mail_domain_dkim.js +++ b/interface/web/js/mail_domain_dkim.js @@ -46,9 +46,13 @@ This Javascript is invoked by alert("Error creating XMLHTTP-instance"); return false; } else { + var domain=encodeURIComponent(document.getElementById("domain").value) + var selector=encodeURIComponent(document.getElementById("dkim_selector").value) + var publickey=encodeURIComponent(document.getElementById("dkim_public").value) + var privatekey=encodeURIComponent(document.getElementById("dkim_private").value) request.open('POST', 'mail/mail_domain_dkim_create.php', true); request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); - request.send('domain='+value+'&action='+action+'&pkey='+privatekey); + request.send('domain='+domain+'&action='+action+'&dkim_selector='+selector+'&dkim_public='+publickey+'&dkim_private='+privatekey); request.onreadystatechange = interpretRequest; } } @@ -58,15 +62,15 @@ This Javascript is invoked by case 4: if (request.status != 200) {alert("Request done but NOK\nError:"+request.status);} else { + document.getElementsByName('dkim_selector')[0].value = request.responseXML.getElementsByTagName('selector')[0].firstChild.nodeValue; document.getElementsByName('dkim_private')[0].value = request.responseXML.getElementsByTagName('privatekey')[0].firstChild.nodeValue; - document.getElementsByName('dkim_public')[0].value = request.responseXML.getElementsByTagName('publickey')[0].firstChild.nodeValue; - document.getElementsByName('dns_record')[0].value = request.responseXML.getElementsByTagName('dns_record')[0].firstChild.nodeValue; + document.getElementsByName('dkim_public')[0].value = request.responseXML.getElementsByTagName('publickey')[0].firstChild.nodeValue; + document.getElementsByName('dns_record')[0].value = request.responseXML.getElementsByTagName('dns_record')[0].firstChild.nodeValue; } break; default: break; } } - var serverType = jQuery('#dkim_private').val(); setRequest('show','{tmpl_var name="domain"}',serverType); diff --git a/interface/web/mail/form/mail_blacklist.tform.php b/interface/web/mail/form/mail_blacklist.tform.php index 66d63ac617b8b48efd5b2483b1b76c3c3a34e824..f0b35d21cec335be34b0cb205ab7e6bacd428ba2 100644 --- a/interface/web/mail/form/mail_blacklist.tform.php +++ b/interface/web/mail/form/mail_blacklist.tform.php @@ -63,7 +63,7 @@ $form["tabs"]['blacklist'] = array ( 'formtype' => 'SELECT', 'default' => '', 'datasource' => array ( 'type' => 'SQL', - 'querystring' => 'SELECT server_id,server_name FROM server WHERE mirror_server_id = 0 AND {AUTHSQL} ORDER BY server_name', + 'querystring' => 'SELECT server_id,server_name FROM server WHERE mail_server = 1 AND mirror_server_id = 0 AND {AUTHSQL} ORDER BY server_name', 'keyfield'=> 'server_id', 'valuefield'=> 'server_name' ), diff --git a/interface/web/mail/form/mail_content_filter.tform.php b/interface/web/mail/form/mail_content_filter.tform.php index 517174d9651ab39ad6bd1e3a7c60cc7bf057415e..550ae6b5d695743184d99859790a52445eb222f3 100644 --- a/interface/web/mail/form/mail_content_filter.tform.php +++ b/interface/web/mail/form/mail_content_filter.tform.php @@ -63,7 +63,7 @@ $form["tabs"]['filter'] = array ( 'formtype' => 'SELECT', 'default' => '', 'datasource' => array ( 'type' => 'SQL', - 'querystring' => 'SELECT server_id,server_name FROM server WHERE mirror_server_id = 0 AND {AUTHSQL} ORDER BY server_name', + 'querystring' => 'SELECT server_id,server_name FROM server WHERE mail_server = 1 AND mirror_server_id = 0 AND {AUTHSQL} ORDER BY server_name', 'keyfield'=> 'server_id', 'valuefield'=> 'server_name' ), diff --git a/interface/web/mail/form/mail_get.tform.php b/interface/web/mail/form/mail_get.tform.php index a74ff23931bd0a0145931b6945bf2a21a29f7775..c04973aa40ae21f07a39f1e35d7b46a7e105a4d4 100644 --- a/interface/web/mail/form/mail_get.tform.php +++ b/interface/web/mail/form/mail_get.tform.php @@ -68,7 +68,7 @@ $form["tabs"]['mailget'] = array ( 'formtype' => 'SELECT', 'default' => '', 'datasource' => array ( 'type' => 'SQL', - 'querystring' => 'SELECT server_id,server_name FROM server WHERE mirror_server_id = 0 AND {AUTHSQL} ORDER BY server_name', + 'querystring' => 'SELECT server_id,server_name FROM server WHERE mail_server = 1 AND mirror_server_id = 0 AND {AUTHSQL} ORDER BY server_name', 'keyfield'=> 'server_id', 'valuefield'=> 'server_name' ), diff --git a/interface/web/mail/form/mail_relay_recipient.tform.php b/interface/web/mail/form/mail_relay_recipient.tform.php index be8066869c4cd416d7b06603f0b09d1badf60834..210f5194b2728b552069b1f18d6de53a95fc07bf 100644 --- a/interface/web/mail/form/mail_relay_recipient.tform.php +++ b/interface/web/mail/form/mail_relay_recipient.tform.php @@ -63,7 +63,7 @@ $form["tabs"]['relay_recipient'] = array ( 'formtype' => 'SELECT', 'default' => '', 'datasource' => array ( 'type' => 'SQL', - 'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} ORDER BY server_name', + 'querystring' => 'SELECT server_id,server_name FROM server WHERE mail_server = 1 AND mirror_servr_id = 0 AND {AUTHSQL} ORDER BY server_name', 'keyfield'=> 'server_id', 'valuefield'=> 'server_name' ), diff --git a/interface/web/mail/form/mail_whitelist.tform.php b/interface/web/mail/form/mail_whitelist.tform.php index 3edb132df35d2c4542a4978c36ac99864fdbfd8a..f98423474a783093dc628a818836e1abaa302000 100644 --- a/interface/web/mail/form/mail_whitelist.tform.php +++ b/interface/web/mail/form/mail_whitelist.tform.php @@ -63,7 +63,7 @@ $form["tabs"]['whitelist'] = array ( 'formtype' => 'SELECT', 'default' => '', 'datasource' => array ( 'type' => 'SQL', - 'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} ORDER BY server_name', + 'querystring' => 'SELECT server_id,server_name FROM server WHERE mail_server = 1 AND mirror_server_id = 0 AND {AUTHSQL} ORDER BY server_name', 'keyfield'=> 'server_id', 'valuefield'=> 'server_name' ), diff --git a/interface/web/mail/form/spamfilter_blacklist.tform.php b/interface/web/mail/form/spamfilter_blacklist.tform.php index 495ce5f5fa398192a4c72e154cbabe8c1a557c68..a6637473eba94f8dee3374506326d1c161858fee 100644 --- a/interface/web/mail/form/spamfilter_blacklist.tform.php +++ b/interface/web/mail/form/spamfilter_blacklist.tform.php @@ -63,7 +63,7 @@ $form["tabs"]['blacklist'] = array ( 'formtype' => 'SELECT', 'default' => '', 'datasource' => array ( 'type' => 'SQL', - 'querystring' => 'SELECT server_id,server_name FROM server WHERE mirror_server_id = 0 AND {AUTHSQL} ORDER BY server_name', + 'querystring' => 'SELECT server_id,server_name FROM server WHERE mail_server = 1 AND mirror_server_id = 0 AND {AUTHSQL} ORDER BY server_name', 'keyfield'=> 'server_id', 'valuefield'=> 'server_name' ), diff --git a/interface/web/mail/form/spamfilter_users.tform.php b/interface/web/mail/form/spamfilter_users.tform.php index 2bbb12c0cf07c0c5ff3efd267eb229cfb05880fd..32a5e05001b56543007ca57cb366a84dcda9fdab 100644 --- a/interface/web/mail/form/spamfilter_users.tform.php +++ b/interface/web/mail/form/spamfilter_users.tform.php @@ -63,7 +63,7 @@ $form["tabs"]['users'] = array ( 'formtype' => 'SELECT', 'default' => '', 'datasource' => array ( 'type' => 'SQL', - 'querystring' => 'SELECT server_id,server_name FROM server WHERE mirror_server_id = 0 AND {AUTHSQL} ORDER BY server_name', + 'querystring' => 'SELECT server_id,server_name FROM server WHERE mail_server = 1 AND mirror_server_id = 0 AND {AUTHSQL} ORDER BY server_name', 'keyfield'=> 'server_id', 'valuefield'=> 'server_name' ), diff --git a/interface/web/mail/form/spamfilter_whitelist.tform.php b/interface/web/mail/form/spamfilter_whitelist.tform.php index ddd54d1635ddbb968e3ea5510ba7f622f5c2ecd4..5f8a176be715b1e60e14da5d799a6f8fadb7d4e1 100644 --- a/interface/web/mail/form/spamfilter_whitelist.tform.php +++ b/interface/web/mail/form/spamfilter_whitelist.tform.php @@ -63,7 +63,7 @@ $form["tabs"]['whitelist'] = array ( 'formtype' => 'SELECT', 'default' => '', 'datasource' => array ( 'type' => 'SQL', - 'querystring' => 'SELECT server_id,server_name FROM server WHERE mirror_server_id = 0 AND {AUTHSQL} ORDER BY server_name', + 'querystring' => 'SELECT server_id,server_name FROM server WHERE mail_server = 1 AND mirror_server_id = 0 AND {AUTHSQL} ORDER BY server_name', 'keyfield'=> 'server_id', 'valuefield'=> 'server_name' ), diff --git a/interface/web/mail/lib/lang/ar_mail_domain.lng b/interface/web/mail/lib/lang/ar_mail_domain.lng index 62e7e561c76c1422195962fa354e075e5f3dced9..1ab11938e005d2311b0c65fc75238499a907bf8d 100644 --- a/interface/web/mail/lib/lang/ar_mail_domain.lng +++ b/interface/web/mail/lib/lang/ar_mail_domain.lng @@ -14,9 +14,9 @@ $wb["dkim_txt"] = 'enable DKIM'; $wb["dkim_private_txt"] = 'DKIM Private-key'; $wb["dkim_public_txt"] = 'DKIM Public-key\nfor information only'; $wb["dkim_generate_txt"] = 'Generate DKIM Private-key'; -$wb["dkim_dns_txt"] = 'DNS-Record (TYPE TXT)<br><br>add this record to your DNS'; +$wb["dkim_dns_txt"] = 'DNS-Record'; $wb["dkim_private_key_error"] = 'Invalid DKIM-Private key'; $wb['dkim_selector_txt'] = 'DKIM-Selector'; -$wb['dkim_selector_error'] = 'Invalid DKIM-Selector. Use only lower-case alphanumeric characters (a-z or 0-9)'; +$wb['dkim_selector_error'] = 'Invalid DKIM-Selector. Use only lower-case alphanumeric characters (a-z or 0-9) up to 63 chars'; $wb["dkim_settings_txt"] = 'DomainKeys Identified Mail (DKIM)'; ?> diff --git a/interface/web/mail/lib/lang/bg_mail_domain.lng b/interface/web/mail/lib/lang/bg_mail_domain.lng index 71a73087942c2f2c090bf3aba5928e37be281a9c..6c4af599d64c9e51b2b998608da9df32016d8019 100644 --- a/interface/web/mail/lib/lang/bg_mail_domain.lng +++ b/interface/web/mail/lib/lang/bg_mail_domain.lng @@ -12,9 +12,9 @@ $wb["dkim_txt"] = 'enable DKIM'; $wb["dkim_private_txt"] = 'DKIM Private-key'; $wb["dkim_public_txt"] = 'DKIM Public-key\nfor information only'; $wb["dkim_generate_txt"] = 'Generate DKIM Private-key'; -$wb["dkim_dns_txt"] = 'DNS-Record (TYPE TXT)<br><br>add this record to your DNS'; +$wb["dkim_dns_txt"] = 'DNS-Record'; $wb['dkim_selector_txt'] = 'DKIM-Selector'; -$wb['dkim_selector_error'] = 'Invalid DKIM-Selector. Use only lower-case alphanumeric characters (a-z or 0-9)'; +$wb['dkim_selector_error'] = 'Invalid DKIM-Selector. Use only lower-case alphanumeric characters (a-z or 0-9) up to 63 chars'; $wb["dkim_private_key_error"] = 'Invalid DKIM-Private key'; $wb["dkim_settings_txt"] = 'DomainKeys Identified Mail (DKIM)'; $wb['policy_txt'] = 'Спамфилтър'; diff --git a/interface/web/mail/lib/lang/br_mail_domain.lng b/interface/web/mail/lib/lang/br_mail_domain.lng index bea417e902cef99a6701dbc359c3216b04c54ac9..456fb7d7dde567a03a0a00421d4f4351f2d9f8ba 100644 --- a/interface/web/mail/lib/lang/br_mail_domain.lng +++ b/interface/web/mail/lib/lang/br_mail_domain.lng @@ -14,9 +14,9 @@ $wb["dkim_txt"] = 'enable DKIM'; $wb["dkim_private_txt"] = 'DKIM Private-key'; $wb["dkim_public_txt"] = 'DKIM Public-key\nfor information only'; $wb["dkim_generate_txt"] = 'Generate DKIM Private-key'; -$wb["dkim_dns_txt"] = 'DNS-Record (TYPE TXT)<br><br>add this record to your DNS'; +$wb["dkim_dns_txt"] = 'DNS-Record'; $wb["dkim_private_key_error"] = 'Invalid DKIM-Private key'; $wb['dkim_selector_txt'] = 'DKIM-Selector'; -$wb['dkim_selector_error'] = 'Invalid DKIM-Selector. Use only lower-case alphanumeric characters (a-z or 0-9)'; +$wb['dkim_selector_error'] = 'Invalid DKIM-Selector. Use only lower-case alphanumeric characters (a-z or 0-9) up to 63 chars'; $wb["dkim_settings_txt"] = 'DomainKeys Identified Mail (DKIM)'; ?> diff --git a/interface/web/mail/lib/lang/cz_mail_domain.lng b/interface/web/mail/lib/lang/cz_mail_domain.lng index 4db28d961e4b73d77bee29c88144a5c3276feb7b..b4fe0478acd6eac6931a432c1140c645dd58ac3b 100644 --- a/interface/web/mail/lib/lang/cz_mail_domain.lng +++ b/interface/web/mail/lib/lang/cz_mail_domain.lng @@ -12,11 +12,11 @@ $wb["dkim_txt"] = 'enable DKIM'; $wb["dkim_private_txt"] = 'DKIM Private-key'; $wb["dkim_public_txt"] = 'DKIM Public-key\nfor information only'; $wb["dkim_generate_txt"] = 'Generate DKIM Private-key'; -$wb["dkim_dns_txt"] = 'DNS-Record (TYPE TXT)<br><br>add this record to your DNS'; +$wb["dkim_dns_txt"] = 'DNS-Record'; $wb["dkim_private_key_error"] = 'Invalid DKIM-Private key'; $wb["dkim_settings_txt"] = 'DomainKeys Identified Mail (DKIM)'; $wb['dkim_selector_txt'] = 'DKIM-Selector'; -$wb['dkim_selector_error'] = 'Invalid DKIM-Selector. Use only lower-case alphanumeric characters (a-z or 0-9)'; +$wb['dkim_selector_error'] = 'Invalid DKIM-Selector. Use only lower-case alphanumeric characters (a-z or 0-9) up to 63 chars'; $wb['policy_txt'] = 'Spamový filtr'; $wb['no_policy'] = '- nepovoleno -'; ?> diff --git a/interface/web/mail/lib/lang/de_mail_domain.lng b/interface/web/mail/lib/lang/de_mail_domain.lng index 8ea6ab610ef88d2137629ebbcd082619f9c249ea..a795358eb0756f4de636bc76e8cc404c896dd187 100644 --- a/interface/web/mail/lib/lang/de_mail_domain.lng +++ b/interface/web/mail/lib/lang/de_mail_domain.lng @@ -7,7 +7,7 @@ $wb["dkim_txt"] = 'DKIM aktivieren'; $wb["dkim_private_txt"] = 'DKIM Private-key'; $wb["dkim_public_txt"] = 'DKIM Public-key\nfor information only'; $wb["dkim_generate_txt"] = 'erstelle DKIM Private-key'; -$wb["dkim_dns_txt"] = 'DNS-Record (TYPE TXT)<br><br>add this record to your DNS'; +$wb["dkim_dns_txt"] = 'DNS-Record'; $wb["dkim_private_key_error"] = 'ungueltiger DKIM-Private key'; $wb['domain_error_empty'] = 'Domain ist leer'; $wb['domain_error_unique'] = 'Doppelte Domain.'; @@ -17,6 +17,6 @@ $wb['limit_maildomain_txt'] = 'Die maximale Anzahl an E-Mail Domains für Ihr Ko $wb['policy_txt'] = 'Spamfilter'; $wb['no_policy'] = '- nicht aktiviert -'; $wb['dkim_selector_txt'] = 'DKIM-Selector'; -$wb['dkim_selector_error'] = 'Ungültiger DKIM-Selector. Verwenden Sie nur alphanumerische Zeichen (a-z oder 0-9)'; +$wb['dkim_selector_error'] = 'Ungültiger DKIM-Selector. Verwenden Sie nur max. 63 alphanumerische Zeichen (a-z oder 0-9)'; $wb["dkim_settings_txt"] = 'DomainKeys Identified Mail (DKIM)'; ?> diff --git a/interface/web/mail/lib/lang/en_mail_domain.lng b/interface/web/mail/lib/lang/en_mail_domain.lng index fba0ca9e136ebd31cbee3c88c79b97da1e11ab71..dc2d4a3ded8c8f40c8f9a18f17cb1c180533fedd 100644 --- a/interface/web/mail/lib/lang/en_mail_domain.lng +++ b/interface/web/mail/lib/lang/en_mail_domain.lng @@ -7,7 +7,7 @@ $wb["dkim_txt"] = 'enable DKIM'; $wb["dkim_private_txt"] = 'DKIM Private-key'; $wb["dkim_public_txt"] = 'DKIM Public-key\nfor information only'; $wb["dkim_generate_txt"] = 'Generate DKIM Private-key'; -$wb["dkim_dns_txt"] = 'DNS-Record (TYPE TXT)<br><br>add this record to your DNS'; +$wb["dkim_dns_txt"] = 'DNS-Record'; $wb["dkim_private_key_error"] = 'Invalid DKIM-Private key'; $wb["domain_error_empty"] = 'Domain is empty.'; $wb["domain_error_unique"] = 'Duplicate Domain.'; @@ -19,5 +19,5 @@ $wb["policy_txt"] = 'Spamfilter'; $wb["no_policy"] = '- not enabled -'; $wb['error_not_allowed_server_id'] = 'Chosen server is not allowed for this account.'; $wb['dkim_selector_txt'] = 'DKIM-Selector'; -$wb['dkim_selector_error'] = 'Invalid DKIM-Selector. Use only lower-case alphanumeric characters (a-z or 0-9)'; +$wb['dkim_selector_error'] = 'Invalid DKIM-Selector. Use only lower-case alphanumeric characters (a-z or 0-9) up to 63 chars'; ?> diff --git a/interface/web/mail/lib/lang/es_mail_domain.lng b/interface/web/mail/lib/lang/es_mail_domain.lng index 177f22e2606f774bd0bc5b50fec56aca52f7016c..f9aca458ecfec25b4f14abca444185cc587a0525 100644 --- a/interface/web/mail/lib/lang/es_mail_domain.lng +++ b/interface/web/mail/lib/lang/es_mail_domain.lng @@ -14,9 +14,9 @@ $wb["dkim_txt"] = 'Activar DKIM'; $wb["dkim_private_txt"] = 'Clave privada DKIM'; $wb["dkim_public_txt"] = 'Clave pública DKIM\nsólo para información'; $wb["dkim_generate_txt"] = 'Generar clave privada DKIM'; -$wb["dkim_dns_txt"] = 'Registro DNS (TYPE TXT)<br><br>añade este registro a tus DNS'; +$wb["dkim_dns_txt"] = 'Registro DNS'; $wb["dkim_private_key_error"] = 'Clave privada DKIM no válida'; $wb['dkim_selector_txt'] = 'Selector DKIM'; -$wb['dkim_selector_error'] = 'Selector DKIM no válido. Usar sólo caracteres alfanuméricos en minúsculas (a-z o 0-9)'; +$wb['dkim_selector_error'] = 'Selector DKIM no válido. Usar sólo caracteres alfanuméricos en minúsculas (a-z o 0-9) up to 63 chars'; $wb["dkim_settings_txt"] = 'DomainKeys Identified Mail (DKIM)'; ?> diff --git a/interface/web/mail/lib/lang/fi_mail_domain.lng b/interface/web/mail/lib/lang/fi_mail_domain.lng index d1759031754ee68b1320493452ef0d0d0e240947..dc7041dbf035527f7c624a8881d94397d89845f1 100755 --- a/interface/web/mail/lib/lang/fi_mail_domain.lng +++ b/interface/web/mail/lib/lang/fi_mail_domain.lng @@ -14,9 +14,9 @@ $wb["dkim_txt"] = 'enable DKIM'; $wb["dkim_private_txt"] = 'DKIM Private-key'; $wb["dkim_public_txt"] = 'DKIM Public-key\nfor information only'; $wb["dkim_generate_txt"] = 'Generate DKIM Private-key'; -$wb["dkim_dns_txt"] = 'DNS-Record (TYPE TXT)<br><br>add this record to your DNS'; +$wb["dkim_dns_txt"] = 'DNS-Record'; $wb["dkim_private_key_error"] = 'Invalid DKIM-Private key'; $wb['dkim_selector_txt'] = 'DKIM-Selector'; -$wb['dkim_selector_error'] = 'Invalid DKIM-Selector. Use only lower-case alphanumeric characters (a-z or 0-9)'; +$wb['dkim_selector_error'] = 'Invalid DKIM-Selector. Use only lower-case alphanumeric characters (a-z or 0-9) up to 63 chars'; $wb["dkim_settings_txt"] = 'DomainKeys Identified Mail (DKIM)'; ?> diff --git a/interface/web/mail/lib/lang/fr_mail_domain.lng b/interface/web/mail/lib/lang/fr_mail_domain.lng index c0212d38b8c77dbc6411519f5725d6f7062f502f..bf12c5f41591abe01a53ad42e032539cf65626ba 100644 --- a/interface/web/mail/lib/lang/fr_mail_domain.lng +++ b/interface/web/mail/lib/lang/fr_mail_domain.lng @@ -7,7 +7,7 @@ $wb['dkim_txt'] = 'Activer DKIM'; $wb['dkim_private_txt'] = 'ClérivéDKIM'; $wb['dkim_public_txt'] = 'Cléublique DKIM\npour information seulement'; $wb['dkim_generate_txt'] = 'Gérer la clérivéDKIM'; -$wb['dkim_dns_txt'] = 'Enregistrement DNS (TYPE TXT)<br><br>Ajouter l\'enregistrement à otre DNS'; +$wb['dkim_dns_txt'] = 'Enregistrement DNS'; $wb['dkim_private_key_error'] = 'ClérivéDKIM invalide'; $wb['dkim_settings_txt'] = 'DomainKeys Identified Mail (DKIM)'; $wb['domain_error_empty'] = 'Le domaine est vide.'; @@ -19,6 +19,6 @@ $wb['policy_txt'] = 'Filtre antispam'; $wb['no_policy'] = '- inactif -'; $wb['error_not_allowed_server_id'] = 'Le serveur choisi n\'est pas autoriséour ce compte.'; $wb['dkim_selector_txt'] = 'DKIM-Selector'; -$wb['dkim_selector_error'] = 'Selecteur DKIM non valide. Utiliser que des caractès alphanuméques minuscules (a-z et/oo 0-9)'; +$wb['dkim_selector_error'] = 'Selecteur DKIM non valide. Utiliser que des caractès alphanuméques minuscules (a-z et/oo 0-9) up to 63 chars'; ?> diff --git a/interface/web/mail/lib/lang/hr_mail_domain.lng b/interface/web/mail/lib/lang/hr_mail_domain.lng index 7d56ea9e91467997dac99f8a1085cd5be93e6c09..59bba445839a99f35b3a17780d711dbfdd49f778 100644 --- a/interface/web/mail/lib/lang/hr_mail_domain.lng +++ b/interface/web/mail/lib/lang/hr_mail_domain.lng @@ -14,9 +14,9 @@ $wb["dkim_txt"] = 'enable DKIM'; $wb["dkim_private_txt"] = 'DKIM Private-key'; $wb["dkim_public_txt"] = 'DKIM Public-key\nfor information only'; $wb["dkim_generate_txt"] = 'Generate DKIM Private-key'; -$wb["dkim_dns_txt"] = 'DNS-Record (TYPE TXT)<br><br>add this record to your DNS'; +$wb["dkim_dns_txt"] = 'DNS-Record'; $wb["dkim_private_key_error"] = 'Invalid DKIM-Private key'; $wb['dkim_selector_txt'] = 'DKIM-Selector'; -$wb['dkim_selector_error'] = 'Invalid DKIM-Selector. Use only lower-case alphanumeric characters (a-z or 0-9)'; +$wb['dkim_selector_error'] = 'Invalid DKIM-Selector. Use only lower-case alphanumeric characters (a-z or 0-9) up to 63 chars'; $wb["dkim_settings_txt"] = 'DomainKeys Identified Mail (DKIM)'; ?> diff --git a/interface/web/mail/lib/lang/hu_mail_domain.lng b/interface/web/mail/lib/lang/hu_mail_domain.lng index 7173153df6988099fa1f4f76b5352a5bb940c54c..6a4f58d8295f8e87d3b25a5aea35c330c68af287 100644 --- a/interface/web/mail/lib/lang/hu_mail_domain.lng +++ b/interface/web/mail/lib/lang/hu_mail_domain.lng @@ -14,9 +14,9 @@ $wb["dkim_txt"] = 'enable DKIM'; $wb["dkim_private_txt"] = 'DKIM Private-key'; $wb["dkim_public_txt"] = 'DKIM Public-key\nfor information only'; $wb["dkim_generate_txt"] = 'Generate DKIM Private-key'; -$wb["dkim_dns_txt"] = 'DNS-Record (TYPE TXT)<br><br>add this record to your DNS'; +$wb["dkim_dns_txt"] = 'DNS-Record'; $wb["dkim_private_key_error"] = 'Invalid DKIM-Private key'; $wb['dkim_selector_txt'] = 'DKIM-Selector'; -$wb['dkim_selector_error'] = 'Invalid DKIM-Selector. Use only lower-case alphanumeric characters (a-z or 0-9)'; +$wb['dkim_selector_error'] = 'Invalid DKIM-Selector. Use only lower-case alphanumeric characters (a-z or 0-9) up to 63 chars'; $wb["dkim_settings_txt"] = 'DomainKeys Identified Mail (DKIM)'; ?> diff --git a/interface/web/mail/lib/lang/id_mail_domain.lng b/interface/web/mail/lib/lang/id_mail_domain.lng index e0709542463fdb0277a4efa060322b4b9fc1e639..1bfe29408f65873dd2985104c6ac28b13df7485c 100644 --- a/interface/web/mail/lib/lang/id_mail_domain.lng +++ b/interface/web/mail/lib/lang/id_mail_domain.lng @@ -14,9 +14,9 @@ $wb["dkim_txt"] = 'enable DKIM'; $wb["dkim_private_txt"] = 'DKIM Private-key'; $wb["dkim_public_txt"] = 'DKIM Public-key\nfor information only'; $wb["dkim_generate_txt"] = 'Generate DKIM Private-key'; -$wb["dkim_dns_txt"] = 'DNS-Record (TYPE TXT)<br><br>add this record to your DNS'; +$wb["dkim_dns_txt"] = 'DNS-Record'; $wb["dkim_private_key_error"] = 'Invalid DKIM-Private key'; $wb['dkim_selector_txt'] = 'DKIM-Selector'; -$wb['dkim_selector_error'] = 'Invalid DKIM-Selector. Use only lower-case alphanumeric characters (a-z or 0-9)'; +$wb['dkim_selector_error'] = 'Invalid DKIM-Selector. Use only lower-case alphanumeric characters (a-z or 0-9) up to 63 chars'; $wb["dkim_settings_txt"] = 'DomainKeys Identified Mail (DKIM)'; ?> diff --git a/interface/web/mail/lib/lang/it_mail_domain.lng b/interface/web/mail/lib/lang/it_mail_domain.lng index 00d2701922d2d2f3fb393f1c72f109a9e5c4db32..cbbd9e6c831483bbf98713b1564ff93d9c7cfed8 100644 --- a/interface/web/mail/lib/lang/it_mail_domain.lng +++ b/interface/web/mail/lib/lang/it_mail_domain.lng @@ -14,9 +14,9 @@ $wb["dkim_txt"] = 'enable DKIM'; $wb["dkim_private_txt"] = 'DKIM Private-key'; $wb["dkim_public_txt"] = 'DKIM Public-key\nfor information only'; $wb["dkim_generate_txt"] = 'Generate DKIM Private-key'; -$wb["dkim_dns_txt"] = 'DNS-Record (TYPE TXT)<br><br>add this record to your DNS'; +$wb["dkim_dns_txt"] = 'DNS-Record'; $wb["dkim_private_key_error"] = 'Invalid DKIM-Private key'; $wb['dkim_selector_txt'] = 'DKIM-Selector'; -$wb['dkim_selector_error'] = 'Invalid DKIM-Selector. Use only lower-case alphanumeric characters (a-z or 0-9)'; +$wb['dkim_selector_error'] = 'Invalid DKIM-Selector. Use only lower-case alphanumeric characters (a-z or 0-9) up to 63 chars'; $wb["dkim_settings_txt"] = 'DomainKeys Identified Mail (DKIM)'; ?> diff --git a/interface/web/mail/lib/lang/ja_mail_domain.lng b/interface/web/mail/lib/lang/ja_mail_domain.lng index aa355e17cccd0acb0976ea4288bd4961091141eb..57d2aa63bb6a20f25b901796b1559bd408dca548 100644 --- a/interface/web/mail/lib/lang/ja_mail_domain.lng +++ b/interface/web/mail/lib/lang/ja_mail_domain.lng @@ -14,7 +14,7 @@ $wb["dkim_private_txt"] = 'DKIM Private-key'; $wb["dkim_public_txt"] = 'DKIM Public-key\nfor information only'; $wb["dkim_generate_txt"] = 'Generate DKIM Private-key'; $wb["dkim_settings_txt"] = 'DomainKeys Identified Mail (DKIM)'; -$wb["dkim_dns_txt"] = 'DNS-Record (TYPE TXT)<br><br>add this record to your DNS'; +$wb["dkim_dns_txt"] = 'DNS-Record'; $wb["dkim_private_key_error"] = 'Invalid DKIM-Private key'; $wb['no_policy'] = '使ã‚ãªã„'; ?> diff --git a/interface/web/mail/lib/lang/nl_mail_domain.lng b/interface/web/mail/lib/lang/nl_mail_domain.lng index 1d08b8cb78044aa4965075a1d59172120d5e3f62..4833475b9ab45046f977399d10ab69e4e5830bcb 100644 --- a/interface/web/mail/lib/lang/nl_mail_domain.lng +++ b/interface/web/mail/lib/lang/nl_mail_domain.lng @@ -14,9 +14,9 @@ $wb["dkim_txt"] = 'enable DKIM'; $wb["dkim_private_txt"] = 'DKIM Private-key'; $wb["dkim_public_txt"] = 'DKIM Public-key\nfor information only'; $wb["dkim_generate_txt"] = 'Generate DKIM Private-key'; -$wb["dkim_dns_txt"] = 'DNS-Record (TYPE TXT)<br><br>add this record to your DNS'; +$wb["dkim_dns_txt"] = 'DNS-Record'; $wb["dkim_private_key_error"] = 'Invalid DKIM-Private key'; $wb['dkim_selector_txt'] = 'DKIM-Selector'; -$wb['dkim_selector_error'] = 'Invalid DKIM-Selector. Use only lower-case alphanumeric characters (a-z or 0-9)'; +$wb['dkim_selector_error'] = 'Invalid DKIM-Selector. Use only lower-case alphanumeric characters (a-z or 0-9) up to 63 chars'; $wb["dkim_settings_txt"] = 'DomainKeys Identified Mail (DKIM)'; ?> diff --git a/interface/web/mail/lib/lang/pl_mail_domain.lng b/interface/web/mail/lib/lang/pl_mail_domain.lng index edded2a016cfb307f9613b7b77053eaea7edfa3e..3b0b6b9ff446ad42934e70f52b68557642024dc5 100644 --- a/interface/web/mail/lib/lang/pl_mail_domain.lng +++ b/interface/web/mail/lib/lang/pl_mail_domain.lng @@ -14,9 +14,9 @@ $wb["dkim_txt"] = 'enable DKIM'; $wb["dkim_private_txt"] = 'DKIM Private-key'; $wb["dkim_public_txt"] = 'DKIM Public-key\nfor information only'; $wb["dkim_generate_txt"] = 'Generate DKIM Private-key'; -$wb["dkim_dns_txt"] = 'DNS-Record (TYPE TXT)<br><br>add this record to your DNS'; +$wb["dkim_dns_txt"] = 'DNS-Record'; $wb["dkim_private_key_error"] = 'Invalid DKIM-Private key'; $wb['dkim_selector_txt'] = 'DKIM-Selector'; -$wb['dkim_selector_error'] = 'Invalid DKIM-Selector. Use only lower-case alphanumeric characters (a-z or 0-9)'; +$wb['dkim_selector_error'] = 'Invalid DKIM-Selector. Use only lower-case alphanumeric characters (a-z or 0-9) up to 63 chars'; $wb["dkim_settings_txt"] = 'DomainKeys Identified Mail (DKIM)'; ?> diff --git a/interface/web/mail/lib/lang/pt_mail_domain.lng b/interface/web/mail/lib/lang/pt_mail_domain.lng index cc4c06520f71ffb90446e837719a50224c39ae43..3d83145368f52ef2f075f27100de694e008020e4 100644 --- a/interface/web/mail/lib/lang/pt_mail_domain.lng +++ b/interface/web/mail/lib/lang/pt_mail_domain.lng @@ -14,9 +14,9 @@ $wb["dkim_txt"] = 'enable DKIM'; $wb["dkim_private_txt"] = 'DKIM Private-key'; $wb["dkim_public_txt"] = 'DKIM Public-key\nfor information only'; $wb["dkim_generate_txt"] = 'Generate DKIM Private-key'; -$wb["dkim_dns_txt"] = 'DNS-Record (TYPE TXT)<br><br>add this record to your DNS'; +$wb["dkim_dns_txt"] = 'DNS-Record'; $wb["dkim_private_key_error"] = 'Invalid DKIM-Private key'; $wb['dkim_selector_txt'] = 'DKIM-Selector'; -$wb['dkim_selector_error'] = 'Invalid DKIM-Selector. Use only lower-case alphanumeric characters (a-z or 0-9)'; +$wb['dkim_selector_error'] = 'Invalid DKIM-Selector. Use only lower-case alphanumeric characters (a-z or 0-9) up to 63 chars'; $wb["dkim_settings_txt"] = 'DomainKeys Identified Mail (DKIM)'; ?> diff --git a/interface/web/mail/lib/lang/ro_mail_domain.lng b/interface/web/mail/lib/lang/ro_mail_domain.lng index b2c6bbfe2a692c43a5fa13a6a36ed43c02757936..d48e4e97613097c789f39f06736aefdb7f60ca0a 100644 --- a/interface/web/mail/lib/lang/ro_mail_domain.lng +++ b/interface/web/mail/lib/lang/ro_mail_domain.lng @@ -14,9 +14,9 @@ $wb["dkim_txt"] = 'enable DKIM'; $wb["dkim_private_txt"] = 'DKIM Private-key'; $wb["dkim_public_txt"] = 'DKIM Public-key\nfor information only'; $wb["dkim_generate_txt"] = 'Generate DKIM Private-key'; -$wb["dkim_dns_txt"] = 'DNS-Record (TYPE TXT)<br><br>add this record to your DNS'; +$wb["dkim_dns_txt"] = 'DNS-Record'; $wb["dkim_private_key_error"] = 'Invalid DKIM-Private key'; $wb['dkim_selector_txt'] = 'DKIM-Selector'; -$wb['dkim_selector_error'] = 'Invalid DKIM-Selector. Use only lower-case alphanumeric characters (a-z or 0-9)'; +$wb['dkim_selector_error'] = 'Invalid DKIM-Selector. Use only lower-case alphanumeric characters (a-z or 0-9) up to 63 chars'; $wb["dkim_settings_txt"] = 'DomainKeys Identified Mail (DKIM)'; ?> diff --git a/interface/web/mail/lib/lang/se_mail_domain.lng b/interface/web/mail/lib/lang/se_mail_domain.lng index 1037810c1ae59b600a983dd83172c75167b666fe..e3715f67a94659f0f20a3f886a2c9191ec606b1a 100644 --- a/interface/web/mail/lib/lang/se_mail_domain.lng +++ b/interface/web/mail/lib/lang/se_mail_domain.lng @@ -13,10 +13,10 @@ $wb["dkim_txt"] = 'enable DKIM'; $wb["dkim_private_txt"] = 'DKIM Private-key'; $wb["dkim_public_txt"] = 'DKIM Public-key\nfor information only'; $wb["dkim_generate_txt"] = 'Generate DKIM Private-key'; -$wb["dkim_dns_txt"] = 'DNS-Record (TYPE TXT)<br><br>add this record to your DNS'; +$wb["dkim_dns_txt"] = 'DNS-Record'; $wb["dkim_private_key_error"] = 'Invalid DKIM-Private key'; $wb['dkim_selector_txt'] = 'DKIM-Selector'; -$wb['dkim_selector_error'] = 'Invalid DKIM-Selector. Use only lower-case alphanumeric characters (a-z or 0-9)'; +$wb['dkim_selector_error'] = 'Invalid DKIM-Selector. Use only lower-case alphanumeric characters (a-z or 0-9) up to 63 chars'; $wb["dkim_settings_txt"] = 'DomainKeys Identified Mail (DKIM)'; $wb['no_policy'] = '- ej aktiverat -'; ?> diff --git a/interface/web/mail/lib/lang/sk_mail_domain.lng b/interface/web/mail/lib/lang/sk_mail_domain.lng index 5da0b80d33b770695c37a6b96016d5b130b2a26b..ca4e753db08c82765cefcfe5a069fd1d6ce5b7af 100644 --- a/interface/web/mail/lib/lang/sk_mail_domain.lng +++ b/interface/web/mail/lib/lang/sk_mail_domain.lng @@ -12,9 +12,9 @@ $wb["dkim_txt"] = 'enable DKIM'; $wb["dkim_private_txt"] = 'DKIM Private-key'; $wb["dkim_public_txt"] = 'DKIM Public-key\nfor information only'; $wb["dkim_generate_txt"] = 'Generate DKIM Private-key'; -$wb["dkim_dns_txt"] = 'DNS-Record (TYPE TXT)<br><br>add this record to your DNS'; +$wb["dkim_dns_txt"] = 'DNS-Record'; $wb["dkim_private_key_error"] = 'Invalid DKIM-Private key'; -$wb['dkim_selector_error'] = 'Invalid DKIM-Selector. Use only lower-case alphanumeric characters (a-z or 0-9)'; +$wb['dkim_selector_error'] = 'Invalid DKIM-Selector. Use only lower-case alphanumeric characters (a-z or 0-9) up to 63 chars'; $wb['policy_txt'] = 'Spamfilter'; $wb['no_policy'] = '- Nie je aktivovaný -'; diff --git a/interface/web/mail/lib/lang/tr_mail_domain.lng b/interface/web/mail/lib/lang/tr_mail_domain.lng index 43dfe77892595ef6a335189e180cb2d84217268d..ffc92028254568f3c6fe53e96025339e7abf7924 100644 --- a/interface/web/mail/lib/lang/tr_mail_domain.lng +++ b/interface/web/mail/lib/lang/tr_mail_domain.lng @@ -14,9 +14,9 @@ $wb["dkim_txt"] = 'enable DKIM'; $wb["dkim_private_txt"] = 'DKIM Private-key'; $wb["dkim_public_txt"] = 'DKIM Public-key\nfor information only'; $wb["dkim_generate_txt"] = 'Generate DKIM Private-key'; -$wb["dkim_dns_txt"] = 'DNS-Record (TYPE TXT)<br><br>add this record to your DNS'; +$wb["dkim_dns_txt"] = 'DNS-Record'; $wb["dkim_private_key_error"] = 'Invalid DKIM-Private key'; $wb['dkim_selector_txt'] = 'DKIM-Selector'; -$wb['dkim_selector_error'] = 'Invalid DKIM-Selector. Use only lower-case alphanumeric characters (a-z or 0-9)'; +$wb['dkim_selector_error'] = 'Invalid DKIM-Selector. Use only lower-case alphanumeric characters (a-z or 0-9) up to 63 chars'; $wb["dkim_settings_txt"] = 'DomainKeys Identified Mail (DKIM)'; ?> diff --git a/interface/web/mail/mail_domain_dkim_create.php b/interface/web/mail/mail_domain_dkim_create.php index 0f636b12db63306c504abd822bf56ff482aefec4..fa1e298a31f64ea59a1c899459589d623195d6d8 100644 --- a/interface/web/mail/mail_domain_dkim_create.php +++ b/interface/web/mail/mail_domain_dkim_create.php @@ -32,7 +32,7 @@ /** * This script is invoked by interface/js/mail_domain_dkim.js * to generate or show the DKIM Private-key and to show the Private-key. -* returns DKIM Private-Key and DKIM Public-Key +* returns DKIM keys, selector, and dns-record */ @@ -40,14 +40,22 @@ require_once '../../lib/config.inc.php'; require_once '../../lib/app.inc.php'; require_once '../../lib/classes/validate_dkim.inc.php'; -$validate_dkim=new validate_dkim (); - //* Check permissions for module $app->auth->check_module_permissions('mail'); header('Content-Type: text/xml; charset=utf-8'); header('Cache-Control: must-revalidate, pre-check=0, no-store, no-cache, max-age=0, post-check=0'); +function validate_domain($domain) { + $regex = '/^[\w\.\-]{2,255}\.[a-zA-Z0-9\-]{2,30}$/'; + if ( preg_match($regex, $domain) === 1 ) return true; else return false; +} + +function validate_selector($selector) { + $regex = '/^[a-z0-9]{0,63}$/'; + if ( preg_match($regex, $selector) === 1 ) return true; else return false; +} + /** * This function fix PHP's messing up POST input containing characters space, dot, * open square bracket and others to be compatible with with the deprecated register_globals @@ -76,10 +84,9 @@ function pub_key($pubkey) { return $public_key; } -function get_public_key($private_key) { - require_once('../../lib/classes/validate_dkim.inc.php'); +function get_public_key($private_key, $dkim_strength) { $validate_dkim=new validate_dkim (); - if($validate_dkim->validate_post('private',$private_key)) { /* validate the $_POST-value */ + if($validate_dkim->validate_post('private', $private_key, $dkim_strength)) { /* validate the $_POST-value */ exec('echo '.escapeshellarg($private_key).'|openssl rsa -pubout -outform PEM 2> /dev/null',$pubkey,$result); $public_key=pub_key($pubkey); } else { @@ -88,27 +95,70 @@ function get_public_key($private_key) { return $public_key; } -$_POST=getRealPOST(); +/** + * This function updates the selector if a new key-pair was created + * and the selector is already used in the dns-record + * @param string $old_selector + * @return string selector + */ +function new_selector ($old_selector, $domain) { + global $app; + //* validate post-values + if ( validate_domain($domain) && validate_selector($old_selector) ) { + //* get active selectors from dns + $soa_rec = $app->db->queryOneRecord("SELECT * FROM dns_soa WHERE active = 'Y' AND origin = ?", $domain.'.'); + if ( isset($soa_rec) && !empty($soa_rec) ) { + //* check for a dkim-record in the dns? + $dns_data = $app->db->queryOneRecord("SELECT name FROM dns_rr WHERE name = ? AND active = 'Y'", $old_selector.'._domainkey.'.$domain.'.'); + $selector = str_replace( '._domainkey.'.$domain.'.', '', $dns_data['name']); + if ( $old_selector == $selector) { + $selector = substr($old_selector, 0, 53) . time(); //* add unix-timestamp to delimiter to allow old and new key in the dns + } else { + $selector = $old_selector; + } + } + } else { + $selector = 'invalid domain or selector'; + } + return $selector; +} + +//* get dkim-strength for server_id +$mail_server_id = $app->functions->intval( $app->db->queryOneRecord("SELECT server_id from mail_domain WHERE domain = ?", $_POST['domain']) ); +$dkim_strength = $app->functions->intval( $app->getconf->get_server_config($mail_server_id, 'mail')['dkim_strength'] ); +if ( empty($dkim_strength) ) $dkim_strength = 1024; switch ($_POST['action']) { case 'create': /* create DKIM Private-key */ - exec('openssl rand -out /usr/local/ispconfig/server/temp/random-data.bin 4096 2> /dev/null', $output, $result); - exec('openssl genrsa -rand /usr/local/ispconfig/server/temp/random-data.bin 1024 2> /dev/null', $privkey, $result); - unlink("/usr/local/ispconfig/server/temp/random-data.bin"); + $_POST=getRealPOST(); + $rnd_val = $dkim_strength * 10; + exec('openssl rand -out ../../temp/random-data.bin '.$rnd_val.' 2> /dev/null', $output, $result); + exec('openssl genrsa -rand ../../temp/random-data.bin '.$dkim_strength.' 2> /dev/null', $privkey, $result); + unlink('../../temp/random-data.bin'); foreach($privkey as $values) $private_key=$private_key.$values."\n"; + //* check the selector for updated dkim-settings only + if ( isset($_POST['dkim_public']) && !empty($_POST['dkim_public']) ) $selector = new_selector($_POST['dkim_selector'], $_POST['domain']); break; case 'show': /* show the DNS-Record onLoad */ - $private_key=$_POST['pkey']; + $_POST=getRealPOST(); + $private_key=$_POST['dkim_private']; break; } -$public_key=get_public_key($private_key); +$public_key=get_public_key($private_key, $dkim_strength); $dns_record=str_replace(array('-----BEGIN PUBLIC KEY-----','-----END PUBLIC KEY-----',"\r","\n"),'',$public_key); + +if ( !isset($selector) ) { + if ( validate_selector($_POST['dkim_selector']) ) $selector=$_POST['dkim_selector']; +} echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"; echo "<formatname>\n"; +echo "<selector>".$selector."</selector>\n"; echo "<privatekey>".$private_key."</privatekey>\n"; echo "<publickey>".$public_key."</publickey>\n"; -echo "<dns_record>v=DKIM1; t=s; p=".$dns_record."</dns_record>\n"; +if ( validate_domain($_POST['domain']) ) { + echo '<dns_record>'.$selector.'_domainkey.'.$_POST['domain'].'. 3600 TXT "v=DKIM1; t=s; p='.$dns_record.'"</dns_record>'; +} echo "</formatname>\n"; ?> diff --git a/interface/web/mail/mail_domain_edit.php b/interface/web/mail/mail_domain_edit.php index c5cecf5b571172d8afba078d8a5bd43512fc9fc0..f4053768c2715b36786f88f5e7fa1af9d6abc24e 100644 --- a/interface/web/mail/mail_domain_edit.php +++ b/interface/web/mail/mail_domain_edit.php @@ -286,10 +286,10 @@ class page_action extends tform_actions { //* create dns-record with dkim-values if the zone exists if ( (isset($this->dataRecord['dkim']) && $this->dataRecord['dkim'] == 'y') && (isset($this->dataRecord['active']) && $this->dataRecord['active'] == 'y') ) { $soa_rec = $app->db->queryOneRecord("SELECT id AS zone, sys_userid, sys_groupid, sys_perm_user, sys_perm_group, sys_perm_other, server_id, ttl, serial FROM dns_soa WHERE active = 'Y' AND origin = ?", $this->dataRecord['domain'].'.'); - if ( isset($soa_rec) ) { + if ( isset($soa_rec) && !empty($soa_rec) ) { //* check for a dkim-record in the dns $dns_data = $app->db->queryOneRecord("SELECT * FROM dns_rr WHERE name = ? AND sys_groupid = ?", $this->dataRecord['dkim_selector'].'._domainkey.'.$this->dataRecord['domain'].'.', $_SESSION["s"]["user"]['sys_groupid']); - if ( isset($dns_data) ) { + if ( isset($dns_data) && !empty($dns_data) ) { $dns_data['data'] = 'v=DKIM1; t=s; p='.str_replace(array('-----BEGIN PUBLIC KEY-----','-----END PUBLIC KEY-----',"\r","\n"), '', $this->dataRecord['dkim_public']); $dns_data['active'] = 'Y'; $dns_data['stamp'] = date('Y-m-d H:i:s'); @@ -346,7 +346,7 @@ class page_action extends tform_actions { //* get domain-data from the db $mail_data = $app->db->queryOneRecord("SELECT * FROM mail_domain WHERE domain = ?", $this->dataRecord['domain']); - if ( isset($mail_data) ) { + if ( isset($mail_data) && !empty($mail_data) ) { $post_data = $mail_data; $post_data['dkim_selector'] = $this->dataRecord['dkim_selector']; $post_data['dkim_public'] = $this->dataRecord['dkim_public']; @@ -358,7 +358,7 @@ class page_action extends tform_actions { //* dkim-value changed if ( $mail_data != $post_data ) { //* get the dns-record for the public from the db - $dns_data = $app->db->queryOneRecord("SELECT * FROM dns_rr WHERE name = ? AND sys_groupid = ?'", $mail_data['dkim_selector'].'._domainkey.'.$mail_data['domain'].'.', $mail_data['sys_groupid']); + $dns_data = $app->db->queryOneRecord("SELECT * FROM dns_rr WHERE name = ? AND sys_groupid = ?", $mail_data['dkim_selector'].'._domainkey.'.$mail_data['domain'].'.', $mail_data['sys_groupid']); //* we modify dkim dns-values for active mail-domains only if ( $post_data['active'] == 'y' ) { @@ -376,7 +376,7 @@ class page_action extends tform_actions { } } else $new_dns_data['active'] = 'N'; - if ( isset($dns_data) && isset($new_dns_data) ) { + if ( isset($dns_data) && !empty($dns_data) && isset($new_dns_data) ) { //* update dns-record $new_dns_data['serial'] = $app->validate_dns->increase_serial($dns_data['serial']); $app->db->datalogUpdate('dns_rr', $new_dns_data, 'id', $dns_data['id']); @@ -387,7 +387,7 @@ class page_action extends tform_actions { //* create a new dns-record $new_dns_data = $app->db->queryOneRecord("SELECT id AS zone, sys_userid, sys_groupid, sys_perm_user, sys_perm_group, sys_perm_other, server_id, ttl, serial FROM dns_soa WHERE active = 'Y' AND origin = ?", $mail_data['domain'].'.'); //* create a new record only if the dns-zone exists - if ( isset($new_dns_data) && $post_data['dkim'] == 'y' ) { + if ( isset($new_dns_data) && !empty($new_dns_data) && $post_data['dkim'] == 'y' ) { $new_dns_data['name'] = $post_data['dkim_selector'].'._domainkey.'.$post_data['domain'].'.'; $new_dns_data['type'] = 'TXT'; $new_dns_data['data'] = 'v=DKIM1; t=s; p='.str_replace(array('-----BEGIN PUBLIC KEY-----','-----END PUBLIC KEY-----',"\r","\n"), '', $post_data['dkim_public']); diff --git a/interface/web/mail/templates/mail_domain_edit.htm b/interface/web/mail/templates/mail_domain_edit.htm old mode 100644 new mode 100755 index 658f0cfbc71464f7445f107d4acedfe36bbc900a..27dcb1c01d8f139a08b38cb30288b32f34caf35a --- a/interface/web/mail/templates/mail_domain_edit.htm +++ b/interface/web/mail/templates/mail_domain_edit.htm @@ -97,7 +97,7 @@ <div class="ctrlHolder"> <label for="dkim_private">{tmpl_var name='dkim_private_txt'}</label> <textarea name="dkim_private" id="dkim_private" rows='10' cols='30'>{tmpl_var name='dkim_private'}</textarea> -<a href="javascript:setRequest('create','{tmpl_var name='domain'}')">{tmpl_var name='dkim_generate_txt'}</a> +<a href="javascript:setRequest('create','{tmpl_var name='domain'}','{tmpl_var name='dkim_selector'}')">{tmpl_var name='dkim_generate_txt'}</a> </div> <div class="ctrlHolder"> <textarea name="dkim_public" style="display:none;" id="dkim_public" rows='5' cols='30' readonly>{tmpl_var name='dkim_public'}</textarea> @@ -108,6 +108,7 @@ </div> </div> + </fieldset> <input type="hidden" name="id" value="{tmpl_var name='id'}"> @@ -118,6 +119,5 @@ <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onclick="loadContent('mail/mail_domain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button> </div> </div> - </div> <script language="JavaScript" type="text/javascript" src="js/mail_domain_dkim.js"></script> diff --git a/interface/web/tools/form/resync.tform.php b/interface/web/tools/form/resync.tform.php new file mode 100644 index 0000000000000000000000000000000000000000..01c9470c45c4e4ecdc19d4de66478598ce994170 --- /dev/null +++ b/interface/web/tools/form/resync.tform.php @@ -0,0 +1,114 @@ +<?php +$form["title"] = "Resync Tool"; +$form["description"] = ""; +$form["name"] = "resync"; +$form["action"] = "resync_do.php"; +$form["db_history"] = "no"; +$form["tab_default"] = "resync"; +$form["list_default"] = "resync_show.php"; +$form["auth"] = 'yes'; + +$form["auth_preset"]["userid"] = 0; // 0 = id of the user, > 0 id must match with id of current user +$form["auth_preset"]["groupid"] = 0; // 0 = default groupid of the user, > 0 id must match with groupid of current user +$form["auth_preset"]["perm_user"] = 'riud'; //r = read, i = insert, u = update, d = delete +$form["auth_preset"]["perm_group"] = 'riud'; //r = read, i = insert, u = update, d = delete +$form["auth_preset"]["perm_other"] = ''; //r = read, i = insert, u = update, d = delete + +$form["tabs"]['resync'] = array ( + 'title' => "Resync", + 'width' => 100, + 'template' => "templates/resync.htm", + 'fields' => array ( + 'mail_server_id' => array ( + 'datatype' => 'INTEGER', + 'formtype' => 'SELECT', + 'default' => '', + 'datasource' => array ( 'type' => 'SQL', + 'querystring' => 'SELECT server_id FROM server WHERE mail_server = 1 AND mirror_server_id = 0 AND {AUTHSQL}', + 'keyfield'=> 'server_id', + 'valuefield'=> 'server_name' + ), + 'value' => '' + ), + 'web_server_id' => array ( + 'datatype' => 'INTEGER', + 'formtype' => 'SELECT', + 'default' => '', + 'datasource' => array ( 'type' => 'SQL', + 'querystring' => 'SELECT server_id FROM server WHERE web_server = 1 AND mirror_server_id = 0 AND {AUTHSQL}', + 'keyfield'=> 'server_id', + 'valuefield'=> 'server_name' + ), + 'value' => '' + ), + 'dns_server_id' => array ( + 'datatype' => 'INTEGER', + 'formtype' => 'SELECT', + 'default' => '', + 'datasource' => array ( 'type' => 'SQL', + 'querystring' => 'SELECT server_id FROM server WHERE dns_server = 1 AND mirror_server_id = 0 AND {AUTHSQL}', + 'keyfield'=> 'server_id', + 'valuefield'=> 'server_name' + ), + 'value' => '' + ), + 'file_server_id' => array ( + 'datatype' => 'INTEGER', + 'formtype' => 'SELECT', + 'default' => '', + 'datasource' => array ( 'type' => 'SQL', + 'querystring' => 'SELECT server_id FROM server WHERE file_server = 1 AND mirror_server_id = 0 AND {AUTHSQL}', + 'keyfield'=> 'server_id', + 'valuefield'=> 'server_name' + ), + 'value' => '' + ), + 'db_server_id' => array ( + 'datatype' => 'INTEGER', + 'formtype' => 'SELECT', + 'default' => '', + 'datasource' => array ( 'type' => 'SQL', + 'querystring' => 'SELECT server_id FROM server WHERE db_server = 1 AND mirror_server_id = 0 AND {AUTHSQL}', + 'keyfield'=> 'server_id', + 'valuefield'=> 'server_name' + ), + 'value' => '' + ), + 'vserver_server_id' => array ( + 'datatype' => 'INTEGER', + 'formtype' => 'SELECT', + 'default' => '', + 'datasource' => array ( 'type' => 'SQL', + 'querystring' => 'SELECT server_id FROM server WHERE vserver_server = 1 AND mirror_server_id = 0 AND {AUTHSQL}', + 'keyfield'=> 'server_id', + 'valuefield'=> 'server_name' + ), + 'value' => '' + ), + 'proxy_server_id' => array ( + 'datatype' => 'INTEGER', + 'formtype' => 'SELECT', + 'default' => '', + 'datasource' => array ( 'type' => 'SQL', + 'querystring' => 'SELECT server_id FROM server WHERE proxy_server = 1 AND mirror_server_id = 0 AND {AUTHSQL}', + 'keyfield'=> 'server_id', + 'valuefield'=> 'server_name' + ), + 'value' => '' + ), + 'firewall_server_id' => array ( + 'datatype' => 'INTEGER', + 'formtype' => 'SELECT', + 'default' => '', + 'datasource' => array ( 'type' => 'SQL', + 'querystring' => 'SELECT server_id FROM server WHERE firewall_server = 1 AND mirror_server_id = 0 AND {AUTHSQL}', + 'keyfield'=> 'server_id', + 'valuefield'=> 'server_name' + ), + 'value' => '' + ), + ) +); + + +?> diff --git a/interface/web/tools/lib/lang/ar_resync.lng b/interface/web/tools/lib/lang/ar_resync.lng index dd8a216c7665b7ce169af5c17b7d83a4b6ed11f6..4e89bdeada5f93ce2817484d22fc9362a86278ea 100644 --- a/interface/web/tools/lib/lang/ar_resync.lng +++ b/interface/web/tools/lib/lang/ar_resync.lng @@ -2,13 +2,18 @@ $wb['head_txt'] = 'Resync Tool'; $wb['legend_txt'] = 'Resync'; $wb['resync_sites_txt'] = 'Resync Websites'; -$wb['resync_ftp_txt'] = 'Resync FTP users'; +$wb['resync_ftp_txt'] = 'Resync FTP-Accounts'; +$wb['resync_webdav_txt'] = 'Resync WebDAV-Users'; $wb['resync_shell_txt'] = 'Resync shell users'; $wb['resync_cron_txt'] = 'Resync cronjobs'; -$wb['resync_db_txt'] = 'Resync clientdb config'; +$wb['resync_db_txt'] = 'Resync Client Database config'; $wb['resync_mailbox_txt'] = 'Resync Mailboxes'; +$wb['resync_mail_txt'] = 'Resync Maildomains'; $wb['resync_dns_txt'] = 'Resync DNS records'; +$wb['resync_vserver_txt'] = 'Resync vServer'; +$wb['resync_client_txt'] = 'Resync Client records'; +$wb['resync_firewall_txt'] = 'Resync Firewall'; +$wb['resync_no_server_txt'] = 'No active server found'; $wb['btn_start_txt'] = 'Start'; $wb['btn_cancel_txt'] = 'Cancel'; -$wb['resync_client_txt'] = 'Resync Client records'; ?> diff --git a/interface/web/tools/lib/lang/bg_resync.lng b/interface/web/tools/lib/lang/bg_resync.lng index 764e517c0c4090b954b78d9ba7d3912e80561e16..3a6a9db74e6a71c2afac95fab71f31f8cfa84ec2 100644 --- a/interface/web/tools/lib/lang/bg_resync.lng +++ b/interface/web/tools/lib/lang/bg_resync.lng @@ -11,4 +11,9 @@ $wb['resync_dns_txt'] = 'Resync DNS records'; $wb['btn_start_txt'] = 'Стартирай'; $wb['btn_cancel_txt'] = 'Отказ'; $wb['resync_client_txt'] = 'Resync Client records'; +$wb['resync_webdav_txt'] = 'Resync WebDAV-Users'; +$wb['resync_mail_txt'] = 'Resync Maildomains'; +$wb['resync_vserver_txt'] = 'Resync vServer'; +$wb['resync_firewall_txt'] = 'Resync Firewall'; +$wb['resync_no_server_txt'] = 'No active server found'; ?> diff --git a/interface/web/tools/lib/lang/br_resync.lng b/interface/web/tools/lib/lang/br_resync.lng index dd8a216c7665b7ce169af5c17b7d83a4b6ed11f6..4e89bdeada5f93ce2817484d22fc9362a86278ea 100644 --- a/interface/web/tools/lib/lang/br_resync.lng +++ b/interface/web/tools/lib/lang/br_resync.lng @@ -2,13 +2,18 @@ $wb['head_txt'] = 'Resync Tool'; $wb['legend_txt'] = 'Resync'; $wb['resync_sites_txt'] = 'Resync Websites'; -$wb['resync_ftp_txt'] = 'Resync FTP users'; +$wb['resync_ftp_txt'] = 'Resync FTP-Accounts'; +$wb['resync_webdav_txt'] = 'Resync WebDAV-Users'; $wb['resync_shell_txt'] = 'Resync shell users'; $wb['resync_cron_txt'] = 'Resync cronjobs'; -$wb['resync_db_txt'] = 'Resync clientdb config'; +$wb['resync_db_txt'] = 'Resync Client Database config'; $wb['resync_mailbox_txt'] = 'Resync Mailboxes'; +$wb['resync_mail_txt'] = 'Resync Maildomains'; $wb['resync_dns_txt'] = 'Resync DNS records'; +$wb['resync_vserver_txt'] = 'Resync vServer'; +$wb['resync_client_txt'] = 'Resync Client records'; +$wb['resync_firewall_txt'] = 'Resync Firewall'; +$wb['resync_no_server_txt'] = 'No active server found'; $wb['btn_start_txt'] = 'Start'; $wb['btn_cancel_txt'] = 'Cancel'; -$wb['resync_client_txt'] = 'Resync Client records'; ?> diff --git a/interface/web/tools/lib/lang/cz_resync.lng b/interface/web/tools/lib/lang/cz_resync.lng index e62cbaaa508c83b276963b42cdef55ae1afdbd3f..2899c4a871c05b1b88562ebf7874fab466cce5f3 100644 --- a/interface/web/tools/lib/lang/cz_resync.lng +++ b/interface/web/tools/lib/lang/cz_resync.lng @@ -11,4 +11,9 @@ $wb['resync_dns_txt'] = 'Resynchronizovat DNS záznamy'; $wb['btn_start_txt'] = 'Zahájit'; $wb['btn_cancel_txt'] = 'ZruÅ¡it'; $wb['resync_client_txt'] = 'Resync Client records'; +$wb['resync_webdav_txt'] = 'Resync WebDAV-Users'; +$wb['resync_mail_txt'] = 'Resync Maildomains'; +$wb['resync_vserver_txt'] = 'Resync vServer'; +$wb['resync_firewall_txt'] = 'Resync Firewall'; +$wb['resync_no_server_txt'] = 'No active server found'; ?> diff --git a/interface/web/tools/lib/lang/de_resync.lng b/interface/web/tools/lib/lang/de_resync.lng index 8461f2066ebd6f653fcda90d3641e24bf2816286..59d85b99b177e65a125ebe12d2de425d30606263 100644 --- a/interface/web/tools/lib/lang/de_resync.lng +++ b/interface/web/tools/lib/lang/de_resync.lng @@ -12,4 +12,9 @@ $wb['resync_dns_txt'] = 'DNS Einträge'; $wb['resync_client_txt'] = 'Kunden'; $wb['btn_start_txt'] = 'Start'; $wb['btn_cancel_txt'] = 'Zurück'; +$wb['resync_webdav_txt'] = 'Resync WebDAV-Benutzer'; +$wb['resync_mail_txt'] = 'Resync Maildomains'; +$wb['resync_vserver_txt'] = 'Resync vServer'; +$wb['resync_firewall_txt'] = 'Resync Firewall'; +$wb['resync_no_server_txt'] = 'Kein aktiver Serfer gefunden'; ?> diff --git a/interface/web/tools/lib/lang/el_resync.lng b/interface/web/tools/lib/lang/el_resync.lng index dd8a216c7665b7ce169af5c17b7d83a4b6ed11f6..4e89bdeada5f93ce2817484d22fc9362a86278ea 100644 --- a/interface/web/tools/lib/lang/el_resync.lng +++ b/interface/web/tools/lib/lang/el_resync.lng @@ -2,13 +2,18 @@ $wb['head_txt'] = 'Resync Tool'; $wb['legend_txt'] = 'Resync'; $wb['resync_sites_txt'] = 'Resync Websites'; -$wb['resync_ftp_txt'] = 'Resync FTP users'; +$wb['resync_ftp_txt'] = 'Resync FTP-Accounts'; +$wb['resync_webdav_txt'] = 'Resync WebDAV-Users'; $wb['resync_shell_txt'] = 'Resync shell users'; $wb['resync_cron_txt'] = 'Resync cronjobs'; -$wb['resync_db_txt'] = 'Resync clientdb config'; +$wb['resync_db_txt'] = 'Resync Client Database config'; $wb['resync_mailbox_txt'] = 'Resync Mailboxes'; +$wb['resync_mail_txt'] = 'Resync Maildomains'; $wb['resync_dns_txt'] = 'Resync DNS records'; +$wb['resync_vserver_txt'] = 'Resync vServer'; +$wb['resync_client_txt'] = 'Resync Client records'; +$wb['resync_firewall_txt'] = 'Resync Firewall'; +$wb['resync_no_server_txt'] = 'No active server found'; $wb['btn_start_txt'] = 'Start'; $wb['btn_cancel_txt'] = 'Cancel'; -$wb['resync_client_txt'] = 'Resync Client records'; ?> diff --git a/interface/web/tools/lib/lang/en_resync.lng b/interface/web/tools/lib/lang/en_resync.lng index 891416bea68408a8b4006234fec67e2d57d0bb08..4e89bdeada5f93ce2817484d22fc9362a86278ea 100644 --- a/interface/web/tools/lib/lang/en_resync.lng +++ b/interface/web/tools/lib/lang/en_resync.lng @@ -2,14 +2,18 @@ $wb['head_txt'] = 'Resync Tool'; $wb['legend_txt'] = 'Resync'; $wb['resync_sites_txt'] = 'Resync Websites'; -$wb['resync_ftp_txt'] = 'Resync FTP users'; +$wb['resync_ftp_txt'] = 'Resync FTP-Accounts'; +$wb['resync_webdav_txt'] = 'Resync WebDAV-Users'; $wb['resync_shell_txt'] = 'Resync shell users'; $wb['resync_cron_txt'] = 'Resync cronjobs'; -$wb['resync_db_txt'] = 'Resync clientdb config'; +$wb['resync_db_txt'] = 'Resync Client Database config'; $wb['resync_mailbox_txt'] = 'Resync Mailboxes'; -$wb['resync_dkim_txt'] = 'Resync DKIM-Keys'; +$wb['resync_mail_txt'] = 'Resync Maildomains'; $wb['resync_dns_txt'] = 'Resync DNS records'; +$wb['resync_vserver_txt'] = 'Resync vServer'; $wb['resync_client_txt'] = 'Resync Client records'; +$wb['resync_firewall_txt'] = 'Resync Firewall'; +$wb['resync_no_server_txt'] = 'No active server found'; $wb['btn_start_txt'] = 'Start'; $wb['btn_cancel_txt'] = 'Cancel'; ?> diff --git a/interface/web/tools/lib/lang/es_resync.lng b/interface/web/tools/lib/lang/es_resync.lng index a5900cc58f37b1eb89fcbdf01b08868d8b8626be..a699866cb2c34451f1c841a1603a13e1610b93bf 100644 --- a/interface/web/tools/lib/lang/es_resync.lng +++ b/interface/web/tools/lib/lang/es_resync.lng @@ -11,4 +11,9 @@ $wb['resync_dns_txt'] = 'Resincronizar Registros DNS '; $wb['btn_start_txt'] = 'Inicio'; $wb['btn_cancel_txt'] = 'Cancelar'; $wb['resync_client_txt'] = 'Resincronizar Clientes'; +$wb['resync_webdav_txt'] = 'Resync WebDAV-Users'; +$wb['resync_mail_txt'] = 'Resync Maildomains'; +$wb['resync_vserver_txt'] = 'Resync vServer'; +$wb['resync_firewall_txt'] = 'Resync Firewall'; +$wb['resync_no_server_txt'] = 'No active server found'; ?> diff --git a/interface/web/tools/lib/lang/fi_resync.lng b/interface/web/tools/lib/lang/fi_resync.lng index dd8a216c7665b7ce169af5c17b7d83a4b6ed11f6..4e89bdeada5f93ce2817484d22fc9362a86278ea 100644 --- a/interface/web/tools/lib/lang/fi_resync.lng +++ b/interface/web/tools/lib/lang/fi_resync.lng @@ -2,13 +2,18 @@ $wb['head_txt'] = 'Resync Tool'; $wb['legend_txt'] = 'Resync'; $wb['resync_sites_txt'] = 'Resync Websites'; -$wb['resync_ftp_txt'] = 'Resync FTP users'; +$wb['resync_ftp_txt'] = 'Resync FTP-Accounts'; +$wb['resync_webdav_txt'] = 'Resync WebDAV-Users'; $wb['resync_shell_txt'] = 'Resync shell users'; $wb['resync_cron_txt'] = 'Resync cronjobs'; -$wb['resync_db_txt'] = 'Resync clientdb config'; +$wb['resync_db_txt'] = 'Resync Client Database config'; $wb['resync_mailbox_txt'] = 'Resync Mailboxes'; +$wb['resync_mail_txt'] = 'Resync Maildomains'; $wb['resync_dns_txt'] = 'Resync DNS records'; +$wb['resync_vserver_txt'] = 'Resync vServer'; +$wb['resync_client_txt'] = 'Resync Client records'; +$wb['resync_firewall_txt'] = 'Resync Firewall'; +$wb['resync_no_server_txt'] = 'No active server found'; $wb['btn_start_txt'] = 'Start'; $wb['btn_cancel_txt'] = 'Cancel'; -$wb['resync_client_txt'] = 'Resync Client records'; ?> diff --git a/interface/web/tools/lib/lang/fr_resync.lng b/interface/web/tools/lib/lang/fr_resync.lng index ddc80e3ebbaa616491d128a97c8dade6de000831..2113530776904f487938a2a6a1eb0551abf80871 100644 --- a/interface/web/tools/lib/lang/fr_resync.lng +++ b/interface/web/tools/lib/lang/fr_resync.lng @@ -12,5 +12,9 @@ $wb['Resynchroniser_dns_txt'] = 'Resynchroniser enregistrements DNS'; $wb['btn_start_txt'] = 'Dérrer'; $wb['btn_cancel_txt'] = 'Annuler'; $wb['Resynchroniser_client_txt'] = 'Resynchroniser Enregisitrements Client'; +$wb['resync_webdav_txt'] = 'Resync WebDAV-Users'; +$wb['resync_mail_txt'] = 'Resync Maildomains'; +$wb['resync_vserver_txt'] = 'Resync vServer'; +$wb['resync_firewall_txt'] = 'Resync Firewall'; +$wb['resync_no_server_txt'] = 'No active server found'; ?> - diff --git a/interface/web/tools/lib/lang/hu_resync.lng b/interface/web/tools/lib/lang/hu_resync.lng index dd8a216c7665b7ce169af5c17b7d83a4b6ed11f6..4e89bdeada5f93ce2817484d22fc9362a86278ea 100644 --- a/interface/web/tools/lib/lang/hu_resync.lng +++ b/interface/web/tools/lib/lang/hu_resync.lng @@ -2,13 +2,18 @@ $wb['head_txt'] = 'Resync Tool'; $wb['legend_txt'] = 'Resync'; $wb['resync_sites_txt'] = 'Resync Websites'; -$wb['resync_ftp_txt'] = 'Resync FTP users'; +$wb['resync_ftp_txt'] = 'Resync FTP-Accounts'; +$wb['resync_webdav_txt'] = 'Resync WebDAV-Users'; $wb['resync_shell_txt'] = 'Resync shell users'; $wb['resync_cron_txt'] = 'Resync cronjobs'; -$wb['resync_db_txt'] = 'Resync clientdb config'; +$wb['resync_db_txt'] = 'Resync Client Database config'; $wb['resync_mailbox_txt'] = 'Resync Mailboxes'; +$wb['resync_mail_txt'] = 'Resync Maildomains'; $wb['resync_dns_txt'] = 'Resync DNS records'; +$wb['resync_vserver_txt'] = 'Resync vServer'; +$wb['resync_client_txt'] = 'Resync Client records'; +$wb['resync_firewall_txt'] = 'Resync Firewall'; +$wb['resync_no_server_txt'] = 'No active server found'; $wb['btn_start_txt'] = 'Start'; $wb['btn_cancel_txt'] = 'Cancel'; -$wb['resync_client_txt'] = 'Resync Client records'; ?> diff --git a/interface/web/tools/lib/lang/id_resync.lng b/interface/web/tools/lib/lang/id_resync.lng index dd8a216c7665b7ce169af5c17b7d83a4b6ed11f6..4e89bdeada5f93ce2817484d22fc9362a86278ea 100644 --- a/interface/web/tools/lib/lang/id_resync.lng +++ b/interface/web/tools/lib/lang/id_resync.lng @@ -2,13 +2,18 @@ $wb['head_txt'] = 'Resync Tool'; $wb['legend_txt'] = 'Resync'; $wb['resync_sites_txt'] = 'Resync Websites'; -$wb['resync_ftp_txt'] = 'Resync FTP users'; +$wb['resync_ftp_txt'] = 'Resync FTP-Accounts'; +$wb['resync_webdav_txt'] = 'Resync WebDAV-Users'; $wb['resync_shell_txt'] = 'Resync shell users'; $wb['resync_cron_txt'] = 'Resync cronjobs'; -$wb['resync_db_txt'] = 'Resync clientdb config'; +$wb['resync_db_txt'] = 'Resync Client Database config'; $wb['resync_mailbox_txt'] = 'Resync Mailboxes'; +$wb['resync_mail_txt'] = 'Resync Maildomains'; $wb['resync_dns_txt'] = 'Resync DNS records'; +$wb['resync_vserver_txt'] = 'Resync vServer'; +$wb['resync_client_txt'] = 'Resync Client records'; +$wb['resync_firewall_txt'] = 'Resync Firewall'; +$wb['resync_no_server_txt'] = 'No active server found'; $wb['btn_start_txt'] = 'Start'; $wb['btn_cancel_txt'] = 'Cancel'; -$wb['resync_client_txt'] = 'Resync Client records'; ?> diff --git a/interface/web/tools/lib/lang/it_resync.lng b/interface/web/tools/lib/lang/it_resync.lng index dd8a216c7665b7ce169af5c17b7d83a4b6ed11f6..4e89bdeada5f93ce2817484d22fc9362a86278ea 100644 --- a/interface/web/tools/lib/lang/it_resync.lng +++ b/interface/web/tools/lib/lang/it_resync.lng @@ -2,13 +2,18 @@ $wb['head_txt'] = 'Resync Tool'; $wb['legend_txt'] = 'Resync'; $wb['resync_sites_txt'] = 'Resync Websites'; -$wb['resync_ftp_txt'] = 'Resync FTP users'; +$wb['resync_ftp_txt'] = 'Resync FTP-Accounts'; +$wb['resync_webdav_txt'] = 'Resync WebDAV-Users'; $wb['resync_shell_txt'] = 'Resync shell users'; $wb['resync_cron_txt'] = 'Resync cronjobs'; -$wb['resync_db_txt'] = 'Resync clientdb config'; +$wb['resync_db_txt'] = 'Resync Client Database config'; $wb['resync_mailbox_txt'] = 'Resync Mailboxes'; +$wb['resync_mail_txt'] = 'Resync Maildomains'; $wb['resync_dns_txt'] = 'Resync DNS records'; +$wb['resync_vserver_txt'] = 'Resync vServer'; +$wb['resync_client_txt'] = 'Resync Client records'; +$wb['resync_firewall_txt'] = 'Resync Firewall'; +$wb['resync_no_server_txt'] = 'No active server found'; $wb['btn_start_txt'] = 'Start'; $wb['btn_cancel_txt'] = 'Cancel'; -$wb['resync_client_txt'] = 'Resync Client records'; ?> diff --git a/interface/web/tools/lib/lang/ja_resync.lng b/interface/web/tools/lib/lang/ja_resync.lng index dd8a216c7665b7ce169af5c17b7d83a4b6ed11f6..4e89bdeada5f93ce2817484d22fc9362a86278ea 100644 --- a/interface/web/tools/lib/lang/ja_resync.lng +++ b/interface/web/tools/lib/lang/ja_resync.lng @@ -2,13 +2,18 @@ $wb['head_txt'] = 'Resync Tool'; $wb['legend_txt'] = 'Resync'; $wb['resync_sites_txt'] = 'Resync Websites'; -$wb['resync_ftp_txt'] = 'Resync FTP users'; +$wb['resync_ftp_txt'] = 'Resync FTP-Accounts'; +$wb['resync_webdav_txt'] = 'Resync WebDAV-Users'; $wb['resync_shell_txt'] = 'Resync shell users'; $wb['resync_cron_txt'] = 'Resync cronjobs'; -$wb['resync_db_txt'] = 'Resync clientdb config'; +$wb['resync_db_txt'] = 'Resync Client Database config'; $wb['resync_mailbox_txt'] = 'Resync Mailboxes'; +$wb['resync_mail_txt'] = 'Resync Maildomains'; $wb['resync_dns_txt'] = 'Resync DNS records'; +$wb['resync_vserver_txt'] = 'Resync vServer'; +$wb['resync_client_txt'] = 'Resync Client records'; +$wb['resync_firewall_txt'] = 'Resync Firewall'; +$wb['resync_no_server_txt'] = 'No active server found'; $wb['btn_start_txt'] = 'Start'; $wb['btn_cancel_txt'] = 'Cancel'; -$wb['resync_client_txt'] = 'Resync Client records'; ?> diff --git a/interface/web/tools/lib/lang/nl_resync.lng b/interface/web/tools/lib/lang/nl_resync.lng index dd8a216c7665b7ce169af5c17b7d83a4b6ed11f6..4e89bdeada5f93ce2817484d22fc9362a86278ea 100644 --- a/interface/web/tools/lib/lang/nl_resync.lng +++ b/interface/web/tools/lib/lang/nl_resync.lng @@ -2,13 +2,18 @@ $wb['head_txt'] = 'Resync Tool'; $wb['legend_txt'] = 'Resync'; $wb['resync_sites_txt'] = 'Resync Websites'; -$wb['resync_ftp_txt'] = 'Resync FTP users'; +$wb['resync_ftp_txt'] = 'Resync FTP-Accounts'; +$wb['resync_webdav_txt'] = 'Resync WebDAV-Users'; $wb['resync_shell_txt'] = 'Resync shell users'; $wb['resync_cron_txt'] = 'Resync cronjobs'; -$wb['resync_db_txt'] = 'Resync clientdb config'; +$wb['resync_db_txt'] = 'Resync Client Database config'; $wb['resync_mailbox_txt'] = 'Resync Mailboxes'; +$wb['resync_mail_txt'] = 'Resync Maildomains'; $wb['resync_dns_txt'] = 'Resync DNS records'; +$wb['resync_vserver_txt'] = 'Resync vServer'; +$wb['resync_client_txt'] = 'Resync Client records'; +$wb['resync_firewall_txt'] = 'Resync Firewall'; +$wb['resync_no_server_txt'] = 'No active server found'; $wb['btn_start_txt'] = 'Start'; $wb['btn_cancel_txt'] = 'Cancel'; -$wb['resync_client_txt'] = 'Resync Client records'; ?> diff --git a/interface/web/tools/lib/lang/pl_resync.lng b/interface/web/tools/lib/lang/pl_resync.lng index db7fac6a60c69d9c44329ec8824456a6a732ff18..77e656d46af103e60d86fbded0fbf771d96e0bf4 100644 --- a/interface/web/tools/lib/lang/pl_resync.lng +++ b/interface/web/tools/lib/lang/pl_resync.lng @@ -11,4 +11,9 @@ $wb['resync_dns_txt'] = 'Resynchronizacja rekordów DNS'; $wb['btn_start_txt'] = 'Start'; $wb['btn_cancel_txt'] = 'Anuluj'; $wb['resync_client_txt'] = 'Resync Client records'; +$wb['resync_webdav_txt'] = 'Resync WebDAV-Users'; +$wb['resync_mail_txt'] = 'Resync Maildomains'; +$wb['resync_vserver_txt'] = 'Resync vServer'; +$wb['resync_firewall_txt'] = 'Resync Firewall'; +$wb['resync_no_server_txt'] = 'No active server found'; ?> diff --git a/interface/web/tools/lib/lang/pt_resync.lng b/interface/web/tools/lib/lang/pt_resync.lng index dd8a216c7665b7ce169af5c17b7d83a4b6ed11f6..4e89bdeada5f93ce2817484d22fc9362a86278ea 100644 --- a/interface/web/tools/lib/lang/pt_resync.lng +++ b/interface/web/tools/lib/lang/pt_resync.lng @@ -2,13 +2,18 @@ $wb['head_txt'] = 'Resync Tool'; $wb['legend_txt'] = 'Resync'; $wb['resync_sites_txt'] = 'Resync Websites'; -$wb['resync_ftp_txt'] = 'Resync FTP users'; +$wb['resync_ftp_txt'] = 'Resync FTP-Accounts'; +$wb['resync_webdav_txt'] = 'Resync WebDAV-Users'; $wb['resync_shell_txt'] = 'Resync shell users'; $wb['resync_cron_txt'] = 'Resync cronjobs'; -$wb['resync_db_txt'] = 'Resync clientdb config'; +$wb['resync_db_txt'] = 'Resync Client Database config'; $wb['resync_mailbox_txt'] = 'Resync Mailboxes'; +$wb['resync_mail_txt'] = 'Resync Maildomains'; $wb['resync_dns_txt'] = 'Resync DNS records'; +$wb['resync_vserver_txt'] = 'Resync vServer'; +$wb['resync_client_txt'] = 'Resync Client records'; +$wb['resync_firewall_txt'] = 'Resync Firewall'; +$wb['resync_no_server_txt'] = 'No active server found'; $wb['btn_start_txt'] = 'Start'; $wb['btn_cancel_txt'] = 'Cancel'; -$wb['resync_client_txt'] = 'Resync Client records'; ?> diff --git a/interface/web/tools/lib/lang/ro_resync.lng b/interface/web/tools/lib/lang/ro_resync.lng index dd8a216c7665b7ce169af5c17b7d83a4b6ed11f6..4e89bdeada5f93ce2817484d22fc9362a86278ea 100644 --- a/interface/web/tools/lib/lang/ro_resync.lng +++ b/interface/web/tools/lib/lang/ro_resync.lng @@ -2,13 +2,18 @@ $wb['head_txt'] = 'Resync Tool'; $wb['legend_txt'] = 'Resync'; $wb['resync_sites_txt'] = 'Resync Websites'; -$wb['resync_ftp_txt'] = 'Resync FTP users'; +$wb['resync_ftp_txt'] = 'Resync FTP-Accounts'; +$wb['resync_webdav_txt'] = 'Resync WebDAV-Users'; $wb['resync_shell_txt'] = 'Resync shell users'; $wb['resync_cron_txt'] = 'Resync cronjobs'; -$wb['resync_db_txt'] = 'Resync clientdb config'; +$wb['resync_db_txt'] = 'Resync Client Database config'; $wb['resync_mailbox_txt'] = 'Resync Mailboxes'; +$wb['resync_mail_txt'] = 'Resync Maildomains'; $wb['resync_dns_txt'] = 'Resync DNS records'; +$wb['resync_vserver_txt'] = 'Resync vServer'; +$wb['resync_client_txt'] = 'Resync Client records'; +$wb['resync_firewall_txt'] = 'Resync Firewall'; +$wb['resync_no_server_txt'] = 'No active server found'; $wb['btn_start_txt'] = 'Start'; $wb['btn_cancel_txt'] = 'Cancel'; -$wb['resync_client_txt'] = 'Resync Client records'; ?> diff --git a/interface/web/tools/lib/lang/ru_resync.lng b/interface/web/tools/lib/lang/ru_resync.lng index dd8a216c7665b7ce169af5c17b7d83a4b6ed11f6..4e89bdeada5f93ce2817484d22fc9362a86278ea 100644 --- a/interface/web/tools/lib/lang/ru_resync.lng +++ b/interface/web/tools/lib/lang/ru_resync.lng @@ -2,13 +2,18 @@ $wb['head_txt'] = 'Resync Tool'; $wb['legend_txt'] = 'Resync'; $wb['resync_sites_txt'] = 'Resync Websites'; -$wb['resync_ftp_txt'] = 'Resync FTP users'; +$wb['resync_ftp_txt'] = 'Resync FTP-Accounts'; +$wb['resync_webdav_txt'] = 'Resync WebDAV-Users'; $wb['resync_shell_txt'] = 'Resync shell users'; $wb['resync_cron_txt'] = 'Resync cronjobs'; -$wb['resync_db_txt'] = 'Resync clientdb config'; +$wb['resync_db_txt'] = 'Resync Client Database config'; $wb['resync_mailbox_txt'] = 'Resync Mailboxes'; +$wb['resync_mail_txt'] = 'Resync Maildomains'; $wb['resync_dns_txt'] = 'Resync DNS records'; +$wb['resync_vserver_txt'] = 'Resync vServer'; +$wb['resync_client_txt'] = 'Resync Client records'; +$wb['resync_firewall_txt'] = 'Resync Firewall'; +$wb['resync_no_server_txt'] = 'No active server found'; $wb['btn_start_txt'] = 'Start'; $wb['btn_cancel_txt'] = 'Cancel'; -$wb['resync_client_txt'] = 'Resync Client records'; ?> diff --git a/interface/web/tools/lib/lang/se_resync.lng b/interface/web/tools/lib/lang/se_resync.lng index dd8a216c7665b7ce169af5c17b7d83a4b6ed11f6..4e89bdeada5f93ce2817484d22fc9362a86278ea 100644 --- a/interface/web/tools/lib/lang/se_resync.lng +++ b/interface/web/tools/lib/lang/se_resync.lng @@ -2,13 +2,18 @@ $wb['head_txt'] = 'Resync Tool'; $wb['legend_txt'] = 'Resync'; $wb['resync_sites_txt'] = 'Resync Websites'; -$wb['resync_ftp_txt'] = 'Resync FTP users'; +$wb['resync_ftp_txt'] = 'Resync FTP-Accounts'; +$wb['resync_webdav_txt'] = 'Resync WebDAV-Users'; $wb['resync_shell_txt'] = 'Resync shell users'; $wb['resync_cron_txt'] = 'Resync cronjobs'; -$wb['resync_db_txt'] = 'Resync clientdb config'; +$wb['resync_db_txt'] = 'Resync Client Database config'; $wb['resync_mailbox_txt'] = 'Resync Mailboxes'; +$wb['resync_mail_txt'] = 'Resync Maildomains'; $wb['resync_dns_txt'] = 'Resync DNS records'; +$wb['resync_vserver_txt'] = 'Resync vServer'; +$wb['resync_client_txt'] = 'Resync Client records'; +$wb['resync_firewall_txt'] = 'Resync Firewall'; +$wb['resync_no_server_txt'] = 'No active server found'; $wb['btn_start_txt'] = 'Start'; $wb['btn_cancel_txt'] = 'Cancel'; -$wb['resync_client_txt'] = 'Resync Client records'; ?> diff --git a/interface/web/tools/lib/lang/sk_resync.lng b/interface/web/tools/lib/lang/sk_resync.lng index dd8a216c7665b7ce169af5c17b7d83a4b6ed11f6..4e89bdeada5f93ce2817484d22fc9362a86278ea 100644 --- a/interface/web/tools/lib/lang/sk_resync.lng +++ b/interface/web/tools/lib/lang/sk_resync.lng @@ -2,13 +2,18 @@ $wb['head_txt'] = 'Resync Tool'; $wb['legend_txt'] = 'Resync'; $wb['resync_sites_txt'] = 'Resync Websites'; -$wb['resync_ftp_txt'] = 'Resync FTP users'; +$wb['resync_ftp_txt'] = 'Resync FTP-Accounts'; +$wb['resync_webdav_txt'] = 'Resync WebDAV-Users'; $wb['resync_shell_txt'] = 'Resync shell users'; $wb['resync_cron_txt'] = 'Resync cronjobs'; -$wb['resync_db_txt'] = 'Resync clientdb config'; +$wb['resync_db_txt'] = 'Resync Client Database config'; $wb['resync_mailbox_txt'] = 'Resync Mailboxes'; +$wb['resync_mail_txt'] = 'Resync Maildomains'; $wb['resync_dns_txt'] = 'Resync DNS records'; +$wb['resync_vserver_txt'] = 'Resync vServer'; +$wb['resync_client_txt'] = 'Resync Client records'; +$wb['resync_firewall_txt'] = 'Resync Firewall'; +$wb['resync_no_server_txt'] = 'No active server found'; $wb['btn_start_txt'] = 'Start'; $wb['btn_cancel_txt'] = 'Cancel'; -$wb['resync_client_txt'] = 'Resync Client records'; ?> diff --git a/interface/web/tools/lib/lang/tr_resync.lng b/interface/web/tools/lib/lang/tr_resync.lng index dd8a216c7665b7ce169af5c17b7d83a4b6ed11f6..4e89bdeada5f93ce2817484d22fc9362a86278ea 100644 --- a/interface/web/tools/lib/lang/tr_resync.lng +++ b/interface/web/tools/lib/lang/tr_resync.lng @@ -2,13 +2,18 @@ $wb['head_txt'] = 'Resync Tool'; $wb['legend_txt'] = 'Resync'; $wb['resync_sites_txt'] = 'Resync Websites'; -$wb['resync_ftp_txt'] = 'Resync FTP users'; +$wb['resync_ftp_txt'] = 'Resync FTP-Accounts'; +$wb['resync_webdav_txt'] = 'Resync WebDAV-Users'; $wb['resync_shell_txt'] = 'Resync shell users'; $wb['resync_cron_txt'] = 'Resync cronjobs'; -$wb['resync_db_txt'] = 'Resync clientdb config'; +$wb['resync_db_txt'] = 'Resync Client Database config'; $wb['resync_mailbox_txt'] = 'Resync Mailboxes'; +$wb['resync_mail_txt'] = 'Resync Maildomains'; $wb['resync_dns_txt'] = 'Resync DNS records'; +$wb['resync_vserver_txt'] = 'Resync vServer'; +$wb['resync_client_txt'] = 'Resync Client records'; +$wb['resync_firewall_txt'] = 'Resync Firewall'; +$wb['resync_no_server_txt'] = 'No active server found'; $wb['btn_start_txt'] = 'Start'; $wb['btn_cancel_txt'] = 'Cancel'; -$wb['resync_client_txt'] = 'Resync Client records'; ?> diff --git a/interface/web/tools/lib/menu.d/resync.menu.php b/interface/web/tools/lib/menu.d/resync.menu.php index 5de2f773ad7a9d078ff63f77dcd2787f67c3be45..bc25fff1aead75e63b563b2b0f053c461658306d 100644 --- a/interface/web/tools/lib/menu.d/resync.menu.php +++ b/interface/web/tools/lib/menu.d/resync.menu.php @@ -9,7 +9,7 @@ if($app->auth->is_admin()) { $items[] = array( 'title' => 'Resync', 'target' => 'content', - 'link' => 'tools/resync.php'); + 'link' => 'tools/resync_show.php'); $module['nav'][] = array( 'title' => 'Sync Tools', diff --git a/interface/web/tools/resync.php b/interface/web/tools/resync.php deleted file mode 100644 index 4e5f20610aa97e791102555ca055d3afe545ea23..0000000000000000000000000000000000000000 --- a/interface/web/tools/resync.php +++ /dev/null @@ -1,238 +0,0 @@ -<?php -/* -Copyright (c) 2012, Till Brehm, projektfarm Gmbh, ISPConfig UG -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name of ISPConfig nor the names of its contributors - may be used to endorse or promote products derived from this software without - specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY -OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, -EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -require_once '../../lib/config.inc.php'; -require_once '../../lib/app.inc.php'; - -//* Check permissions for module -$app->auth->check_module_permissions('admin'); - -//* This is only allowed for administrators -if(!$app->auth->is_admin()) die('only allowed for administrators.'); - -$app->uses('tpl,validate_dns'); - -$app->tpl->newTemplate('form.tpl.htm'); -$app->tpl->setInclude('content_tpl', 'templates/resync.htm'); -$msg = ''; -$error = ''; - -//* load language file -$lng_file = 'lib/lang/'.$_SESSION['s']['language'].'_resync.lng'; -include $lng_file; -$app->tpl->setVar($wb); - -//* Resyncing websites -if(isset($_POST['resync_sites']) && $_POST['resync_sites'] == 1) { - $db_table = 'web_domain'; - $index_field = 'domain_id'; - $sql = "SELECT * FROM ".$db_table." WHERE active = 'y'"; - $records = $app->db->queryAllRecords($sql); - if(is_array($records)) { - foreach($records as $rec) { - $app->db->datalogUpdate($db_table, $rec, $index_field, $rec[$index_field], true); - $msg .= "Resynced Website: ".$rec['domain'].'<br />'; - } - } -} - -//* Resyncing ftp -if(isset($_POST['resync_ftp']) && $_POST['resync_ftp'] == 1) { - $db_table = 'ftp_user'; - $index_field = 'ftp_user_id'; - $sql = "SELECT * FROM ".$db_table." WHERE active = 'y'"; - $records = $app->db->queryAllRecords($sql); - if(is_array($records)) { - foreach($records as $rec) { - $app->db->datalogUpdate($db_table, $rec, $index_field, $rec[$index_field], true); - $msg .= "Resynced FTP user: ".$rec['username'].'<br />'; - } - } -} - -//* Resyncing shell -if(isset($_POST['resync_shell']) && $_POST['resync_shell'] == 1) { - $db_table = 'shell_user'; - $index_field = 'shell_user_id'; - $sql = "SELECT * FROM ".$db_table." WHERE active = 'y'"; - $records = $app->db->queryAllRecords($sql); - if(is_array($records)) { - foreach($records as $rec) { - $app->db->datalogUpdate($db_table, $rec, $index_field, $rec[$index_field], true); - $msg .= "Resynced Shell user: ".$rec['username'].'<br />'; - } - } -} - -//* Resyncing Cronjobs -if(isset($_POST['resync_cron']) && $_POST['resync_cron'] == 1) { - $db_table = 'cron'; - $index_field = 'id'; - $sql = "SELECT * FROM ".$db_table." WHERE active = 'y'"; - $records = $app->db->queryAllRecords($sql); - if(is_array($records)) { - foreach($records as $rec) { - $app->db->datalogUpdate($db_table, $rec, $index_field, $rec[$index_field], true); - $msg .= "Resynced Cron: ".$rec['id'].'<br />'; - } - } -} - -//* Resyncing Databases -if(isset($_POST['resync_db']) && $_POST['resync_db'] == 1) { - $db_table = 'web_database_user'; - $index_field = 'database_user_id'; - $sql = "SELECT * FROM ".$db_table." WHERE 1"; - $records = $app->db->queryAllRecords($sql); - if(is_array($records)) { - foreach($records as $rec) { - $app->db->datalogUpdate($db_table, $rec, $index_field, $rec[$index_field], true); - $msg .= "Resynced Database user: ".$rec['database_user'].'<br />'; - } - } - $db_table = 'web_database'; - $index_field = 'database_id'; - $sql = "SELECT * FROM ".$db_table." WHERE active = 'y'"; - $records = $app->db->queryAllRecords($sql); - if(is_array($records)) { - foreach($records as $rec) { - $app->db->datalogUpdate($db_table, $rec, $index_field, $rec[$index_field], true); - $msg .= "Resynced Database: ".$rec['database_name'].'<br />'; - } - } -} - -//* Resyncing Mailbox Domains -if(isset($_POST['resync_mailbox']) && $_POST['resync_mailbox'] == 1) { - $db_table = 'mail_domain'; - $index_field = 'domain_id'; - $sql = "SELECT * FROM ".$db_table." WHERE active = 'y'"; - $records = $app->db->queryAllRecords($sql); - if(is_array($records)) { - foreach($records as $rec) { - $app->db->datalogUpdate($db_table, $rec, $index_field, $rec[$index_field], true); - $msg .= "Resynced Mail Domain: ".$rec['domain'].'<br />'; - } - } -} - -//* Resyncing Mailboxes -if(isset($_POST['resync_mailbox']) && $_POST['resync_mailbox'] == 1) { - $db_table = 'mail_user'; - $index_field = 'mailuser_id'; - $sql = "SELECT * FROM ".$db_table; - $records = $app->db->queryAllRecords($sql); - if(is_array($records)) { - foreach($records as $rec) { - $app->db->datalogUpdate($db_table, $rec, $index_field, $rec[$index_field], true); - $msg .= "Resynced Mailbox: ".$rec['email'].'<br />'; - } - } - $db_table = 'mail_forwarding'; - $index_field = 'forwarding_id'; - $sql = "SELECT * FROM ".$db_table; - $records = $app->db->queryAllRecords($sql); - if(is_array($records)) { - foreach($records as $rec) { - $app->db->datalogUpdate($db_table, $rec, $index_field, $rec[$index_field], true); - $msg .= "Resynced Alias: ".$rec['source'].'<br />'; - } - } -} - -//* Resyncing DKIM-Keys -if(isset($_POST['resync_dkim']) && $_POST['resync_dkim'] == 1) { - $db_table = 'mail_domain'; - $index_field = 'domain_id'; - $sql = "SELECT * FROM ".$db_table." WHERE active = 'y' AND dkim = 'y'"; - $records = $app->db->queryAllRecords($sql); - if(is_array($records)) { - foreach($records as $rec) { - $app->db->datalogUpdate($db_table, $rec, $index_field, $rec[$index_field], true); - $msg .= "Resynced DKIM-Key: ".$rec['domain'].'<br />'; - } - } -} - -//* Resyncing dns zones -if(isset($_POST['resync_dns']) && $_POST['resync_dns'] == 1) { - $zones = $app->db->queryAllRecords("SELECT id,origin,serial FROM dns_soa WHERE active = 'Y'"); - if(is_array($zones) && !empty($zones)) { - foreach($zones as $zone) { - $records = $app->db->queryAllRecords("SELECT id,serial FROM dns_rr WHERE zone = ".$zone['id']." AND active = 'Y'"); - if(is_array($records)) { - foreach($records as $rec) { - $new_serial = $app->validate_dns->increase_serial($rec["serial"]); - $app->db->datalogUpdate('dns_rr', "serial = '".$new_serial."'", 'id', $rec['id']); - - } - } - $new_serial = $app->validate_dns->increase_serial($zone["serial"]); - $app->db->datalogUpdate('dns_soa', "serial = '".$new_serial."'", 'id', $zone['id']); - $msg .= "Resynced DNS zone: ".$zone['origin'].'<br />'; - } - } else { - $error .= "No zones found to sync.<br />"; - } - -} - -//* Resyncing Clients -if(isset($_POST['resync_client']) && $_POST['resync_client'] == 1) { - $tform_def_file = "form/client.tform.php"; - $app->uses('tpl,tform,tform_actions'); - $app->load('tform_actions'); - - $db_table = 'client'; - $index_field = 'client_id'; - $sql = "SELECT * FROM ".$db_table; - $records = $app->db->queryAllRecords($sql); - if(is_array($records)) { - foreach($records as $rec) { - $app->db->datalogUpdate($db_table, $rec, $index_field, $rec[$index_field], true); - $tmp = new tform_actions; - $tmp->id = $rec[$index_field]; - $tmp->dataRecord = $rec; - $tmp->oldDataRecord = $rec; - $app->plugin->raiseEvent('client:client:on_after_update', $tmp); - $msg .= "Resynced Client: ".$rec['contact_name'].'<br />'; - unset($tmp); - } - } -} - - -$app->tpl->setVar('msg', $msg); -$app->tpl->setVar('error', $error); - -$app->tpl_defaults(); -$app->tpl->pparse(); - - -?> diff --git a/interface/web/tools/resync_do.php b/interface/web/tools/resync_do.php new file mode 100644 index 0000000000000000000000000000000000000000..e0c422beb4e21ea554ad3adc9be17f20c8ac47f8 --- /dev/null +++ b/interface/web/tools/resync_do.php @@ -0,0 +1,373 @@ +<?php +/* +Copyright (c) 2014, Florian Schaal, info@schaal-24.de +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name of ISPConfig nor the names of its contributors + may be used to endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + + +/****************************************** +* Begin Form configuration +******************************************/ + +$tform_def_file = 'form/resync.tform.php'; + +/****************************************** +* End Form configuration +******************************************/ + +require_once '../../lib/config.inc.php'; +require_once '../../lib/app.inc.php'; + +//* Check permissions for module +$app->auth->check_module_permissions('admin'); + +// Loading classes +$app->uses('tpl,tform,tform_actions'); +$app->load('tform_actions'); + +class page_action extends tform_actions { + + function onSubmit() { + global $app, $conf, $interfaceConf; + + function query_server($table, $server_id, $server_type, $where = "WHERE active = 'y'", $active_only = true) { + global $app; + $server_name = array(); + if ( $server_id <= 0 ) { //* resync multiple server + if ($active_only) { + $tmp = $app->db->queryAllRecords("SELECT server_id, server_name FROM server WHERE ".$server_type."_server = 1 AND active = 1 AND mirror_server_id = 0"); + } else { + $tmp = $app->db->queryAllRecords("SELECT server_id, server_name FROM server WHERE ".$server_type."_server = 1 AND mirror_server_id = 0"); + } + foreach ($tmp as $server) { + $tmp_id .= $server['server_id'].','; + $server_name[$server['server_id']] = $server['server_name']; + } + } else { + $server_name[$server_id] = $app->db->queryOneRecord("SELECT server_name FROM server WHERE server_id = ".$server_id)['server_name']; + } + + if ( isset($tmp_id) ) $server_id = rtrim($tmp_id,','); + + if ($active_only) { + $sql = "SELECT * FROM ".$table." ".$where." AND server_id IN (".$server_id.")"; + } else { + $sql = "SELECT * FROM ".$table." ".$where; + } + $records = $app->db->queryAllRecords($sql); + + return array($records, $server_name); + } + + //* websites + if(isset($this->dataRecord['resync_sites']) && $this->dataRecord['resync_sites'] == 1) { + $db_table = 'web_domain'; + $index_field = 'domain_id'; + $server_type = 'web'; + $server_id = $app->functions->intval($this->dataRecord['web_server_id']); + if ($server_id == -1) $tmp = query_server($db_table, $server_id, $server_type, 'WHERE 1', false); else $tmp = query_server($db_table, $server_id, $server_type); + $records = $tmp[0]; + $server_name = $tmp[1]; + unset($tmp); + $msg = '<b>Resynced Website:</b><br>'; + if(is_array($records)) { + foreach($records as $rec) { + $app->db->datalogUpdate($db_table, $rec, $index_field, $rec[$index_field], true); + $msg .= $rec['domain'].' on '.$server_name[$rec['server_id']].'<br>'; + } + } else { $msg .= 'no results<bg>'; } + $msg .= '<br>'; + } + + //* ftp + if(isset($this->dataRecord['resync_ftp']) && $this->dataRecord['resync_ftp'] == 1) { + $db_table = 'ftp_user'; + $index_field = 'ftp_user_id'; + $server_type = 'web'; + $server_id = $app->functions->intval($this->dataRecord['ftp_server_id']); + if ($server_id == -1) $tmp = query_server($db_table, $server_id, $server_type, 'WHERE 1', false); else $tmp = query_server($db_table, $server_id, $server_type); + $records = $tmp[0]; + $server_name = $tmp[1]; + unset($tmp); + $msg .= '<b>Resynced FTP user:</b><br>'; + if(is_array($records)) { + foreach($records as $rec) { + $app->db->datalogUpdate($db_table, $rec, $index_field, $rec[$index_field], true); + $msg .= $rec['username'].' on '.$server_name[$rec['server_id']].'<br>'; + } + } else { $msg .= 'no results<bg>'; } + $msg .= '<br>'; + } + + //* webdav + if(isset($this->dataRecord['resync_webdav']) && $this->dataRecord['resync_webdav'] == 1) { + $db_table = 'webdav_user'; + $index_field = 'webdav_user_id'; + $server_type = 'file'; + $server_id = $app->functions->intval($this->dataRecord['webdav_server_id']); + if ($server_id == -1) $tmp = query_server($db_table, $server_id, $server_type, 'WHERE 1', false); else $tmp = query_server($db_table, $server_id, $server_type); + $records = $tmp[0]; + $server_name = $tmp[1]; + unset($tmp); + $msg .= '<b>Resynced WebDav-User</b><br>'; + if(is_array($records)) { + foreach($records as $rec) { + $app->db->datalogUpdate($db_table, $rec, $index_field, $rec[$index_field], true); + $msg .= $rec['username'].' on '.$server_name[$rec['server_id']].'<br>'; + } + } else { $msg .= 'no results<bg>'; } + $msg .= '<br>'; + } + + //* shell + if(isset($this->dataRecord['resync_shell']) && $this->dataRecord['resync_shell'] == 1) { + $db_table = 'shell_user'; + $index_field = 'shell_user_id'; + $server_type = 'web'; + $server_id = $app->functions->intval($this->dataRecord['shell_server_id']); + if ($server_id == -1) $tmp = query_server($db_table, $server_id, $server_type, 'WHERE 1', false); else $tmp = query_server($db_table, $server_id, $server_type); + $records = $tmp[0]; + $server_name = $tmp[1]; + unset($tmp); + $msg .= '<b>Resynced Shell user:</b><br>'; + if(is_array($records)) { + foreach($records as $rec) { + $app->db->datalogUpdate($db_table, $rec, $index_field, $rec[$index_field], true); + $msg .= $rec['username'].' on '.$server_name[$rec['server_id']].'<br>'; + } + } else { $msg .= 'no results<bg>'; } + $msg .= '<br>'; + } + + //* cron + if(isset($this->dataRecord['resync_cron']) && $this->dataRecord['resync_cron'] == 1) { + $db_table = 'cron'; + $index_field = 'id'; + $server_type = 'web'; + $server_id = $app->functions->intval($this->dataRecord['cron_server_id']); + if ($server_id == -1) $tmp = query_server($db_table, $server_id, $server_type, 'WHERE 1', false); else $tmp = query_server($db_table, $server_id, $server_type); + $records = $tmp[0]; + $server_name = $tmp[1]; + unset($tmp); + $msg .= '<b>Resynced Cronjob:</b><br>'; + if(is_array($records)) { + foreach($records as $rec) { + $app->db->datalogUpdate($db_table, $rec, $index_field, $rec[$index_field], true); + $msg .= $rec['command'].' on '.$server_name[$rec['server_id']].'<br>'; + } + } else { $msg .= 'no results<bg>'; } + $msg .= '<br>'; + } + + //* database + if(isset($this->dataRecord['resync_db']) && $this->dataRecord['resync_db'] == 1) { + $db_table = 'web_database_user'; + $index_field = 'database_user_id'; + $server_type = 'db'; + $server_id = $app->functions->intval($this->dataRecord['db_server_id']); + if ($server_id == -1) $tmp = query_server($db_table, $server_id, $server_type, 'WHERE 1', false); else $tmp = query_server($db_table, $server_id, $server_type, 'WHERE 1'); + $records = $tmp[0]; + $server_name = $tmp[1]; + unset($tmp); + $msg .= '<b>Resynced Database User:</b><br>'; + if(is_array($records)) { + foreach($records as $rec) { + $app->db->datalogUpdate($db_table, $rec, $index_field, $rec[$index_field], true); + $msg .= $rec['database_user'].' on '.$server_name[$rec['server_id']].'<br>'; + } + } else { $msg .= 'no results<bg>'; } + $msg .= '<br>'; + + $db_table = 'web_database'; + $index_field = 'database_id'; + if ($server_id == -1) $tmp = query_server($db_table, $server_id, $server_type, 'WHERE 1', false); else $tmp = query_server($db_table, $server_id, $server_type); + $records = $tmp[0]; + $msg .= '<b>Resynced Database:</b><br>'; + if(is_array($records)) { + foreach($records as $rec) { + $app->db->datalogUpdate($db_table, $rec, $index_field, $rec[$index_field], true); + $msg .= $rec['database_name'].' on '.$server_name[$rec['server_id']].'<br>'; + } + } else { $msg .= 'no results<bg>'; } + $msg .= '<br>'; + + } + + //* maildomains + if(isset($this->dataRecord['resync_mail']) && $this->dataRecord['resync_mail'] == 1) { + $db_table = 'mail_domain'; + $index_field = 'domain_id'; + $server_type = 'mail'; + $server_id = $app->functions->intval($this->dataRecord['mail_server_id']); + if ($server_id == -1) $tmp = query_server($db_table, $server_id, $server_type, 'WHERE 1', false); else $tmp = query_server($db_table, $server_id, $server_type); + $records = $tmp[0]; + $server_name = $tmp[1]; + unset($tmp); + $msg .= '<b>Resynced Maildomain:</b><br>'; + if(is_array($records)) { + foreach($records as $rec) { + $app->db->datalogUpdate($db_table, $rec, $index_field, $rec[$index_field], true); + $msg .= $rec['domain'].' on '.$server_name[$rec['server_id']].'<br>'; + } + } else { $msg .= 'no results<bg>'; } + $msg .= '<br>'; + } + + //* mailbox + if(isset($this->dataRecord['resync_mailbox']) && $this->dataRecord['resync_mailbox'] == 1) { + $db_table = 'mail_user'; + $index_field = 'mailuser_id'; + $server_type = 'mail'; + $server_id = $app->functions->intval($this->dataRecord['mailbox_server_id']); + if ($server_id == -1) $tmp = query_server($db_table, $server_id, $server_type, 'WHERE 1', false); else $tmp = query_server($db_table, $server_id, $server_type); + $records = $tmp[0]; + $server_name = $tmp[1]; + unset($tmp); + $msg .= '<b>Resynced Mailbox:</b><br>'; + if(is_array($records)) { + foreach($records as $rec) { + $app->db->datalogUpdate($db_table, $rec, $index_field, $rec[$index_field], true); + $msg .= $rec['email'].' on '.$server_name[$rec['server_id']].'<br>'; + } + } else { $msg .= 'no results<bg>'; } + $msg .= '<br>'; + + $db_table = 'mail_forwarding'; + $index_field = 'forwarding_id'; + if ($server_id == -1) $tmp = query_server($db_table, $server_id, $server_type, 'WHERE 1', false); else $tmp = query_server($db_table, $server_id, $server_type); + $records = $tmp[0]; + $server_name = $tmp[1]; + unset($tmp); + $msg .= '<b>Resynced Alias</b><br>'; + if(is_array($records)) { + foreach($records as $rec) { + $app->db->datalogUpdate($db_table, $rec, $index_field, $rec[$index_field], true); + } + } else { $msg .= 'no results<bg>'; } + $msg .= '<br>'; + } + + //* dns + if(isset($this->dataRecord['resync_dns']) && $this->dataRecord['resync_dns'] == 1) { + $db_table = 'dns_soa'; + $index_field = 'id'; + $server_type = 'dns'; + $server_id = $app->functions->intval($this->dataRecord['dns_server_id']); + if ($server_id == -1) $tmp = query_server($db_table, $server_id, $server_type, 'WHERE 1', false); else $tmp = query_server($db_table, $server_id, $server_type, "WHERE active = 'Y'"); + $zone_records = $tmp[0]; + $server_name = $tmp[1]; + unset($tmp); + $msg .= '<b>Resynced DNS zone</b><br>'; + if(is_array($zone_records) && !empty($zone_records)) { + foreach($zone_records as $zone_rec) { + if ($server_id == -1) $records = query_server('dns_rr', $server_id, $server_type, 'WHERE 1', false)[0]; else $records = query_server('dns_rr', $server_id, $server_type, "WHERE active = 'Y'")[0]; + $rr_count = 0; + if (is_array($records)) { + foreach($records as $rec) { + $new_serial = $app->validate_dns->increase_serial($rec['serial']); + $app->db->datalogUpdate('dns_rr', "serial = '".$new_serial."'", 'id', $rec['id']); + $rr_count++; + } + } else { $msg .= 'no dns recordsesults<br>'; } + $new_serial = $app->validate_dns->increase_serial($zone_rec['serial']); + $app->db->datalogUpdate('dns_soa', "serial = '".$new_serial."'", 'id', $zone_rec['id']); + $msg .= $zone_rec['origin'].' on '.$server_name[$zone_rec['server_id']].' with '.$rr_count.' records<br>'; + } + } else { $msg .= 'no results<br>'; } + $msg .= '<br>'; + } + + //* clients + if(isset($this->dataRecord['resync_client']) && $this->dataRecord['resync_client'] == 1) { + $db_table = 'client'; + $index_field = 'client_id'; + $records = $app->db->queryAllRecords("SELECT * FROM ".$db_table); + $msg .= '<b>Resynced clients</b><br>'; + if(is_array($records)) { + $tform_def_file = '../client/form/client.tform.php'; + $app->uses('tpl,tform,tform_actions'); + $app->load('tform_actions'); + foreach($records as $rec) { + $app->db->datalogUpdate($db_table, $rec, $index_field, $rec[$index_field], true); + $tmp = new tform_actions; + $tmp->id = $rec[$index_field]; + $tmp->dataRecord = $rec; + $tmp->oldDataRecord = $rec; + $app->plugin->raiseEvent('client:client:on_after_update', $tmp); + $msg .= $rec['contact_name'].'<br>'; + unset($tmp); + } + } else { $msg .= 'no results<bg>'; } + $msg .= '<br>'; + } + + //* vserver + if(isset($this->dataRecord['resync_vserver']) && $this->dataRecord['resync_vserver'] == 1) { + $db_table = 'openvz_vm'; + $index_field = 'vm_id'; + $server_type = 'vserver'; + $server_id = $app->functions->intval($this->dataRecord['vserver_server_id']); + if ($server_id == -1) $tmp = query_server($db_table, $server_id, $server_type, 'WHERE 1', false); else $tmp = query_server($db_table, $server_id, $server_type); + $records = $tmp[0]; + $server_name = $tmp[1]; + unset($tmp); + $msg .= '<b>Resynced vServer:</b><br>'; + if(is_array($records)) { + foreach($records as $rec) { + $app->db->datalogUpdate($db_table, $rec, $index_field, $rec[$index_field], true); + $msg .= $rec['hostname'].' on '.$server_name[$rec['server_id']].'<br>'; + } + } else { $msg .= 'no results<bg>'; } + $msg .= '<br>'; + } + + //* firewall + if(isset($this->dataRecord['resync_firewall']) && $this->dataRecord['resync_firewall'] == 1) { + $db_table = 'iptables'; + $index_field = 'iptables_id'; + $server_type = 'firewall'; + $server_id = $app->functions->intval($this->dataRecord['firewall_server_id']); + if ($server_id == -1) $tmp = query_server($db_table, $server_id, $server_type, 'WHERE 1', false); else $tmp = query_server($db_table, $server_id, $server_type); + $records = $tmp[0]; + $server_name = $tmp[1]; + unset($tmp); + $msg .= '<b>Resynced Firewall</b><br>'; + if(is_array($records)) { + foreach($records as $rec) { + $app->db->datalogUpdate($db_table, $rec, $index_field, $rec[$index_field], true); + } + } else { $msg .= 'no results<bg>'; } + $msg .= '<br>'; + } + + echo $msg; + } + +} + +$page = new page_action; +$page->onLoad(); +?> diff --git a/interface/web/tools/resync_show.php b/interface/web/tools/resync_show.php new file mode 100644 index 0000000000000000000000000000000000000000..b74515d6549d6f38202fd1744bfccaeac967eadd --- /dev/null +++ b/interface/web/tools/resync_show.php @@ -0,0 +1,114 @@ +<?php +/* +Copyright (c) 2014, Florian Schaal, info@schaal-24.de +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name of ISPConfig nor the names of its contributors + may be used to endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + + +/****************************************** +* Begin Form configuration +******************************************/ + +$tform_def_file = 'form/resync.tform.php'; + +/****************************************** +* End Form configuration +******************************************/ + +require_once '../../lib/config.inc.php'; +require_once '../../lib/app.inc.php'; + +//* Check permissions for module +$app->auth->check_module_permissions('admin'); + +// Loading classes +$app->uses('tpl,tform,tform_actions'); +$app->load('tform_actions'); + +class page_action extends tform_actions { + + function get_servers($type) { + global $app; + + $inactive_server = false; + $tmp = $app->db->queryAllRecords("SELECT server_id, server_name, active FROM server WHERE ".$type."_server = 1 AND mirror_server_id = 0 ORDER BY active DESC, server_name"); + foreach ($tmp as $server) { + if ( $server['active'] == '0' ) { + $server['server_name'] .= ' [inactive]'; + $inactive_server = true; + } + $options_servers .= "<option value='$server[server_id]'>$server[server_name]</option>"; + } + if ( count ($tmp) > 1 ) { + $options_servers = "<option value='0'>all active $type-server</option>" . $options_servers; + if ($inactive_server) $options_servers .= "<option value='-1'>force all $type-server</option>"; + } + + return $options_servers; + + } + + function onShowEnd() { + global $app, $conf; + + $servers = $this->get_servers('mail'); + $app->tpl->setVar('mail_server_id', $servers); + if ( !empty($servers) ) $app->tpl->setVar('mail_server_found', 1); + + $servers = $this->get_servers('web'); + $app->tpl->setVar('web_server_id', $servers); + $app->tpl->setVar('ftp_server_id', $servers); + if ( !empty($servers) ) $app->tpl->setVar('web_server_found', 1); + + $servers = $this->get_servers('dns'); + $app->tpl->setVar('dns_server_id', $servers); + if ( !empty($servers) ) $app->tpl->setVar('dns_server_found', 1); + + $servers = $this->get_servers('file'); + $app->tpl->setVar('file_server_id', $servers); + if ( !empty($servers) ) $app->tpl->setVar('file_server_found', 1); + + $servers = $this->get_servers('db'); + $app->tpl->setVar('db_server_id', $servers); + if ( !empty($servers) ) $app->tpl->setVar('db_server_found', 1); + + $servers = $this->get_servers('vserver'); + $app->tpl->setVar('vserver_server_id', $servers); + if ( !empty($servers) ) $app->tpl->setVar('vserver_server_found', 1); + + $servers = $this->get_servers('firewall'); + $app->tpl->setVar('firewall_server_id', $servers); + if ( !empty($servers) ) $app->tpl->setVar('firewall_server_found', 1); + + parent::onShowEnd(); + } + +} + +$page = new page_action; +$page->onLoad(); + +?> diff --git a/interface/web/tools/templates/resync.htm b/interface/web/tools/templates/resync.htm index 845949fa8b2d5b05cf9425a33d16e001d13a154b..064dc6fae9d4982b26c33ef97153e3f3e8b56e20 100644 --- a/interface/web/tools/templates/resync.htm +++ b/interface/web/tools/templates/resync.htm @@ -1,79 +1,211 @@ -<h2><tmpl_var name="head_txt"></h2> +<h2><tmpl_var name="list_head_txt"></h2> <p><tmpl_var name="list_desc_txt"></p> -<div class="panel panel_language_import"> - - <div class="pnl_formsarea"> - <fieldset class="inlineLabels"><legend>{tmpl_var name="legend_txt"}</legend> - <div class="ctrlHolder"> - <p class="label">{tmpl_var name="resync_sites_txt"}</p> - <div class="multiField"> - <input id="resync_sites" type="checkbox" value="1" name="resync_sites" /> - </div> - </div> - <div class="ctrlHolder"> - <p class="label">{tmpl_var name="resync_ftp_txt"}</p> - <div class="multiField"> - <input id="resync_ftp" type="checkbox" value="1" name="resync_ftp" /> - </div> - </div> - <div class="ctrlHolder"> - <p class="label">{tmpl_var name="resync_shell_txt"}</p> - <div class="multiField"> - <input id="resync_shell" type="checkbox" value="1" name="resync_shell" /> - </div> - </div> - <div class="ctrlHolder"> - <p class="label">{tmpl_var name="resync_cron_txt"}</p> - <div class="multiField"> - <input id="resync_cron" type="checkbox" value="1" name="resync_cron" /> - </div> - </div> - <div class="ctrlHolder"> - <p class="label">{tmpl_var name="resync_db_txt"}</p> - <div class="multiField"> - <input id="resync_db" type="checkbox" value="1" name="resync_db" /> - </div> - </div> - <div class="ctrlHolder"> - <p class="label">{tmpl_var name="resync_mailbox_txt"}</p> - <div class="multiField"> - <input id="resync_mailbox" type="checkbox" value="1" name="resync_mailbox" /> - </div> - </div> - <div class="ctrlHolder"> - <p class="label">{tmpl_var name="resync_dkim_txt"}</p> - <div class="multiField"> - <input id="resync_dkim" type="checkbox" value="1" name="resync_dkim" /> - </div> - </div> - <div class="ctrlHolder"> - <p class="label">{tmpl_var name="resync_dns_txt"}</p> - <div class="multiField"> - <input id="resync_dns" type="checkbox" value="1" name="resync_dns" /> - </div> - </div> - <div class="ctrlHolder"> - <p class="label">{tmpl_var name="resync_client_txt"}</p> - <div class="multiField"> - <input id="resync_client" type="checkbox" value="1" name="resync_client" /> - </div> - </div> - </fieldset> +<div class="panel panel_mail_domain"> +<div class="pnl_formsarea"> + <fieldset class="inlineLabels"> + <div class="ctrlHolder"> + <tmpl_if name="web_server_found"> + <input id="resync_sites" type="checkbox" value="1" name="resync_sites"> + <label for="resync_sites">{tmpl_var name='resync_sites_txt'}</label> + <select name="web_server_id" id="web_server_id" class="selectInput"> + {tmpl_var name='web_server_id'} + </select> + <tmpl_else> + <label for="resync_sites">{tmpl_var name="resync_sites_txt"}</label> + <span style="color:red"> + <strong>{tmpl_var name="resync_no_server_txt"}</strong> + </span> + </tmpl_if> + </div> + </fieldset> - <tmpl_if name="msg"> - <div id="OKMsg"><p><tmpl_var name="msg"></p></div> - </tmpl_if> - <tmpl_if name="error"> - <div id="errorMsg"><h3>ERROR</h3><ol><tmpl_var name="error"></ol></div> - </tmpl_if> + <fieldset class="inlineLabels"> + <div class="ctrlHolder"> + <tmpl_if name="web_server_found"> + <input id="resync_ftp" type="checkbox" value="1" name="resync_ftp"> + <label for="resync_ftp">{tmpl_var name="resync_ftp_txt"}</label> + <select name="ftp_server_id" id="ftp_server_id" class="selectInput"> + {tmpl_var name='ftp_server_id'} + </select> + <tmpl_else> + <label for="resync_ftp">{tmpl_var name="resync_ftp_txt"}</label> + <span style="color:red"> + <strong>{tmpl_var name="resync_no_server_txt"}</strong> + </span> + </tmpl_if> + </div> + </fieldset> - <input type="hidden" name="id" value="{tmpl_var name='id'}"> + <fieldset class="inlineLabels"> + <div class="ctrlHolder"> + <tmpl_if name="file_server_found"> + <input id="resync_webdav" type="checkbox" value="1" name="resync_webdav"> + <label for="resync_webdav">{tmpl_var name="resync_webdav_txt"}</label> + <select name="webdav_server_id" id="webdav_server_id" class="selectInput"> + {tmpl_var name='file_server_id'} + </select> + <tmpl_else> + <label for="resync_webdav">{tmpl_var name="resync_webdav_txt"}</label> + <span style="color:red"> + <strong>{tmpl_var name="resync_no_server_txt"}</strong> + </span> + </tmpl_if> + </div> + </fieldset> - <div class="buttonHolder buttons"> - <button class="positive iconstxt icoPositive" type="button" value="Import" onClick="submitForm('pageForm','tools/resync.php');"><span>{tmpl_var name="btn_start_txt"}</span></button> - <button class="negative iconstxt icoNegative" type="button" value="Cancel" onClick="loadContent('tools/index.php');"><span>{tmpl_var name="btn_cancel_txt"}</span></button> - </div> - </div> - + <fieldset class="inlineLabels"> + <div class="ctrlHolder"> + <tmpl_if name="web_server_found"> + <input id="resync_shell" type="checkbox" value="1" name="resync_shell"> + <label for="resync_shell">{tmpl_var name="resync_shell_txt"}</label> + <select name="shell_server_id" id="shell_server_id" class="selectInput"> + {tmpl_var name='web_server_id'} + </select> + <tmpl_else> + <label for="resync_shell">{tmpl_var name="resync_shell_txt"}</label> + <span style="color:red"> + <strong>{tmpl_var name="resync_no_server_txt"}</strong> + </span> + </tmpl_if> + </div> + </fieldset> + + <fieldset class="inlineLabels"> + <div class="ctrlHolder"> + <tmpl_if name="web_server_found"> + <input id="resync_cron" type="checkbox" value="1" name="resync_cron"> + <label for="resync_cron">{tmpl_var name="resync_cron_txt"}</label> + <select name="cron_server_id" id="cron_server_id" class="selectInput"> + {tmpl_var name='web_server_id'} + </select> + <tmpl_else> + <label for="resync_cron">{tmpl_var name="resync_cron_txt"}</label> + <span style="color:red"> + <strong>{tmpl_var name="resync_no_server_txt"}</strong> + </span> + </tmpl_if> + </div> + </fieldset> + + <fieldset class="inlineLabels"> + <div class="ctrlHolder"> + <tmpl_if name="db_server_found"> + <input id="resync_db" type="checkbox" value="1" name="resync_db"> + <label for="resync_db">{tmpl_var name="resync_db_txt"}</label> + <select name="db_server_id" id="db_server_id" class="selectInput"> + {tmpl_var name='db_server_id'} + </select> + <tmpl_else> + <label for="resync_db">{tmpl_var name="resync_db_txt"}</label> + <span style="color:red"> + <strong>{tmpl_var name="resync_no_server_txt"}</strong> + </span> + </tmpl_if> + </div> + </fieldset> + + <fieldset class="inlineLabels"> + <div class="ctrlHolder"> + <tmpl_if name="mail_server_found"> + <input id="resync_mail" type="checkbox" value="1" name="resync_mail"> + <label for="resync_mail">{tmpl_var name="resync_mail_txt"}</label> + <select name="mail_server_id" id="mail_server_id" class="selectInput"> + {tmpl_var name='mail_server_id'} + </select> + <tmpl_else> + <label for="resync_mail">{tmpl_var name="resync_mail_txt"}</label> + <span style="color:red"> + <strong>{tmpl_var name="resync_no_server_txt"}</strong> + </span> + </tmpl_if> + </div> + </fieldset> + + <fieldset class="inlineLabels"> + <div class="ctrlHolder"> + <tmpl_if name="mail_server_found"> + <input id="resync_mailbox" type="checkbox" value="1" name="resync_mailbox"> + <label for="resync_mailbox">{tmpl_var name="resync_mailbox_txt"}</label> + <select name="mailbox_server_id" id="mailbox_server_id" class="selectInput"> + {tmpl_var name='mail_server_id'} + </select> + <tmpl_else> + <label for="resync_mailbox">{tmpl_var name="resync_mailbox_txt"}</label> + <span style="color:red"> + <strong>{tmpl_var name="resync_no_server_txt"}</strong> + </span> + </tmpl_if> + </div> + + <fieldset class="inlineLabels"> + <div class="ctrlHolder"> + <tmpl_if name="dns_server_found"> + <input id="resync_dns" type="checkbox" value="1" name="resync_dns"> + <label for="resync_dns">{tmpl_var name="resync_dns_txt"}</label> + <select name="dns_server_id" id="dns_server_id" class="selectInput"> + {tmpl_var name='dns_server_id'} + </select> + <tmpl_else> + <label for="resync_dns">{tmpl_var name="resync_dns_txt"}</label> + <span style="color:red"> + <strong>{tmpl_var name="resync_no_server_txt"}</strong> + </span> + </tmpl_if> + </div> + </fieldset> + + <fieldset class="inlineLabels"> + <div class="ctrlHolder"> + <tmpl_if name="vserver_server_found"> + <input id="resync_vserver" type="checkbox" value="1" name="resync_vserver"> + <label for="resync_vserver">{tmpl_var name="resync_vserver_txt"}</label> + <select name="vserver_server_id" id="vserver_server_id" class="selectInput"> + {tmpl_var name='vserver_server_id'} + </select> + <tmpl_else> + <label for="resync_vserver">{tmpl_var name="resync_vserver_txt"}</label> + <span style="color:red"> + <strong>{tmpl_var name="resync_no_server_txt"}</strong> + </span> + </tmpl_if> + </div> + </fieldset> + + <fieldset class="inlineLabels"> + <div class="ctrlHolder"> + <tmpl_if name="firewall_server_found"> + <input id="resync_firewall" type="checkbox" value="1" name="resync_firewall"> + <label for="resync_firewall">{tmpl_var name="resync_firewall_txt"}</label> + <select name="firewall_server_id" id="firewall_server_id" class="selectInput"> + {tmpl_var name='firewall_server_id'} + </select> + <tmpl_else> + <label for="resync_firewall">{tmpl_var name="resync_firewall_txt"}</label> + <span style="color:red"> + <strong>{tmpl_var name="resync_no_server_txt"}</strong> + </span> + </tmpl_if> + </div> + </fieldset> + + <fieldset class="inlineLabels"> + <div class="ctrlHolder"> + <input id="resync_client" type="checkbox" value="1" name="resync_client"> + <label for="resync_client">{tmpl_var name="resync_client_txt"}</label> + </div> + </fieldset> + + <input type="hidden" name="id" value="{tmpl_var name='id'}"> + + <div class="buttonHolder buttons"> + <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onclick="submitForm('pageForm','tools/resync_do.php');"> + <span>{tmpl_var name='btn_save_txt'}</span> + </button> + <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onclick="loadContent('tools/resync.php');"> + <span>{tmpl_var name='btn_cancel_txt'}</span> + </button> + </div> </div> +</div> + diff --git a/server/plugins-available/mail_plugin_dkim.inc.php b/server/plugins-available/mail_plugin_dkim.inc.php index dbd15de8c7da432b691f87d162a88c36c2d850e0..3a451d37d5fb496b97ed65aebb0e6994893e5d46 100755 --- a/server/plugins-available/mail_plugin_dkim.inc.php +++ b/server/plugins-available/mail_plugin_dkim.inc.php @@ -111,7 +111,7 @@ class mail_plugin_dkim { //* When we can use 60-dkim for the dkim-keys create the file if it does not exists. if (substr_compare($amavis_configfile, '60-dkim', -7) === 0 && !file_exists($amavis_configfile)) - $app->system->file_put_contents($amavis_configfile, ''); + $app->system->touch($amavis_configfile); if ( $amavis_configfile == '' || !is_writeable($amavis_configfile) ) { $app->log('Amavis-config not found or not writeable.', LOGLEVEL_ERROR); @@ -141,8 +141,7 @@ class mail_plugin_dkim { $app->system->chown($mail_config['dkim_path'], $amavis_user); } else { mkdir($mail_config['dkim_path'], 0755, true); - $app->log('No user amavis or vscan found - using root for '.$mail_config['dkim_path'] -, LOGLEVEL_WARNING); + $app->log('No user amavis or vscan found - using root for '.$mail_config['dkim_path'], LOGLEVEL_WARNING); } } @@ -240,20 +239,20 @@ class mail_plugin_dkim { //* If we are using seperate config-files with amavis remove existing keys from 50-user to avoid duplicate keys if (substr_compare($amavis_configfile, '60-dkim', -7) === 0) { $temp_configfile = str_replace('60-dkim', '50-user', $amavis_configfile); - $temp_config = $app->system->file_get_contents($temp_configfile); + $temp_config = $app->system->file_get_contents($temp_configfile, true); if (preg_match($search_regex, $temp_config)) { $temp_config = preg_replace($search_regex, '', $temp_config)."\n"; - $app->system->file_put_contents($temp_configfile, $temp_config); + $app->system->file_put_contents($temp_configfile, $temp_config, true); } unset($temp_configfile); unset($temp_config); } $key_value="dkim_key('".$key_domain."', '".$selector."', '".$mail_config['dkim_path']."/".$key_domain.".private');\n"; - $amavis_config = $app->system->file_get_contents($amavis_configfile); + $amavis_config = $app->system->file_get_contents($amavis_configfile, true); $amavis_config = preg_replace($search_regex, '', $amavis_config).$key_value; - if ( $app->system->file_put_contents($amavis_configfile, $amavis_config) ) { + if ( $app->system->file_put_contents($amavis_configfile, $amavis_config, true) ) { $app->log('Adding DKIM Private-key to amavis-config.', LOGLEVEL_DEBUG); $restart = true; } else { @@ -272,13 +271,13 @@ class mail_plugin_dkim { $restart = false; $amavis_configfile = $this->get_amavis_config(); - $amavis_config = $app->system->file_get_contents($amavis_configfile); + $amavis_config = $app->system->file_get_contents($amavis_configfile, true); $search_regex = "/(\n|\r)?dkim_key.*".$key_domain.".*(\n|\r)?/"; if (preg_match($search_regex, $amavis_config)) { $amavis_config = preg_replace($search_regex, '', $amavis_config); - $app->system->file_put_contents($amavis_configfile, $amavis_config); + $app->system->file_put_contents($amavis_configfile, $amavis_config, true); $app->log('Deleted the DKIM settings from amavis-config for '.$key_domain.'.', LOGLEVEL_DEBUG); $restart = true; } @@ -286,10 +285,10 @@ class mail_plugin_dkim { //* If we are using seperate config-files with amavis remove existing keys from 50-user, too if (substr_compare($amavis_configfile, '60-dkim', -7) === 0) { $temp_configfile = str_replace('60-dkim', '50-user', $amavis_configfile); - $temp_config = $app->system->file_get_contents($temp_configfile); + $temp_config = $app->system->file_get_contents($temp_configfile, true); if (preg_match($search_regex, $temp_config)) { $temp_config = preg_replace($search_regex, '', $temp_config); - $app->system->file_put_contents($temp_configfile, $temp_config); + $app->system->file_put_contents($temp_configfile, $temp_config, true); $restart = true; } unset($temp_configfile);