From bd68aae78a5d696e4ccb9c0d267486c283a6d9d2 Mon Sep 17 00:00:00 2001 From: Marius Cramer Date: Fri, 18 Oct 2013 14:49:59 +0200 Subject: [PATCH] Resolved differences from svn merge to trunk and git master --- install/autoupdate.php | 2 +- install/install.php | 30 +- install/lib/installer_base.lib.php | 6 +- install/sql/incremental/upd_0049.sql | 3 +- install/sql/incremental/upd_0052.sql | 6 +- install/sql/incremental/upd_0055.sql | 4 +- install/sql/incremental/upd_0058.sql | 1 + install/sql/ispconfig3.sql | 28 +- install/tpl/amavisd_user_config.master | 6 + install/tpl/opensuse_amavisd_conf.master | 6 + install/tpl/server.ini.master | 27 +- install/tpl/system.ini.master | 1 + install/update.php | 11 +- interface/lib/classes/tform.inc.php | 16 +- interface/lib/classes/tools_monitor.inc.php | 34 + interface/lib/lang/cz.lng | 2 +- interface/lib/lang/de.lng | 4 +- interface/lib/shelluser_blacklist | 3 +- .../web/admin/form/server_config.tform.php | 109 ++- .../web/admin/form/system_config.tform.php | 36 +- .../web/admin/lib/lang/ar_remote_action.lng | 2 +- .../web/admin/lib/lang/bg_remote_action.lng | 2 +- .../web/admin/lib/lang/br_remote_action.lng | 2 +- interface/web/admin/lib/lang/de.lng | 1 - .../admin/lib/lang/de_directive_snippets.lng | 3 +- .../lib/lang/de_directive_snippets_list.lng | 1 - interface/web/admin/lib/lang/de_firewall.lng | 1 - .../web/admin/lib/lang/de_firewall_list.lng | 1 - interface/web/admin/lib/lang/de_groups.lng | 1 - .../web/admin/lib/lang/de_groups_list.lng | 1 - interface/web/admin/lib/lang/de_iptables.lng | 1 - .../web/admin/lib/lang/de_iptables_list.lng | 1 - .../web/admin/lib/lang/de_language_add.lng | 1 - .../admin/lib/lang/de_language_complete.lng | 1 - .../web/admin/lib/lang/de_language_edit.lng | 1 - .../web/admin/lib/lang/de_language_export.lng | 1 - .../web/admin/lib/lang/de_language_import.lng | 2 +- .../web/admin/lib/lang/de_language_list.lng | 1 - interface/web/admin/lib/lang/de_login_as.lng | 1 - .../web/admin/lib/lang/de_package_install.lng | 1 - .../web/admin/lib/lang/de_remote_action.lng | 1 - .../web/admin/lib/lang/de_remote_user.lng | 1 - .../admin/lib/lang/de_remote_user_list.lng | 1 - interface/web/admin/lib/lang/de_server.lng | 1 - .../web/admin/lib/lang/de_server_config.lng | 2 +- .../admin/lib/lang/de_server_config_list.lng | 1 - interface/web/admin/lib/lang/de_server_ip.lng | 7 +- .../web/admin/lib/lang/de_server_ip_list.lng | 1 - .../web/admin/lib/lang/de_server_list.lng | 1 - .../web/admin/lib/lang/de_server_php.lng | 1 - .../web/admin/lib/lang/de_server_php_list.lng | 1 - .../admin/lib/lang/de_software_package.lng | 1 - .../lib/lang/de_software_package_install.lng | 1 - .../lib/lang/de_software_package_list.lng | 1 - .../web/admin/lib/lang/de_software_repo.lng | 1 - .../admin/lib/lang/de_software_repo_list.lng | 1 - .../lib/lang/de_software_update_list.lng | 1 - .../web/admin/lib/lang/de_system_config.lng | 9 +- .../admin/lib/lang/de_tpl_default_admin.lng | 1 - interface/web/admin/lib/lang/de_users.lng | 1 - .../web/admin/lib/lang/de_users_list.lng | 1 - .../web/admin/lib/lang/en_server_config.lng | 9 +- .../web/admin/lib/lang/en_system_config.lng | 3 + .../web/admin/lib/lang/fi_remote_action.lng | 2 +- .../web/admin/lib/lang/fr_remote_action.lng | 2 +- .../web/admin/lib/lang/hu_remote_action.lng | 2 +- .../web/admin/lib/lang/id_remote_action.lng | 2 +- .../web/admin/lib/lang/it_remote_action.lng | 2 +- .../web/admin/lib/lang/ja_remote_action.lng | 2 +- .../web/admin/lib/lang/nl_remote_action.lng | 2 +- .../web/admin/lib/lang/nl_system_config.lng | 3 + .../web/admin/lib/lang/pl_remote_action.lng | 2 +- .../web/admin/lib/lang/pt_remote_action.lng | 2 +- .../web/admin/lib/lang/ro_remote_action.lng | 2 +- .../web/admin/lib/lang/ru_remote_action.lng | 2 +- .../web/admin/lib/lang/se_remote_action.lng | 2 +- .../web/admin/lib/lang/sk_remote_action.lng | 2 +- .../web/admin/lib/lang/tr_remote_action.lng | 2 +- .../templates/server_config_mail_edit.htm | 6 +- .../templates/server_config_rescue_edit.htm | 16 +- .../templates/server_config_server_edit.htm | 29 +- .../templates/server_config_web_edit.htm | 36 +- .../templates/system_config_mail_edit.htm | 20 +- .../templates/system_config_sites_edit.htm | 10 +- interface/web/client/lib/lang/de.lng | 1 - interface/web/client/lib/lang/de_client.lng | 6 +- .../web/client/lib/lang/de_client_circle.lng | 1 - .../client/lib/lang/de_client_circle_list.lng | 1 - .../web/client/lib/lang/de_client_del.lng | 1 - .../web/client/lib/lang/de_client_message.lng | 3 +- .../client/lib/lang/de_client_template.lng | 1 - .../lib/lang/de_client_template_list.lng | 1 - .../web/client/lib/lang/de_clients_list.lng | 1 - interface/web/client/lib/lang/de_domain.lng | 1 - .../web/client/lib/lang/de_domain_list.lng | 1 - interface/web/client/lib/lang/de_reseller.lng | 6 +- .../web/client/lib/lang/de_resellers_list.lng | 1 - interface/web/dashboard/lib/lang/de.lng | 1 - .../dashboard/lib/lang/de_dashlet_limits.lng | 1 - .../lib/lang/de_dashlet_mailquota.lng | 1 - .../dashboard/lib/lang/de_dashlet_modules.lng | 1 - .../dashboard/lib/lang/de_dashlet_quota.lng | 5 +- interface/web/data.sql | 800 +++++++++++++++++ interface/web/designer/lib/lang/de.lng | 1 - .../web/designer/lib/lang/de_form_edit.lng | 1 - .../web/designer/lib/lang/de_form_list.lng | 1 - .../web/designer/lib/lang/de_module_edit.lng | 1 - .../web/designer/lib/lang/de_module_list.lng | 1 - .../designer/lib/lang/de_module_nav_edit.lng | 1 - .../lib/lang/de_module_nav_item_edit.lng | 1 - .../web/designer/lib/lang/de_module_show.lng | 1 - interface/web/dns/dns_wizard.php | 10 +- interface/web/dns/form/dns_template.tform.php | 9 +- interface/web/dns/lib/lang/de.lng | 1 - interface/web/dns/lib/lang/de_dns_a.lng | 1 - interface/web/dns/lib/lang/de_dns_a_list.lng | 1 - interface/web/dns/lib/lang/de_dns_aaaa.lng | 1 - interface/web/dns/lib/lang/de_dns_alias.lng | 1 - interface/web/dns/lib/lang/de_dns_cname.lng | 1 - interface/web/dns/lib/lang/de_dns_hinfo.lng | 1 - interface/web/dns/lib/lang/de_dns_import.lng | 1 - interface/web/dns/lib/lang/de_dns_mx.lng | 1 - interface/web/dns/lib/lang/de_dns_ns.lng | 1 - interface/web/dns/lib/lang/de_dns_ptr.lng | 1 - interface/web/dns/lib/lang/de_dns_rp.lng | 1 - interface/web/dns/lib/lang/de_dns_slave.lng | 1 - .../web/dns/lib/lang/de_dns_slave_list.lng | 1 - interface/web/dns/lib/lang/de_dns_soa.lng | 1 - .../web/dns/lib/lang/de_dns_soa_list.lng | 1 - interface/web/dns/lib/lang/de_dns_srv.lng | 1 - .../web/dns/lib/lang/de_dns_template.lng | 1 - .../web/dns/lib/lang/de_dns_template_list.lng | 1 - interface/web/dns/lib/lang/de_dns_txt.lng | 1 - interface/web/dns/lib/lang/de_dns_wizard.lng | 1 - interface/web/dns/lib/lang/en_dns_wizard.lng | 1 + interface/web/dns/templates/dns_a_list.htm | 1 + interface/web/dns/templates/dns_wizard.htm | 5 + interface/web/help/lib/lang/de.lng | 1 - interface/web/help/lib/lang/de_faq_form.lng | 1 - .../lib/lang/de_faq_manage_questions_list.lng | 1 - .../help/lib/lang/de_faq_sections_form.lng | 1 - .../web/help/lib/lang/de_help_faq_list.lng | 1 - .../lib/lang/de_help_faq_sections_list.lng | 1 - .../web/help/lib/lang/de_support_message.lng | 1 - .../help/lib/lang/de_support_message_list.lng | 1 - interface/web/login/lib/lang/de.lng | 1 - interface/web/mail/form/mail_domain.tform.php | 29 +- interface/web/mail/form/mail_user.tform.php | 215 ++--- interface/web/mail/lib/lang/de.lng | 1 - interface/web/mail/lib/lang/de_mail_alias.lng | 1 - .../web/mail/lib/lang/de_mail_alias_list.lng | 1 - .../web/mail/lib/lang/de_mail_aliasdomain.lng | 1 - .../lib/lang/de_mail_aliasdomain_list.lng | 1 - .../web/mail/lib/lang/de_mail_blacklist.lng | 1 - .../mail/lib/lang/de_mail_blacklist_list.lng | 1 - .../mail/lib/lang/de_mail_content_filter.lng | 1 - .../lib/lang/de_mail_content_filter_list.lng | 1 - .../web/mail/lib/lang/de_mail_domain.lng | 1 - .../lib/lang/de_mail_domain_admin_list.lng | 1 - .../mail/lib/lang/de_mail_domain_catchall.lng | 1 - .../lib/lang/de_mail_domain_catchall_list.lng | 1 - .../web/mail/lib/lang/de_mail_domain_list.lng | 1 - .../web/mail/lib/lang/de_mail_forward.lng | 1 - .../mail/lib/lang/de_mail_forward_list.lng | 1 - interface/web/mail/lib/lang/de_mail_get.lng | 3 +- .../web/mail/lib/lang/de_mail_get_list.lng | 1 - .../web/mail/lib/lang/de_mail_mailinglist.lng | 1 - .../lib/lang/de_mail_mailinglist_list.lng | 1 - .../mail/lib/lang/de_mail_relay_recipient.lng | 1 - .../lib/lang/de_mail_relay_recipient_list.lng | 1 - .../web/mail/lib/lang/de_mail_spamfilter.lng | 1 - .../mail/lib/lang/de_mail_spamfilter_list.lng | 1 - .../web/mail/lib/lang/de_mail_transport.lng | 1 - .../mail/lib/lang/de_mail_transport_list.lng | 1 - interface/web/mail/lib/lang/de_mail_user.lng | 1 - .../web/mail/lib/lang/de_mail_user_filter.lng | 1 - .../lib/lang/de_mail_user_filter_list.lng | 1 - .../web/mail/lib/lang/de_mail_user_list.lng | 1 - .../mail/lib/lang/de_mail_user_stats_list.lng | 1 - .../web/mail/lib/lang/de_mail_whitelist.lng | 1 - .../mail/lib/lang/de_mail_whitelist_list.lng | 1 - .../mail/lib/lang/de_spamfilter_blacklist.lng | 1 - .../lib/lang/de_spamfilter_blacklist_list.lng | 1 - .../mail/lib/lang/de_spamfilter_config.lng | 1 - .../lib/lang/de_spamfilter_config_list.lng | 1 - .../mail/lib/lang/de_spamfilter_policy.lng | 1 - .../lib/lang/de_spamfilter_policy_list.lng | 1 - .../web/mail/lib/lang/de_spamfilter_users.lng | 1 - .../lib/lang/de_spamfilter_users_list.lng | 1 - .../mail/lib/lang/de_spamfilter_whitelist.lng | 1 - .../lib/lang/de_spamfilter_whitelist_list.lng | 1 - .../lib/lang/de_user_quota_stats_list.lng | 1 - .../web/mail/lib/lang/en_mail_domain.lng | 9 +- interface/web/mailuser/lib/lang/de.lng | 1 - interface/web/mailuser/lib/lang/de_index.lng | 1 - .../lib/lang/de_mail_user_autoresponder.lng | 1 - .../web/mailuser/lib/lang/de_mail_user_cc.lng | 1 - .../mailuser/lib/lang/de_mail_user_filter.lng | 1 - .../lib/lang/de_mail_user_filter_list.lng | 1 - .../lib/lang/de_mail_user_password.lng | 1 - .../lib/lang/de_mail_user_spamfilter.lng | 1 - interface/web/monitor/lib/lang/de.lng | 4 +- .../web/monitor/lib/lang/de_datalog_list.lng | 1 - interface/web/monitor/lib/lang/en.lng | 3 + interface/web/monitor/lib/module.conf.php | 5 + interface/web/monitor/show_data.php | 7 + interface/web/monitor/show_log.php | 15 +- .../web/sites/aps_installedpackages_list.php | 2 +- interface/web/sites/database_user_edit.php | 62 +- interface/web/sites/form/database.tform.php | 7 +- .../web/sites/form/database_user.tform.php | 10 +- interface/web/sites/form/web_domain.tform.php | 6 +- .../sites/form/web_vhost_subdomain.tform.php | 6 +- interface/web/sites/lib/lang/de.lng | 1 - interface/web/sites/lib/lang/de_aps.lng | 3 +- .../sites/lib/lang/de_aps_instances_list.lng | 1 - .../sites/lib/lang/de_aps_packages_list.lng | 1 - .../lib/lang/de_aps_update_packagelist.lng | 1 - interface/web/sites/lib/lang/de_cron.lng | 1 - interface/web/sites/lib/lang/de_cron_list.lng | 1 - interface/web/sites/lib/lang/de_database.lng | 1 - .../sites/lib/lang/de_database_admin_list.lng | 1 - .../web/sites/lib/lang/de_database_list.lng | 2 +- .../web/sites/lib/lang/de_database_user.lng | 1 - .../lib/lang/de_database_user_admin_list.lng | 1 - .../sites/lib/lang/de_database_user_list.lng | 1 - interface/web/sites/lib/lang/de_ftp_user.lng | 3 +- .../web/sites/lib/lang/de_ftp_user_list.lng | 1 - .../web/sites/lib/lang/de_shell_user.lng | 1 - .../web/sites/lib/lang/de_shell_user_list.lng | 1 - .../lib/lang/de_user_quota_stats_list.lng | 1 - .../web/sites/lib/lang/de_web_aliasdomain.lng | 1 - .../lib/lang/de_web_aliasdomain_list.lng | 1 - .../web/sites/lib/lang/de_web_backup_list.lng | 2 +- .../web/sites/lib/lang/de_web_domain.lng | 1 - .../lib/lang/de_web_domain_admin_list.lng | 1 - .../web/sites/lib/lang/de_web_domain_list.lng | 1 - .../web/sites/lib/lang/de_web_folder.lng | 1 - .../web/sites/lib/lang/de_web_folder_list.lng | 1 - .../web/sites/lib/lang/de_web_folder_user.lng | 1 - .../lib/lang/de_web_folder_user_list.lng | 1 - .../lib/lang/de_web_sites_stats_list.lng | 1 - .../web/sites/lib/lang/de_web_subdomain.lng | 1 - .../sites/lib/lang/de_web_subdomain_list.lng | 1 - .../sites/lib/lang/de_web_vhost_subdomain.lng | 1 - .../lib/lang/de_web_vhost_subdomain_list.lng | 1 - .../web/sites/lib/lang/de_webdav_user.lng | 1 - .../sites/lib/lang/de_webdav_user_list.lng | 1 - .../sites/lib/lang/en_database_admin_list.lng | 3 +- .../web/sites/lib/lang/en_database_list.lng | 1 + .../web/sites/lib/lang/en_web_backup_list.lng | 4 +- interface/web/sites/list/database.list.php | 15 +- .../sites/templates/aps_install_package.htm | 2 +- .../sites/templates/database_admin_list.htm | 5 +- .../web/sites/templates/database_list.htm | 7 +- .../web/sites/templates/web_backup_list.htm | 4 +- interface/web/sites/web_domain_edit.php | 47 + .../web/sites/web_vhost_subdomain_edit.php | 49 +- .../lib/lang/de_strengthmeter.lng | 1 - interface/web/tools/import_plesk.php | 243 +++++- interface/web/tools/import_vpopmail.php | 267 ++++++ interface/web/tools/lib/lang/de.lng | 1 - .../tools/lib/lang/de_import_ispconfig.lng | 1 - interface/web/tools/lib/lang/de_index.lng | 1 - interface/web/tools/lib/lang/de_interface.lng | 1 - interface/web/tools/lib/lang/de_resync.lng | 1 - .../web/tools/lib/lang/de_tpl_default.lng | 1 - .../web/tools/lib/lang/de_usersettings.lng | 1 - .../web/tools/lib/lang/en_import_vpopmail.lng | 8 + .../web/tools/templates/import_vpopmail.htm | 53 ++ interface/web/vm/lib/lang/de.lng | 1 - .../web/vm/lib/lang/de_openvz_action.lng | 1 - interface/web/vm/lib/lang/de_openvz_ip.lng | 1 - .../web/vm/lib/lang/de_openvz_ip_list.lng | 1 - .../web/vm/lib/lang/de_openvz_ostemplate.lng | 1 - .../vm/lib/lang/de_openvz_ostemplate_list.lng | 1 - .../web/vm/lib/lang/de_openvz_template.lng | 1 - .../vm/lib/lang/de_openvz_template_list.lng | 1 - interface/web/vm/lib/lang/de_openvz_vm.lng | 1 - .../web/vm/lib/lang/de_openvz_vm_list.lng | 1 - server/cron_daily.php | 2 +- server/lib/classes/aps_installer.inc.php | 12 +- server/lib/classes/monitor_tools.inc.php | 3 + .../mods-available/rescue_core_module.inc.php | 2 +- .../plugins-available/apache2_plugin.inc.php | 123 ++- .../plugins-available/backup_plugin.inc.php | 28 +- .../mongo_clientdb_plugin.inc.php | 820 ++++++++++++++++++ .../webserver_plugin.inc.php | 166 ++++ server/server.php | 3 + 289 files changed, 3234 insertions(+), 582 deletions(-) create mode 100644 interface/web/data.sql create mode 100644 interface/web/tools/import_vpopmail.php create mode 100644 interface/web/tools/lib/lang/en_import_vpopmail.lng create mode 100644 interface/web/tools/templates/import_vpopmail.htm create mode 100644 server/plugins-available/mongo_clientdb_plugin.inc.php create mode 100644 server/plugins-available/webserver_plugin.inc.php diff --git a/install/autoupdate.php b/install/autoupdate.php index e43cd51985..de53b241f6 100644 --- a/install/autoupdate.php +++ b/install/autoupdate.php @@ -285,7 +285,7 @@ $inst->configure_dbserver(); //if(@is_dir('/etc/Bastille')) { //* Configure Firewall swriteln('Configuring Firewall'); -$inst->configure_firewall(); +$inst->configure_bastille_firewall(); //} //** Configure ISPConfig diff --git a/install/install.php b/install/install.php index 505426eee3..cbdf5d1c55 100644 --- a/install/install.php +++ b/install/install.php @@ -260,10 +260,17 @@ if($install_mode == 'standard') { $inst->configure_apps_vhost(); //* Configure Firewall - //* Configure Bastille Firewall - $conf['services']['firewall'] = true; - swriteln('Configuring Bastille Firewall'); - $inst->configure_firewall(); + if($conf['ufw']['installed'] == true) { + //* Configure Ubuntu Firewall + $conf['services']['firewall'] = true; + swriteln('Configuring Ubuntu Firewall'); + $inst->configure_ufw_firewall(); + } else { + //* Configure Bastille Firewall + $conf['services']['firewall'] = true; + swriteln('Configuring Bastille Firewall'); + $inst->configure_bastille_firewall(); + } //* Configure Fail2ban if($conf['fail2ban']['installed'] == true) { @@ -331,7 +338,7 @@ if($install_mode == 'standard') { if($conf['bind']['installed'] == true && $conf['bind']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['bind']['init_script'])) system($conf['init_scripts'].'/'.$conf['bind']['init_script'].' restart &> /dev/null'); //if($conf['squid']['installed'] == true && $conf['squid']['init_script'] != '' && is_file($conf['init_scripts'].'/'.$conf['squid']['init_script'])) system($conf['init_scripts'].'/'.$conf['squid']['init_script'].' restart &> /dev/null'); if($conf['nginx']['installed'] == true && $conf['nginx']['init_script'] != '' && is_file($conf['init_scripts'].'/'.$conf['nginx']['init_script'])) system($conf['init_scripts'].'/'.$conf['nginx']['init_script'].' restart &> /dev/null'); - //if($conf['ufw']['installed'] == true && $conf['ufw']['init_script'] != '' && is_file($conf['init_scripts'].'/'.$conf['ufw']['init_script'])) system($conf['init_scripts'].'/'.$conf['ufw']['init_script'].' restart &> /dev/null'); + if($conf['ufw']['installed'] == true && $conf['ufw']['init_script'] != '' && is_file($conf['init_scripts'].'/'.$conf['ufw']['init_script'])) system($conf['init_scripts'].'/'.$conf['ufw']['init_script'].' restart &> /dev/null'); }else{ //* In expert mode, we select the services in the following steps, only db is always available @@ -547,18 +554,17 @@ if($install_mode == 'standard') { //** Configure Firewall if(strtolower($inst->simple_query('Configure Firewall Server',array('y','n'),'y')) == 'y') { - //if($conf['bastille']['installed'] == true) { - //* Configure Bastille Firewall - $conf['services']['firewall'] = true; - swriteln('Configuring Bastille Firewall'); - $inst->configure_firewall(); - /*} elseif($conf['ufw']['installed'] == true) { + if($conf['ufw']['installed'] == true) { //* Configure Ubuntu Firewall $conf['services']['firewall'] = true; swriteln('Configuring Ubuntu Firewall'); $inst->configure_ufw_firewall(); + } else { + //* Configure Bastille Firewall + $conf['services']['firewall'] = true; + swriteln('Configuring Bastille Firewall'); + $inst->configure_bastille_firewall(); } - */ } //** Configure Firewall diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php index cd7ec0eb94..d77ab2170c 100644 --- a/install/lib/installer_base.lib.php +++ b/install/lib/installer_base.lib.php @@ -132,7 +132,7 @@ class installer_base { if(is_installed('named') || is_installed('bind') || is_installed('bind9')) $conf['bind']['installed'] = true; if(is_installed('squid')) $conf['squid']['installed'] = true; if(is_installed('nginx')) $conf['nginx']['installed'] = true; - // if(is_installed('iptables') && is_installed('ufw')) $conf['ufw']['installed'] = true; + if(is_installed('iptables') && is_installed('ufw')) $conf['ufw']['installed'] = true; if(is_installed('fail2ban-server')) $conf['fail2ban']['installed'] = true; if(is_installed('vzctl')) $conf['openvz']['installed'] = true; if(is_dir("/etc/Bastille")) $conf['bastille']['installed'] = true; @@ -1387,7 +1387,6 @@ class installer_base { exec('chown root:root '.$conf["squid"]["config_dir"].'/'.$configfile); } - /* public function configure_ufw_firewall() { $configfile = 'ufw.conf'; @@ -1397,9 +1396,8 @@ class installer_base { exec('chmod 600 /etc/ufw/ufw.conf'); exec('chown root:root /etc/ufw/ufw.conf'); } - */ - public function configure_firewall() { + public function configure_bastille_firewall() { global $conf; $dist_init_scripts = $conf['init_scripts']; diff --git a/install/sql/incremental/upd_0049.sql b/install/sql/incremental/upd_0049.sql index 55eff842e0..d37d1a5b4a 100644 --- a/install/sql/incremental/upd_0049.sql +++ b/install/sql/incremental/upd_0049.sql @@ -1 +1,2 @@ -ALTER TABLE `client_template` CHANGE `limit_aps` `limit_aps` INT( 11 ) NOT NULL DEFAULT '-1'; \ No newline at end of file +ALTER TABLE `client_template` CHANGE `limit_aps` `limit_aps` INT( 11 ) NOT NULL DEFAULT '-1'; +ALTER TABLE `web_backup` ADD `filesize` VARCHAR(10) NOT NULL AFTER `filename`; diff --git a/install/sql/incremental/upd_0052.sql b/install/sql/incremental/upd_0052.sql index 7ad62b2d6b..5f4a1b66da 100644 --- a/install/sql/incremental/upd_0052.sql +++ b/install/sql/incremental/upd_0052.sql @@ -1 +1,5 @@ -ALTER TABLE `client` ADD `default_slave_dnsserver` INT( 11 ) UNSIGNED NOT NULL DEFAULT '1' AFTER `limit_dns_zone`; \ No newline at end of file +ALTER TABLE `client_template` CHANGE `limit_aps` `limit_aps` INT( 11 ) NOT NULL DEFAULT '-1'; +ALTER TABLE `mail_domain` ADD `dkim_public` MEDIUMTEXT NOT NULL AFTER `domain`; +ALTER TABLE `mail_domain` ADD `dkim_private` MEDIUMTEXT NOT NULL AFTER `domain`; +ALTER TABLE `mail_domain` ADD `dkim` ENUM( 'n', 'y' ) NOT NULL AFTER `domain`; +ALTER TABLE `client` ADD `default_slave_dnsserver` INT( 11 ) UNSIGNED NOT NULL DEFAULT '1' AFTER `limit_dns_zone`; diff --git a/install/sql/incremental/upd_0055.sql b/install/sql/incremental/upd_0055.sql index 6f7a2e79ec..3a7c5d5863 100644 --- a/install/sql/incremental/upd_0055.sql +++ b/install/sql/incremental/upd_0055.sql @@ -1 +1,3 @@ -ALTER TABLE `sys_datalog` ADD `error` MEDIUMTEXT NULL DEFAULT NULL; \ No newline at end of file +ALTER TABLE `web_backup` CHANGE `backup_type` `backup_type` enum('web','mongodb','mysql') NOT NULL DEFAULT 'web'; +ALTER TABLE `web_database_user` ADD `database_password_mongo` varchar(32) DEFAULT NULL AFTER `database_password`; +ALTER TABLE `sys_datalog` ADD `error` MEDIUMTEXT NULL DEFAULT NULL; diff --git a/install/sql/incremental/upd_0058.sql b/install/sql/incremental/upd_0058.sql index 087b499c47..906f6b137f 100644 --- a/install/sql/incremental/upd_0058.sql +++ b/install/sql/incremental/upd_0058.sql @@ -1,3 +1,4 @@ ALTER TABLE `client` ADD COLUMN `can_use_api` enum('n','y') NOT NULL DEFAULT 'n' AFTER `canceled`; ALTER TABLE `remote_session` ADD COLUMN `client_login` tinyint(1) unsigned NOT NULL default '0' AFTER `remote_functions`; + diff --git a/install/sql/ispconfig3.sql b/install/sql/ispconfig3.sql index 0bffe0bfae..eb0d1992c4 100644 --- a/install/sql/ispconfig3.sql +++ b/install/sql/ispconfig3.sql @@ -267,7 +267,7 @@ CREATE TABLE `client_template` ( `sys_groupid` int(11) unsigned NOT NULL default '0', `sys_perm_user` varchar(5) default NULL, `sys_perm_group` varchar(5) default NULL, - `sys_perm_other` varchar(5) default NULL, + `sys_perm_other` varchar(5) default NULL, `template_name` varchar(64) NOT NULL, `template_type` varchar(1) NOT NULL default 'm', `limit_maildomain` int(11) NOT NULL default '-1', @@ -682,6 +682,9 @@ CREATE TABLE `mail_domain` ( `sys_perm_other` varchar(5) NOT NULL default '', `server_id` int(11) unsigned NOT NULL default '0', `domain` varchar(255) NOT NULL default '', + `dkim` ENUM( 'n', 'y' ) NOT NULL default 'n', + `dkim_private` mediumtext NOT NULL default '', + `dkim_public` mediumtext NOT NULL default '', `active` enum('n','y') NOT NULL, PRIMARY KEY (`domain_id`), KEY `server_id` (`server_id`,`domain`), @@ -1447,23 +1450,8 @@ CREATE TABLE IF NOT EXISTS `sys_cron` ( -- -------------------------------------------------------- -- --- Table structure for table `sys_cron` --- - -CREATE TABLE IF NOT EXISTS `sys_cron` ( - `name` varchar(50) NOT NULL, - `last_run` datetime NULL DEFAULT NULL, - `next_run` datetime NULL DEFAULT NULL, - `running` tinyint(1) UNSIGNED NOT NULL DEFAULT '0', - PRIMARY KEY (`name`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8; - - --- -------------------------------------------------------- - --- -- Table structure for table `sys_datalog` --- +-- CREATE TABLE `sys_datalog` ( `datalog_id` int(11) unsigned NOT NULL auto_increment, @@ -1643,7 +1631,7 @@ CREATE TABLE `sys_user` ( `default_group` int(11) unsigned NOT NULL default '0', `client_id` int(11) unsigned NOT NULL default '0', `id_rsa` VARCHAR( 2000 ) NOT NULL default '', - `ssh_rsa` VARCHAR( 600 ) NOT NULL default '', + `ssh_rsa` VARCHAR( 600 ) NOT NULL default '', PRIMARY KEY (`userid`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; @@ -1680,10 +1668,11 @@ CREATE TABLE `web_backup` ( `backup_id` int(10) unsigned NOT NULL AUTO_INCREMENT, `server_id` int(10) unsigned NOT NULL, `parent_domain_id` int(10) unsigned NOT NULL, - `backup_type` enum('web','mysql') NOT NULL DEFAULT 'web', + `backup_type` enum('web','mongodb','mysql') NOT NULL DEFAULT 'web', `backup_mode` varchar(64) NOT NULL DEFAULT '', `tstamp` int(10) unsigned NOT NULL, `filename` varchar(255) NOT NULL, + `filesize` VARCHAR(10) NOT NULL, PRIMARY KEY (`backup_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; @@ -1735,6 +1724,7 @@ CREATE TABLE IF NOT EXISTS `web_database_user` ( `database_user` varchar(64) DEFAULT NULL, `database_user_prefix` varchar(50) NOT NULL default '', `database_password` varchar(64) DEFAULT NULL, + `database_password_mongo` varchar(32) DEFAULT NULL, PRIMARY KEY (`database_user_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; diff --git a/install/tpl/amavisd_user_config.master b/install/tpl/amavisd_user_config.master index c89f875883..f37795501d 100644 --- a/install/tpl/amavisd_user_config.master +++ b/install/tpl/amavisd_user_config.master @@ -75,6 +75,12 @@ $LOGFILE = "/var/log/amavis.log"; # (defaults to empty, no log) # Set the log_level to 5 for debugging $log_level = 0; # (defaults to 0) +# DKIM + +$enable_dkim_verification = 1; +$enable_dkim_signing = 1; # load DKIM signing code, +@dkim_signature_options_bysender_maps = ( +{ '.' => { ttl => 21*24*3600, c => 'relaxed/simple' } } ); #------------ Do not modify anything below this line ------------- 1; # insure a defined return diff --git a/install/tpl/opensuse_amavisd_conf.master b/install/tpl/opensuse_amavisd_conf.master index d0d8a87773..5f9f867dc3 100644 --- a/install/tpl/opensuse_amavisd_conf.master +++ b/install/tpl/opensuse_amavisd_conf.master @@ -778,5 +778,11 @@ $spam_admin = undef; $DO_SYSLOG = 1; $LOGFILE = "/var/log/amavis.log"; # (defaults to empty, no log) +# DKIM + +$enable_dkim_verification = 1; +$enable_dkim_signing = 1; # load DKIM signing code, +@dkim_signature_options_bysender_maps = ( +{ '.' => { ttl => 21*24*3600, c => 'relaxed/simple' } } ); 1; # insure a defined return diff --git a/install/tpl/server.ini.master b/install/tpl/server.ini.master index 74508820cb..d27a3e2cea 100644 --- a/install/tpl/server.ini.master +++ b/install/tpl/server.ini.master @@ -5,12 +5,13 @@ dnsserver=mydns [server] -auto_network_configuration=n -ip_address=0.0.0.0 -netmask=255.255.255.0 -gateway=0.0.0.0 -hostname=server1.domain.tld -nameservers=8.8.8.8,8.8.4.4 +auto_network_configuration=n +ip_address=0.0.0.0 +netmask=255.255.255.0 +v6_prefix= +gateway=0.0.0.0 +hostname=server1.domain.tld +nameservers=8.8.8.8,8.8.4.4 firewall=bastille loglevel=2 admin_notify_events=1 @@ -45,6 +46,7 @@ overquota_notify_admin=y overquota_notify_client=y overquota_notify_freq=7 overquota_notify_onok=n +sendmail_path=/usr/sbin/sendmail [getmail] getmail_config_dir=/etc/getmail @@ -52,12 +54,12 @@ getmail_config_dir=/etc/getmail [web] server_type=apache website_basedir=/var/www -website_path=/var/www/clients/client[client_id]/web[website_id] -website_symlinks=/var/www/[website_domain]/:/var/www/clients/client[client_id]/[website_domain]/ -website_symlinks_rel=n -vhost_conf_dir=/etc/apache2/sites-available -vhost_conf_enabled_dir=/etc/apache2/sites-enabled -nginx_vhost_conf_dir=/etc/nginx/sites-available +website_path=/var/www/clients/client[client_id]/web[website_id] +website_symlinks=/var/www/[website_domain]/:/var/www/clients/client[client_id]/[website_domain]/ +website_symlinks_rel=n +vhost_conf_dir=/etc/apache2/sites-available +vhost_conf_enabled_dir=/etc/apache2/sites-enabled +nginx_vhost_conf_dir=/etc/nginx/sites-available nginx_vhost_conf_enabled_dir=/etc/nginx/sites-enabled security_level=20 user=www-data @@ -91,6 +93,7 @@ add_web_users_to_sshusers_group=y connect_userid_to_webid=n connect_userid_to_webid_start=10000 web_folder_protection=y +php_ini_check_minutes=1 overquota_notify_admin=y overquota_notify_client=y overquota_notify_freq=7 diff --git a/install/tpl/system.ini.master b/install/tpl/system.ini.master index 14a75e42d2..abb89311cd 100644 --- a/install/tpl/system.ini.master +++ b/install/tpl/system.ini.master @@ -23,6 +23,7 @@ dblist_phpmyadmin_link=y phpmyadmin_url=/phpmyadmin webftp_url= client_username_web_check_disabled=n +reseller_can_use_options=n [tools] diff --git a/install/update.php b/install/update.php index 1999bc0c2d..3fd346a78b 100644 --- a/install/update.php +++ b/install/update.php @@ -344,10 +344,15 @@ if($reconfigure_services_answer == 'yes') { if($conf['services']['firewall']) { - if($conf['bastille']['installed'] == true) { + if($conf['ufw']['installed'] == true) { + //* Configure Ubuntu Firewall + $conf['services']['firewall'] = true; + swriteln('Configuring Ubuntu Firewall'); + $inst->configure_ufw_firewall(); + } else { //* Configure Bastille Firewall swriteln('Configuring Bastille Firewall'); - $inst->configure_firewall(); + $inst->configure_bastille_firewall(); } } @@ -429,7 +434,7 @@ if($reconfigure_services_answer == 'yes') { } if($conf['services']['firewall']) { - //if($conf['ufw']['installed'] == true && $conf['ufw']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['ufw']['init_script'])) system($conf['init_scripts'].'/'.$conf['ufw']['init_script'].' restart &> /dev/null'); + if($conf['ufw']['installed'] == true && $conf['ufw']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['ufw']['init_script'])) system($conf['init_scripts'].'/'.$conf['ufw']['init_script'].' restart &> /dev/null'); } } diff --git a/interface/lib/classes/tform.inc.php b/interface/lib/classes/tform.inc.php index 01ac2694af..b3e679c722 100644 --- a/interface/lib/classes/tform.inc.php +++ b/interface/lib/classes/tform.inc.php @@ -7,14 +7,14 @@ 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. + * 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 diff --git a/interface/lib/classes/tools_monitor.inc.php b/interface/lib/classes/tools_monitor.inc.php index e2612dd748..cb389c8d44 100644 --- a/interface/lib/classes/tools_monitor.inc.php +++ b/interface/lib/classes/tools_monitor.inc.php @@ -491,6 +491,40 @@ class tools_monitor { return $html; } + function showMongoDB() { + global $app; + + /* fetch the Data from the DB */ + $record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'log_mongodb' and server_id = " . $_SESSION['monitor']['server_id'] . " order by created desc"); + + if(isset($record['data'])) { + $html = + '
+
'; + + /* + * First, we have to detect, if there is any monitoring-data. + * If not (because mongodb is not installed) show this. + */ + $data = unserialize($record['data']); + if ($data == '') { + $html .= '

'. + 'MongoDB is not installed at this server.
' . + 'See more (for debian) here...'. + '

'; + } + else { + $html .= nl2br($data); + } + $html .= '
'; + + } else { + $html = '

There is no data available at the moment.

'; + } + + return $html; + } + function showIPTables() { global $app; $record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'iptables_rules' and server_id = " . $_SESSION['monitor']['server_id'] . " order by created desc"); diff --git a/interface/lib/lang/cz.lng b/interface/lib/lang/cz.lng index 1683c6e112..747c0c0d3e 100644 --- a/interface/lib/lang/cz.lng +++ b/interface/lib/lang/cz.lng @@ -71,7 +71,7 @@ $wb['datepicker_prevText'] = 'Předchozí'; $wb['logout_txt'] = 'Odhlášení'; $wb['conf_format_dateshort_human_readable'] = 'yyyy-mm-dd'; $wb['submit_confirmation'] = 'Opravdu chcete provést tuto akci ?'; -$wb['top_menu_mailuser'] = 'E-mail. uživ.'; +$wb['top_menu_mailuser'] = 'E-mailový uživatel'; $wb['globalsearch_resultslimit_of_txt'] = 'z'; $wb['globalsearch_resultslimit_results_txt'] = 'výsledky'; $wb['globalsearch_noresults_text_txt'] = 'Žádné výsledky.'; diff --git a/interface/lib/lang/de.lng b/interface/lib/lang/de.lng index a5281767a8..8a1a971d15 100644 --- a/interface/lib/lang/de.lng +++ b/interface/lib/lang/de.lng @@ -133,5 +133,7 @@ $wb['datalog_status_d_web_folder_user'] = 'Verzeichnisschutz Benutzer löschen'; $wb['login_as_txt'] = 'Anmelden als'; $wb['no_domain_perm'] = 'Sie haben keine Berechtigung für diese Domain.'; $wb['no_destination_perm'] = 'Sie haben keine Berechtigung für dieses Ziel.'; +$wb['client_you_are_locked'] = 'Sie haben keine Berechtigung, Einstellungen zu verändern.'; +$wb['gender_m_txt'] = 'Herr'; +$wb['gender_f_txt'] = 'Frau'; ?> - diff --git a/interface/lib/shelluser_blacklist b/interface/lib/shelluser_blacklist index c49d825517..4913b64272 100644 --- a/interface/lib/shelluser_blacklist +++ b/interface/lib/shelluser_blacklist @@ -31,4 +31,5 @@ vmail getmail ispconfig courier -dovecot \ No newline at end of file +dovecot +mongodb diff --git a/interface/web/admin/form/server_config.tform.php b/interface/web/admin/form/server_config.tform.php index 298894ad80..05764fc29b 100644 --- a/interface/web/admin/form/server_config.tform.php +++ b/interface/web/admin/form/server_config.tform.php @@ -83,22 +83,20 @@ $form["tabs"]['server'] = array( 'errmsg' => 'netmask_error_wrong'), ), 'value' => '', - 'width' => '15', - 'maxlength' => '255' - ), - /* - 'v6_prefix' => array( - 'datatype' => 'VARCHAR', - 'formtype' => 'TEXT', - 'validators' => array(0 => array('type' => 'ISV6PREFIX', - 'errmsg' => 'v6_prefix_wrong'), - ), - 'default' => '' - ), - */ - 'gateway' => array( - 'datatype' => 'VARCHAR', - 'formtype' => 'TEXT', + 'width' => '15', + 'maxlength' => '255' + ), + 'v6_prefix' => array( + 'datatype' => 'VARCHAR', + 'formtype' => 'TEXT', + 'validators' => array(0 => array('type' => 'ISV6PREFIX', + 'errmsg' => 'v6_prefix_wrong'), + ), + 'default' => '' + ), + 'gateway' => array( + 'datatype' => 'VARCHAR', + 'formtype' => 'TEXT', 'default' => '192.168.0.1', 'validators' => array(0 => array('type' => 'ISIPV4', 'errmsg' => 'gateway_error_wrong'), @@ -119,13 +117,13 @@ $form["tabs"]['server'] = array( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', 'default' => 'server1.domain.tld', - 'filters' => array( 0 => array( 'event' => 'SAVE', - 'type' => 'IDNTOASCII'), - 1 => array( 'event' => 'SHOW', - 'type' => 'IDNTOUTF8'), - 2 => array( 'event' => 'SAVE', - 'type' => 'TOLOWER') - ), + 'filters' => array( 0 => array( 'event' => 'SAVE', + 'type' => 'IDNTOASCII'), + 1 => array( 'event' => 'SHOW', + 'type' => 'IDNTOUTF8'), + 2 => array( 'event' => 'SAVE', + 'type' => 'TOLOWER') + ), 'validators' => array(0 => array('type' => 'NOTEMPTY', 'errmsg' => 'hostname_error_empty'), ), @@ -184,9 +182,9 @@ $form["tabs"]['server'] = array( 'formtype' => 'TEXT', 'default' => '', 'validators' => array ( 0 => array ( 'type' => 'REGEX', - 'regex' => '/^[0-9a-zA-Z\:\/\-\.\[\]]{0,255}$/', - 'errmsg'=> 'monit_url_error_regex'), - ), + 'regex' => '/^[0-9a-zA-Z\:\/\-\.\[\]]{0,255}$/', + 'errmsg'=> 'monit_url_error_regex'), + ), 'value' => '', 'width' => '40', 'maxlength' => '255' @@ -212,9 +210,9 @@ $form["tabs"]['server'] = array( 'formtype' => 'TEXT', 'default' => '', 'validators' => array ( 0 => array ( 'type' => 'REGEX', - 'regex' => '/^[0-9a-zA-Z\:\/\-\.\[\]]{0,255}$/', - 'errmsg'=> 'munin_url_error_regex'), - ), + 'regex' => '/^[0-9a-zA-Z\:\/\-\.\[\]]{0,255}$/', + 'errmsg'=> 'munin_url_error_regex'), + ), 'value' => '', 'width' => '40', 'maxlength' => '255' @@ -421,8 +419,8 @@ $form["tabs"]['mail'] = array( 'formtype' => 'TEXT', 'default' => '7', 'value' => '', - 'width' => '20', - 'maxlength' => '255' + 'width' => '20', + 'maxlength' => '255' ), 'overquota_notify_onok' => array( 'datatype' => 'VARCHAR', @@ -519,20 +517,20 @@ $form["tabs"]['web'] = array( 'formtype' => 'TEXT', 'default' => '', 'value' => '', - 'width' => '40', - 'maxlength' => '255' - ), -/* -'vhost_rewrite_v6' => array ( -'datatype' => 'VARCHAR', -'formtype' => 'CHECKBOX', -'default' => 'n', -'value' => array(0 => 'n',1 => 'y') -), -*/ - 'vhost_conf_dir' => array( - 'datatype' => 'VARCHAR', - 'formtype' => 'TEXT', + 'width' => '40', + 'maxlength' => '255' + ), +/* +'vhost_rewrite_v6' => array ( +'datatype' => 'VARCHAR', +'formtype' => 'CHECKBOX', +'default' => 'n', +'value' => array(0 => 'n',1 => 'y') +), +*/ + 'vhost_conf_dir' => array( + 'datatype' => 'VARCHAR', + 'formtype' => 'TEXT', 'default' => '', 'validators' => array(0 => array('type' => 'NOTEMPTY', 'errmsg' => 'vhost_conf_dir_error_empty'), @@ -661,8 +659,8 @@ $form["tabs"]['web'] = array( 'formtype' => 'TEXT', 'default' => '7', 'value' => '', - 'width' => '20', - 'maxlength' => '255' + 'width' => '20', + 'maxlength' => '255' ), 'overquota_notify_onok' => array( 'datatype' => 'VARCHAR', @@ -819,6 +817,17 @@ $form["tabs"]['web'] = array( 'width' => '40', 'maxlength' => '4000' ), + 'php_ini_check_minutes' => array( + 'datatype' => 'INTEGER', + 'formtype' => 'TEXT', + 'default' => '1', + 'validators' => array(0 => array('type' => 'NOTEMPTY', + 'errmsg' => 'php_ini_check_minutes_error_empty'), + ), + 'value' => '', + 'width' => '10', + 'maxlength' => '255' + ), 'nginx_cgi_socket' => array( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', @@ -1297,6 +1306,12 @@ $form["tabs"]['rescue'] = array( 'default' => 'n', 'value' => array(0 => 'n', 1 => 'y') ), + 'do_not_try_rescue_mongodb' => array( + 'datatype' => 'VARCHAR', + 'formtype' => 'CHECKBOX', + 'default' => 'n', + 'value' => array(0 => 'n', 1 => 'y') + ), 'do_not_try_rescue_mysql' => array( 'datatype' => 'VARCHAR', 'formtype' => 'CHECKBOX', diff --git a/interface/web/admin/form/system_config.tform.php b/interface/web/admin/form/system_config.tform.php index d04923bd3a..f09d4db2e1 100644 --- a/interface/web/admin/form/system_config.tform.php +++ b/interface/web/admin/form/system_config.tform.php @@ -160,6 +160,12 @@ $form["tabs"]['sites'] = array ( 'default' => 'n', 'value' => array(0 => 'n',1 => 'y') ), + 'reseller_can_use_options' => array ( + 'datatype' => 'VARCHAR', + 'formtype' => 'CHECKBOX', + 'default' => 'n', + 'value' => array(0 => 'n',1 => 'y') + ), ################################## # ENDE Datatable fields ################################## @@ -174,12 +180,30 @@ $form["tabs"]['mail'] = array ( ################################## # Begin Datatable fields ################################## - 'enable_custom_login' => array( - 'datatype' => 'VARCHAR', - 'formtype' => 'CHECKBOX', - 'default' => 'n', - 'value' => array(0 => 'n', 1 => 'y') - ), + 'enable_custom_login' => array( + 'datatype' => 'VARCHAR', + 'formtype' => 'CHECKBOX', + 'default' => 'n', + 'value' => array(0 => 'n', 1 => 'y') + ), + 'mailbox_show_autoresponder_tab' => array ( + 'datatype' => 'VARCHAR', + 'formtype' => 'CHECKBOX', + 'default' => 'y', + 'value' => array(0 => 'n',1 => 'y') + ), + 'mailbox_show_mail_filter_tab' => array ( + 'datatype' => 'VARCHAR', + 'formtype' => 'CHECKBOX', + 'default' => 'y', + 'value' => array(0 => 'n',1 => 'y') + ), + 'mailbox_show_custom_rules_tab' => array ( + 'datatype' => 'VARCHAR', + 'formtype' => 'CHECKBOX', + 'default' => 'y', + 'value' => array(0 => 'n',1 => 'y') + ), 'mailboxlist_webmail_link' => array ( 'datatype' => 'VARCHAR', 'formtype' => 'CHECKBOX', diff --git a/interface/web/admin/lib/lang/ar_remote_action.lng b/interface/web/admin/lib/lang/ar_remote_action.lng index f268527084..3fc3eaf81f 100644 --- a/interface/web/admin/lib/lang/ar_remote_action.lng +++ b/interface/web/admin/lib/lang/ar_remote_action.lng @@ -8,5 +8,5 @@ $wb['do_ispcupdate_desc'] = 'This action does a ISPConfig3 update at your select $wb['action_scheduled'] = 'The action is scheduled for execution'; $wb['select_all_server'] = 'All server'; $wb['ispconfig_update_title'] = 'ISPConfig update instructions'; -$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command

ispconfig_update.sh

to start the ISPConfig update.

Click here for detailed update instructins'; +$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command

ispconfig_update.sh

to start the ISPConfig update.

Click here for detailed update instructions'; ?> diff --git a/interface/web/admin/lib/lang/bg_remote_action.lng b/interface/web/admin/lib/lang/bg_remote_action.lng index e9aa121314..48f35054fc 100644 --- a/interface/web/admin/lib/lang/bg_remote_action.lng +++ b/interface/web/admin/lib/lang/bg_remote_action.lng @@ -8,5 +8,5 @@ $wb['do_ispcupdate_desc'] = 'Това действие прави ISPConfig 3 о $wb['action_scheduled'] = 'Това действие е насрочено за изпълнение'; $wb['select_all_server'] = 'Целия сървър'; $wb['ispconfig_update_title'] = 'ISPConfig ъпдейт инструкции'; -$wb['ispconfig_update_text'] = 'Логнете се като root потребител през шелла на вашият сървър използвайте командата

ispconfig_update.sh

за да стартирате ISPConfig обновяване.

Click here for detailed update instructins'; +$wb['ispconfig_update_text'] = 'Логнете се като root потребител през шелла на вашият сървър използвайте командата

ispconfig_update.sh

за да стартирате ISPConfig обновяване.

Click here for detailed update instructions'; ?> diff --git a/interface/web/admin/lib/lang/br_remote_action.lng b/interface/web/admin/lib/lang/br_remote_action.lng index d6578c9d6a..420f2cc56c 100644 --- a/interface/web/admin/lib/lang/br_remote_action.lng +++ b/interface/web/admin/lib/lang/br_remote_action.lng @@ -8,5 +8,5 @@ $wb['do_ispcupdate_desc'] = 'Esta ação fará uma atualização do ISPConfig3 n $wb['action_scheduled'] = 'Esta ação está agendada para execução'; $wb['select_all_server'] = 'Todos os servidores'; $wb['ispconfig_update_title'] = 'ISPConfig update instructions'; -$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command

ispconfig_update.sh

to start the ISPConfig update.

Click here for detailed update instructins'; +$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command

ispconfig_update.sh

to start the ISPConfig update.

Click here for detailed update instructions'; ?> diff --git a/interface/web/admin/lib/lang/de.lng b/interface/web/admin/lib/lang/de.lng index 152c829df6..0a7af75131 100644 --- a/interface/web/admin/lib/lang/de.lng +++ b/interface/web/admin/lib/lang/de.lng @@ -48,4 +48,3 @@ $wb['Remote Actions'] = 'Wartung'; $wb['Do OS-Update'] = 'Betriebssystem Update'; $wb['Do ISPConfig-Update'] = 'ISPConfig Update'; ?> - diff --git a/interface/web/admin/lib/lang/de_directive_snippets.lng b/interface/web/admin/lib/lang/de_directive_snippets.lng index 9c93c4c8bb..7a9b7563be 100644 --- a/interface/web/admin/lib/lang/de_directive_snippets.lng +++ b/interface/web/admin/lib/lang/de_directive_snippets.lng @@ -5,6 +5,5 @@ $wb['type_txt'] = 'Typ'; $wb['snippet_txt'] = 'Schnipsel'; $wb['active_txt'] = 'Aktiv'; $wb['directive_snippets_name_empty'] = 'Bitte geben Sie einen Namen für den Schnipsel an.'; -$wb['directive_snippets_name_error_unique'] = 'Es existiert schon ein Direktiven Schnipsel mit diesem Namen.'; +$wb['directive_snippets_name_error_unique'] = 'Es existiert schon ein Direktiven-Schnipsel mit diesem Namen.'; ?> - diff --git a/interface/web/admin/lib/lang/de_directive_snippets_list.lng b/interface/web/admin/lib/lang/de_directive_snippets_list.lng index d3109a19fa..a19d5e8da4 100644 --- a/interface/web/admin/lib/lang/de_directive_snippets_list.lng +++ b/interface/web/admin/lib/lang/de_directive_snippets_list.lng @@ -5,4 +5,3 @@ $wb['name_txt'] = 'Name des Schnipsels'; $wb['type_txt'] = 'Typ'; $wb['add_new_record_txt'] = 'Direktiven Schnipsel hinzufügen'; ?> - diff --git a/interface/web/admin/lib/lang/de_firewall.lng b/interface/web/admin/lib/lang/de_firewall.lng index a475290e1c..92b73270f5 100644 --- a/interface/web/admin/lib/lang/de_firewall.lng +++ b/interface/web/admin/lib/lang/de_firewall.lng @@ -9,4 +9,3 @@ $wb['firewall_error_unique'] = 'Es gibt bereits einen Firewalldatensatz für die $wb['tcp_ports_error_regex'] = 'Zeichen nicht erlaubt in TCP Port Definition. Erlaubte Zeichen sind Nummern, : und ,.'; $wb['udp_ports_error_regex'] = 'Zeichen nicht erlaubt in UDP Port Definition. Erlaubte Zeichen sind Nummern, : und ,.'; ?> - diff --git a/interface/web/admin/lib/lang/de_firewall_list.lng b/interface/web/admin/lib/lang/de_firewall_list.lng index 77172d054c..aefad619ba 100644 --- a/interface/web/admin/lib/lang/de_firewall_list.lng +++ b/interface/web/admin/lib/lang/de_firewall_list.lng @@ -6,4 +6,3 @@ $wb['tcp_port_txt'] = 'Offene TCP Ports'; $wb['udp_port_txt'] = 'Offene UDP Ports'; $wb['add_new_record_txt'] = 'Firewalleintrag hinzufügen'; ?> - diff --git a/interface/web/admin/lib/lang/de_groups.lng b/interface/web/admin/lib/lang/de_groups.lng index b29c0996f4..80abd65f76 100644 --- a/interface/web/admin/lib/lang/de_groups.lng +++ b/interface/web/admin/lib/lang/de_groups.lng @@ -3,4 +3,3 @@ $wb['description_txt'] = 'Beschreibung'; $wb['name_txt'] = 'Gruppe'; $wb['name_err'] = 'Der Gruppenname muss min. 1, max. 30 Zeichen lang sein.'; ?> - diff --git a/interface/web/admin/lib/lang/de_groups_list.lng b/interface/web/admin/lib/lang/de_groups_list.lng index 23492f19f1..2447431771 100644 --- a/interface/web/admin/lib/lang/de_groups_list.lng +++ b/interface/web/admin/lib/lang/de_groups_list.lng @@ -5,4 +5,3 @@ $wb['name_txt'] = 'Gruppe'; $wb['add_new_record_txt'] = 'Neue Gruppe hinzufügen'; $wb['warning_txt'] = 'WARNUNG: Bitte hier keine Benutzereinstellungen verändern. Benutzen Sie die Kunden- und Resellereinstellungen im Kundenmodul. Modifizieren der Benutzer oder Gruppen hier könnte zum Datenverlust führen!'; ?> - diff --git a/interface/web/admin/lib/lang/de_iptables.lng b/interface/web/admin/lib/lang/de_iptables.lng index 9d0a395665..78adf1f09d 100644 --- a/interface/web/admin/lib/lang/de_iptables.lng +++ b/interface/web/admin/lib/lang/de_iptables.lng @@ -11,4 +11,3 @@ $wb['source_ip_txt'] = 'Ausgangs Adresse'; $wb['active_txt'] = 'Aktiv'; $wb['iptables_error_unique'] = 'Es besteht bereits eine Firewall Regel für diesen Server.'; ?> - diff --git a/interface/web/admin/lib/lang/de_iptables_list.lng b/interface/web/admin/lib/lang/de_iptables_list.lng index 467368fdee..378db79555 100644 --- a/interface/web/admin/lib/lang/de_iptables_list.lng +++ b/interface/web/admin/lib/lang/de_iptables_list.lng @@ -13,4 +13,3 @@ $wb['source_ip_txt'] = 'Ausgangs Adresse'; $wb['active_txt'] = 'Aktiv'; $wb['iptables_error_unique'] = 'Es besteht bereits eine Firewall Regel für diesen Server.'; ?> - diff --git a/interface/web/admin/lib/lang/de_language_add.lng b/interface/web/admin/lib/lang/de_language_add.lng index 7d7234a4b1..2973bf1738 100644 --- a/interface/web/admin/lib/lang/de_language_add.lng +++ b/interface/web/admin/lib/lang/de_language_add.lng @@ -6,4 +6,3 @@ $wb['language_new_hint_txt'] = '2 Buchstaben ISO 639-1 Sprachcode (siehe http:// $wb['btn_save_txt'] = 'Neues Sprachdateiset erstellen'; $wb['btn_cancel_txt'] = 'Abbrechen'; ?> - diff --git a/interface/web/admin/lib/lang/de_language_complete.lng b/interface/web/admin/lib/lang/de_language_complete.lng index 015bd172ee..7e32e8ae05 100644 --- a/interface/web/admin/lib/lang/de_language_complete.lng +++ b/interface/web/admin/lib/lang/de_language_complete.lng @@ -5,4 +5,3 @@ $wb['language_select_txt'] = 'Sprache auswählen'; $wb['btn_save_txt'] = 'Dateien jetzt zusammenführen'; $wb['btn_cancel_txt'] = 'Abbrechen'; ?> - diff --git a/interface/web/admin/lib/lang/de_language_edit.lng b/interface/web/admin/lib/lang/de_language_edit.lng index 139b679390..2a54886a2a 100644 --- a/interface/web/admin/lib/lang/de_language_edit.lng +++ b/interface/web/admin/lib/lang/de_language_edit.lng @@ -6,4 +6,3 @@ $wb['lang_file_txt'] = 'Sprachdatei'; $wb['btn_save_txt'] = 'Speichern'; $wb['btn_cancel_txt'] = 'Abbrechen'; ?> - diff --git a/interface/web/admin/lib/lang/de_language_export.lng b/interface/web/admin/lib/lang/de_language_export.lng index 2674634ba1..c8b4a86e39 100644 --- a/interface/web/admin/lib/lang/de_language_export.lng +++ b/interface/web/admin/lib/lang/de_language_export.lng @@ -4,4 +4,3 @@ $wb['language_select_txt'] = 'Sprache auswählen'; $wb['btn_save_txt'] = 'Ausgewähltes Sprachdateiset exportieren'; $wb['btn_cancel_txt'] = 'Abbrechen'; ?> - diff --git a/interface/web/admin/lib/lang/de_language_import.lng b/interface/web/admin/lib/lang/de_language_import.lng index bd79ce6710..2c3eff543c 100644 --- a/interface/web/admin/lib/lang/de_language_import.lng +++ b/interface/web/admin/lib/lang/de_language_import.lng @@ -5,5 +5,5 @@ $wb['btn_save_txt'] = 'Ausgewählte Sprache importieren'; $wb['language_overwrite_txt'] = 'Datei überschreiben, falls diese schon existiert.'; $wb['btn_cancel_txt'] = 'Abbrechen'; $wb['ignore_version_txt'] = 'ISPConfig Versionsüberprüfung überspringen'; +$wb['list_desc_txt'] = 'WARNING: Do not import language files from untrustworthy sources.'; ?> - diff --git a/interface/web/admin/lib/lang/de_language_list.lng b/interface/web/admin/lib/lang/de_language_list.lng index 6d4a7ae77d..bf75420cfc 100644 --- a/interface/web/admin/lib/lang/de_language_list.lng +++ b/interface/web/admin/lib/lang/de_language_list.lng @@ -5,4 +5,3 @@ $wb['module_txt'] = 'Modul'; $wb['lang_file_txt'] = 'Sprachdatei'; $wb['lang_file_date_txt'] = 'Letzte Änderung'; ?> - diff --git a/interface/web/admin/lib/lang/de_login_as.lng b/interface/web/admin/lib/lang/de_login_as.lng index 2388e2e3bf..1edec36c32 100644 --- a/interface/web/admin/lib/lang/de_login_as.lng +++ b/interface/web/admin/lib/lang/de_login_as.lng @@ -9,4 +9,3 @@ $wb['firewall_error_unique'] = 'Es gibt bereits einen Firewalleintrag für diese $wb['tcp_ports_error_regex'] = 'Es sind nur Zahlen in der TCP Port Definition erlaubt. '; $wb['udp_ports_error_regex'] = 'Es sind nur Zahlen in der UDP Port Definition erlaubt., '; ?> - diff --git a/interface/web/admin/lib/lang/de_package_install.lng b/interface/web/admin/lib/lang/de_package_install.lng index f54fbfefb1..bbacc85d41 100644 --- a/interface/web/admin/lib/lang/de_package_install.lng +++ b/interface/web/admin/lib/lang/de_package_install.lng @@ -5,4 +5,3 @@ $wb['repo_username_txt'] = 'Benutzername (optional)'; $wb['repo_password_txt'] = 'Passwort (optional)'; $wb['active_txt'] = 'Aktiv'; ?> - diff --git a/interface/web/admin/lib/lang/de_remote_action.lng b/interface/web/admin/lib/lang/de_remote_action.lng index 3fdfbb811b..786f03e0ad 100644 --- a/interface/web/admin/lib/lang/de_remote_action.lng +++ b/interface/web/admin/lib/lang/de_remote_action.lng @@ -10,4 +10,3 @@ $wb['select_all_server'] = 'Alle Server'; $wb['ispconfig_update_title'] = 'ISPConfig 3 Update Anweisungen'; $wb['ispconfig_update_text'] = 'Melden Sie sich auf Ihrem Server als root an und führen Sie folgendes Kommando auf der Shell aus

ispconfig_update.sh

um das ISPConfig Update zu starten.

Klicken Sie hier um eine detailierte Beschreibung zu erhalten'; ?> - diff --git a/interface/web/admin/lib/lang/de_remote_user.lng b/interface/web/admin/lib/lang/de_remote_user.lng index 9f2bdf5eaa..1458d22ee5 100644 --- a/interface/web/admin/lib/lang/de_remote_user.lng +++ b/interface/web/admin/lib/lang/de_remote_user.lng @@ -45,4 +45,3 @@ $wb['repeat_password_txt'] = 'Passwort wiederholen'; $wb['password_mismatch_txt'] = 'Die Passwörter stimmen nicht überein.'; $wb['password_match_txt'] = 'Die Passwörter stimmen überein.'; ?> - diff --git a/interface/web/admin/lib/lang/de_remote_user_list.lng b/interface/web/admin/lib/lang/de_remote_user_list.lng index a0485a9077..4a3c6fe1d5 100644 --- a/interface/web/admin/lib/lang/de_remote_user_list.lng +++ b/interface/web/admin/lib/lang/de_remote_user_list.lng @@ -5,4 +5,3 @@ $wb['add_new_record_txt'] = 'Neuen Benutzer hinzufügen'; $wb['parent_remote_userid_txt'] = 'Benutzer ID'; $wb['username_txt'] = 'Benutzername'; ?> - diff --git a/interface/web/admin/lib/lang/de_server.lng b/interface/web/admin/lib/lang/de_server.lng index 12d2ba7527..50f8090488 100644 --- a/interface/web/admin/lib/lang/de_server.lng +++ b/interface/web/admin/lib/lang/de_server.lng @@ -13,4 +13,3 @@ $wb['- None -'] = '- Nichts ausgewählt -'; $wb['proxy_server_txt'] = 'Proxy Server'; $wb['firewall_server_txt'] = 'Firewall Server'; ?> - diff --git a/interface/web/admin/lib/lang/de_server_config.lng b/interface/web/admin/lib/lang/de_server_config.lng index 327f4e243b..14ba6fe67a 100644 --- a/interface/web/admin/lib/lang/de_server_config.lng +++ b/interface/web/admin/lib/lang/de_server_config.lng @@ -148,6 +148,7 @@ $wb['php_fpm_socket_dir_error_empty'] = 'PHP-FPM Socket Verzeichnis ist leer.'; $wb['fastcgi_config_syntax_txt'] = 'FastCGI Konfigurations Syntax'; $wb['try_rescue_txt'] = 'Aktiviere Service Monitoring und Neustart bei Unerreichbarkeit'; $wb['do_not_try_rescue_httpd_txt'] = 'Deaktiviere HTTPD Monitoring'; +$wb['do_not_try_rescue_mongodb_txt'] = 'Deaktiviere MongoDB Monitoring'; $wb['do_not_try_rescue_mysql_txt'] = 'Deaktiviere MySQL Monitoring'; $wb['do_not_try_rescue_mail_txt'] = 'Deaktiviere E-Mail Monitoring'; $wb['rescue_description_txt'] = 'Information: Falls Sie MySQL stoppen möchten, wählen Sie die Funktion \'Deaktiviere MySQL Monitoring\' und warten Sie 2 bis 3 Minuten. Wenn Sie nicht 2 bis 3 Miunten warten wird ISPConfig versuchen MySQL wieder zu starten.'; @@ -191,4 +192,3 @@ $wb['munin_password_txt'] = 'Munin Passwort'; $wb['munin_url_error_regex'] = 'Ungültige Munin URL'; $wb['munin_url_note_txt'] = 'Platzhalter:'; ?> - diff --git a/interface/web/admin/lib/lang/de_server_config_list.lng b/interface/web/admin/lib/lang/de_server_config_list.lng index 9ff7f9b640..191b2c8d32 100644 --- a/interface/web/admin/lib/lang/de_server_config_list.lng +++ b/interface/web/admin/lib/lang/de_server_config_list.lng @@ -2,4 +2,3 @@ $wb['list_head_txt'] = 'Serverkonfiguration'; $wb['server_name_txt'] = 'Server'; ?> - diff --git a/interface/web/admin/lib/lang/de_server_ip.lng b/interface/web/admin/lib/lang/de_server_ip.lng index 26aff5daad..5757b165cb 100644 --- a/interface/web/admin/lib/lang/de_server_ip.lng +++ b/interface/web/admin/lib/lang/de_server_ip.lng @@ -1,12 +1,11 @@ - diff --git a/interface/web/admin/lib/lang/de_server_ip_list.lng b/interface/web/admin/lib/lang/de_server_ip_list.lng index 9b36a5adf2..37f237c9e2 100644 --- a/interface/web/admin/lib/lang/de_server_ip_list.lng +++ b/interface/web/admin/lib/lang/de_server_ip_list.lng @@ -8,4 +8,3 @@ $wb['virtualhost_txt'] = 'HTTP vHost'; $wb['virtualhost_port_txt'] = 'HTTP Ports'; $wb['ip_type_txt'] = 'Typ'; ?> - diff --git a/interface/web/admin/lib/lang/de_server_list.lng b/interface/web/admin/lib/lang/de_server_list.lng index 193dbc9ede..e38a5db413 100644 --- a/interface/web/admin/lib/lang/de_server_list.lng +++ b/interface/web/admin/lib/lang/de_server_list.lng @@ -11,4 +11,3 @@ $wb['add_new_record_txt'] = 'Neuen Server hinzufügen'; $wb['proxy_server_txt'] = 'Proxyserver'; $wb['firewall_server_txt'] = 'Firewallserver'; ?> - diff --git a/interface/web/admin/lib/lang/de_server_php.lng b/interface/web/admin/lib/lang/de_server_php.lng index 30f527a56b..9b26ea3c6d 100644 --- a/interface/web/admin/lib/lang/de_server_php.lng +++ b/interface/web/admin/lib/lang/de_server_php.lng @@ -14,4 +14,3 @@ $wb['php_fpm_init_script_txt'] = 'Pfad zum PHP-FPM Init Script'; $wb['php_fpm_ini_dir_txt'] = 'Pfad zum php.ini Verzeichnis'; $wb['php_fpm_pool_dir_txt'] = 'Pfad zum PHP-FPM Pool Verzeichnis'; ?> - diff --git a/interface/web/admin/lib/lang/de_server_php_list.lng b/interface/web/admin/lib/lang/de_server_php_list.lng index 712beda2e7..d775fc6c00 100644 --- a/interface/web/admin/lib/lang/de_server_php_list.lng +++ b/interface/web/admin/lib/lang/de_server_php_list.lng @@ -5,4 +5,3 @@ $wb['add_new_record_txt'] = 'Neue PHP Version hinzufügen'; $wb['client_id_txt'] = 'Kunde'; $wb['name_txt'] = 'PHP Name'; ?> - diff --git a/interface/web/admin/lib/lang/de_software_package.lng b/interface/web/admin/lib/lang/de_software_package.lng index 7f1504572b..13b3d996c3 100644 --- a/interface/web/admin/lib/lang/de_software_package.lng +++ b/interface/web/admin/lib/lang/de_software_package.lng @@ -4,4 +4,3 @@ $wb['package_key_txt'] = 'Softwarepaket Schlüssel'; $wb['Software Package'] = 'Softwarepaket'; $wb['Modify software package details'] = 'Softwarepaket Einstellungen bearbeiten'; ?> - diff --git a/interface/web/admin/lib/lang/de_software_package_install.lng b/interface/web/admin/lib/lang/de_software_package_install.lng index 842846df74..f8ef069cae 100644 --- a/interface/web/admin/lib/lang/de_software_package_install.lng +++ b/interface/web/admin/lib/lang/de_software_package_install.lng @@ -4,4 +4,3 @@ $wb['install_key_txt'] = 'Installationsschlüssel eingeben'; $wb['btn_save_txt'] = 'Installation starten'; $wb['btn_cancel_txt'] = 'Abbrechen'; ?> - diff --git a/interface/web/admin/lib/lang/de_software_package_list.lng b/interface/web/admin/lib/lang/de_software_package_list.lng index 3d0555365f..b68e7d9388 100644 --- a/interface/web/admin/lib/lang/de_software_package_list.lng +++ b/interface/web/admin/lib/lang/de_software_package_list.lng @@ -11,4 +11,3 @@ $wb['no_packages_txt'] = 'Keine Softwarepakete verfügbar'; $wb['edit_txt'] = 'Bearbeiten'; $wb['delete_txt'] = 'Löschen'; ?> - diff --git a/interface/web/admin/lib/lang/de_software_repo.lng b/interface/web/admin/lib/lang/de_software_repo.lng index 50e5019038..ec672430be 100644 --- a/interface/web/admin/lib/lang/de_software_repo.lng +++ b/interface/web/admin/lib/lang/de_software_repo.lng @@ -6,4 +6,3 @@ $wb['repo_password_txt'] = 'Passwort (optional)'; $wb['active_txt'] = 'Aktiv'; $wb['Software Repository which may contain addons or updates'] = 'Software Archiv, das Add-Ons oder Updates enthalten kann'; ?> - diff --git a/interface/web/admin/lib/lang/de_software_repo_list.lng b/interface/web/admin/lib/lang/de_software_repo_list.lng index 133ef3ab42..ccde58d671 100644 --- a/interface/web/admin/lib/lang/de_software_repo_list.lng +++ b/interface/web/admin/lib/lang/de_software_repo_list.lng @@ -4,4 +4,3 @@ $wb['active_txt'] = 'Aktiv'; $wb['repo_name_txt'] = 'Archiv Name'; $wb['repo_url_txt'] = 'URL'; ?> - diff --git a/interface/web/admin/lib/lang/de_software_update_list.lng b/interface/web/admin/lib/lang/de_software_update_list.lng index e5a3ca729a..cf31e88154 100644 --- a/interface/web/admin/lib/lang/de_software_update_list.lng +++ b/interface/web/admin/lib/lang/de_software_update_list.lng @@ -7,4 +7,3 @@ $wb['version_txt'] = 'Version'; $wb['action_txt'] = 'Aktion'; $wb['no_updates_txt'] = 'Keine Updates verfügbar'; ?> - diff --git a/interface/web/admin/lib/lang/de_system_config.lng b/interface/web/admin/lib/lang/de_system_config.lng index 2490768e20..1ba5ca864f 100644 --- a/interface/web/admin/lib/lang/de_system_config.lng +++ b/interface/web/admin/lib/lang/de_system_config.lng @@ -50,7 +50,14 @@ $wb['mailbox_show_autoresponder_tab_txt'] = 'Zeige Autoresponder Reiter in E-Mai $wb['mailbox_show_mail_filter_tab_txt'] = 'Zeige E-Mail Filter Reiter in E-Mail Kontodetails'; $wb['mailbox_show_custom_rules_tab_txt'] = 'Zeige Benutzerregel Reiter in E-Mail Kontodetails'; $wb['webmail_url_error_regex'] = 'Falsche Webmail URL'; +$wb['reseller_can_use_options_txt'] = 'Reseller können den Optionen Reiter bei Webseiten verwenden'; $wb['phpmyadmin_url_note_txt'] = 'Platzhalter:'; $wb['webmail_url_note_txt'] = 'Platzhalter:'; +$wb['available_dashlets_note_txt'] = 'Verfügbare Dashlets:'; +$wb['admin_dashlets_left_txt'] = 'Admin-Dashlets links'; +$wb['admin_dashlets_right_txt'] = 'Admin-Dashlets rechts'; +$wb['reseller_dashlets_left_txt'] = 'Reseller-Dashlets links'; +$wb['reseller_dashlets_right_txt'] = 'Reseller-Dashlets rechts'; +$wb['client_dashlets_left_txt'] = 'Kunden-Dashlets links'; +$wb['client_dashlets_right_txt'] = 'Kunden-Dashlets rechts'; ?> - diff --git a/interface/web/admin/lib/lang/de_tpl_default_admin.lng b/interface/web/admin/lib/lang/de_tpl_default_admin.lng index fda3af0f0c..97674003ee 100644 --- a/interface/web/admin/lib/lang/de_tpl_default_admin.lng +++ b/interface/web/admin/lib/lang/de_tpl_default_admin.lng @@ -16,4 +16,3 @@ $wb['php_fpm_init_script_txt'] = 'Pfad zum PHP-FPM Init Script'; $wb['php_fpm_ini_dir_txt'] = 'Pfad zum php.ini Verzeichnis'; $wb['php_fpm_pool_dir_txt'] = 'Pfad zum PHP-FPM Pool Verzeichnis'; ?> - diff --git a/interface/web/admin/lib/lang/de_users.lng b/interface/web/admin/lib/lang/de_users.lng index fd09475b6d..413a402814 100644 --- a/interface/web/admin/lib/lang/de_users.lng +++ b/interface/web/admin/lib/lang/de_users.lng @@ -31,4 +31,3 @@ $wb['password_mismatch_txt'] = 'Die Passwörter stimmen nicht überein.'; $wb['password_match_txt'] = 'Die Passwörter stimmen überein.'; $wb['username_error_collision'] = 'Der Benutzername darf nicht web oder web gefolgt von einer Zahl sein.'; ?> - diff --git a/interface/web/admin/lib/lang/de_users_list.lng b/interface/web/admin/lib/lang/de_users_list.lng index 8cb2a46a83..c635ba7284 100644 --- a/interface/web/admin/lib/lang/de_users_list.lng +++ b/interface/web/admin/lib/lang/de_users_list.lng @@ -7,4 +7,3 @@ $wb['groups_txt'] = 'Gruppen'; $wb['add_new_record_txt'] = 'Neuen Benutzer hinzufügen'; $wb['warning_txt'] = 'WARNUNG: Bitte hier keine Benutzereinstellungen verändern. Benutzen Sie die Kunden- und Resellereinstellungen im Kundenmodul. Modifizieren der Benutzer oder Gruppen hier könnte zum Datenverlust führen!'; ?> - diff --git a/interface/web/admin/lib/lang/en_server_config.lng b/interface/web/admin/lib/lang/en_server_config.lng index 36a6791ad7..1f1ad0db78 100644 --- a/interface/web/admin/lib/lang/en_server_config.lng +++ b/interface/web/admin/lib/lang/en_server_config.lng @@ -30,6 +30,8 @@ $wb["fastcgi_bin_txt"] = 'FastCGI Bin'; $wb["module_txt"] = 'Module'; $wb["maildir_path_txt"] = 'Maildir Path'; $wb["homedir_path_txt"] = 'Homedir Path'; +$wb["dkim_path_txt"] = 'DKIM Path'; +$wb["dkim_path_error"] = 'DKIM Path not found or not writeable.'; $wb["mailuser_uid_txt"] = 'Mailuser UID'; $wb["mailuser_gid_txt"] = 'Mailuser GID'; $wb["mailuser_name_txt"] = 'Mailuser Name'; @@ -149,6 +151,7 @@ $wb["php_fpm_socket_dir_txt"] = 'PHP-FPM socket directory'; $wb["php_fpm_socket_dir_error_empty"] = 'PHP-FPM socket directory is empty.'; $wb["try_rescue_txt"] = 'Enable service monitoring and restart on failure'; $wb["do_not_try_rescue_httpd_txt"] = 'Disable HTTPD monitoring'; +$wb["do_not_try_rescue_mongodb_txt"] = 'Disable MongoDB monitoring'; $wb["do_not_try_rescue_mysql_txt"] = 'Disable MySQL monitoring'; $wb["do_not_try_rescue_mail_txt"] = 'Disable Email monitoring'; $wb["rescue_description_txt"] = 'Information: If you want to shut down mysql you have to select the "Disable MySQL monitor" checkbox and then wait 2-3 minutes.
If you do not wait 2-3 minutes, rescue will try to restart mysql!'; @@ -167,8 +170,8 @@ $wb["awstats_settings_txt"] = 'AWStats Settings'; $wb["firewall_txt"] = 'Firewall'; $wb["mailbox_quota_stats_txt"] = 'Mailbox quota statistics'; $wb["enable_ip_wildcard_txt"] = 'Enable IP wildcard (*)'; -$wb["web_folder_protection_txt"] = 'Make web folders immutable (extended attributes)'; -$wb["overtraffic_notify_admin_txt"] = 'Send overtraffic notification to admin'; +$wb["web_folder_protection_txt"] = 'Make web folders immutable (extended attributes)'; +$wb["overtraffic_notify_admin_txt"] = 'Send overtraffic notification to admin'; $wb["overtraffic_notify_client_txt"] = 'Send overtraffic notification to client'; $wb["rbl_error_regex"] = 'Please specify valid RBL hostnames.'; $wb["overquota_notify_admin_txt"] = 'Send quota warnings to admin'; @@ -188,4 +191,4 @@ $wb['munin_user_txt'] = 'Munin User'; $wb['munin_password_txt'] = 'Munin Password'; $wb['munin_url_error_regex'] = 'Invalid Munin URL'; $wb['munin_url_note_txt'] = 'Placeholder:'; -?> +?> diff --git a/interface/web/admin/lib/lang/en_system_config.lng b/interface/web/admin/lib/lang/en_system_config.lng index 1b370b469f..7c5fe6eaf7 100644 --- a/interface/web/admin/lib/lang/en_system_config.lng +++ b/interface/web/admin/lib/lang/en_system_config.lng @@ -23,6 +23,9 @@ $wb["webdavuser_prefix_error_regex"] = 'Char not allowed in webdav user prefix.' $wb["dblist_phpmyadmin_link_txt"] = 'Link to phpmyadmin in DB list'; $wb['enable_custom_login_txt'] = 'Allow custom login name'; $wb["mailboxlist_webmail_link_txt"] = 'Link to webmail in Mailbox list'; +$wb['mailbox_show_autoresponder_tab_txt'] = 'Show Autoresponder tab in Mailbox detail'; +$wb['mailbox_show_mail_filter_tab_txt'] = 'Show Mail Filter tab in Mailbox detail'; +$wb['mailbox_show_custom_rules_tab_txt'] = 'Show Custom Rules tab in Mailbox detail'; $wb["webmail_url_txt"] = 'Webmail URL'; $wb["mailmailinglist_link_txt"] = 'Link to mailing list in Mailing list list'; $wb["mailmailinglist_url_txt"] = 'Mailing list URL'; diff --git a/interface/web/admin/lib/lang/fi_remote_action.lng b/interface/web/admin/lib/lang/fi_remote_action.lng index f268527084..3fc3eaf81f 100644 --- a/interface/web/admin/lib/lang/fi_remote_action.lng +++ b/interface/web/admin/lib/lang/fi_remote_action.lng @@ -8,5 +8,5 @@ $wb['do_ispcupdate_desc'] = 'This action does a ISPConfig3 update at your select $wb['action_scheduled'] = 'The action is scheduled for execution'; $wb['select_all_server'] = 'All server'; $wb['ispconfig_update_title'] = 'ISPConfig update instructions'; -$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command

ispconfig_update.sh

to start the ISPConfig update.

Click here for detailed update instructins'; +$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command

ispconfig_update.sh

to start the ISPConfig update.

Click here for detailed update instructions'; ?> diff --git a/interface/web/admin/lib/lang/fr_remote_action.lng b/interface/web/admin/lib/lang/fr_remote_action.lng index 3df14f3554..58fb49998a 100644 --- a/interface/web/admin/lib/lang/fr_remote_action.lng +++ b/interface/web/admin/lib/lang/fr_remote_action.lng @@ -8,5 +8,5 @@ $wb['do_ispcupdate_desc'] = 'Cette action met à jour ISPConfig3 sur le serveur $wb['action_scheduled'] = 'Laction est marquée pour exécution'; $wb['select_all_server'] = 'Tout serveur'; $wb['ispconfig_update_title'] = 'ISPConfig update instructions'; -$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command

ispconfig_update.sh

to start the ISPConfig update.

Click here for detailed update instructins'; +$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command

ispconfig_update.sh

to start the ISPConfig update.

Click here for detailed update instructions'; ?> diff --git a/interface/web/admin/lib/lang/hu_remote_action.lng b/interface/web/admin/lib/lang/hu_remote_action.lng index 8fe6314d3c..6ef0ebe02e 100644 --- a/interface/web/admin/lib/lang/hu_remote_action.lng +++ b/interface/web/admin/lib/lang/hu_remote_action.lng @@ -8,5 +8,5 @@ $wb['do_ispcupdate_desc'] = 'This action does a ISPConfig3 update at your select $wb['action_scheduled'] = 'The action is scheduled for execution'; $wb['select_all_server'] = 'Összes szerver'; $wb['ispconfig_update_title'] = 'ISPConfig update instructions'; -$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command

ispconfig_update.sh

to start the ISPConfig update.

Click here for detailed update instructins'; +$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command

ispconfig_update.sh

to start the ISPConfig update.

Click here for detailed update instructions'; ?> diff --git a/interface/web/admin/lib/lang/id_remote_action.lng b/interface/web/admin/lib/lang/id_remote_action.lng index 3a1b8518ec..bfe758aeaf 100644 --- a/interface/web/admin/lib/lang/id_remote_action.lng +++ b/interface/web/admin/lib/lang/id_remote_action.lng @@ -8,5 +8,5 @@ $wb['do_ispcupdate_desc'] = 'Tindakan ini melakukan pemutakhiran ISPConfig3 di s $wb['action_scheduled'] = 'Tindakan dijadwalkan untuk dijalankan'; $wb['select_all_server'] = 'Semua server'; $wb['ispconfig_update_title'] = 'ISPConfig update instructions'; -$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command

ispconfig_update.sh

to start the ISPConfig update.

Click here for detailed update instructins'; +$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command

ispconfig_update.sh

to start the ISPConfig update.

Click here for detailed update instructions'; ?> diff --git a/interface/web/admin/lib/lang/it_remote_action.lng b/interface/web/admin/lib/lang/it_remote_action.lng index f268527084..3fc3eaf81f 100644 --- a/interface/web/admin/lib/lang/it_remote_action.lng +++ b/interface/web/admin/lib/lang/it_remote_action.lng @@ -8,5 +8,5 @@ $wb['do_ispcupdate_desc'] = 'This action does a ISPConfig3 update at your select $wb['action_scheduled'] = 'The action is scheduled for execution'; $wb['select_all_server'] = 'All server'; $wb['ispconfig_update_title'] = 'ISPConfig update instructions'; -$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command

ispconfig_update.sh

to start the ISPConfig update.

Click here for detailed update instructins'; +$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command

ispconfig_update.sh

to start the ISPConfig update.

Click here for detailed update instructions'; ?> diff --git a/interface/web/admin/lib/lang/ja_remote_action.lng b/interface/web/admin/lib/lang/ja_remote_action.lng index f268527084..3fc3eaf81f 100644 --- a/interface/web/admin/lib/lang/ja_remote_action.lng +++ b/interface/web/admin/lib/lang/ja_remote_action.lng @@ -8,5 +8,5 @@ $wb['do_ispcupdate_desc'] = 'This action does a ISPConfig3 update at your select $wb['action_scheduled'] = 'The action is scheduled for execution'; $wb['select_all_server'] = 'All server'; $wb['ispconfig_update_title'] = 'ISPConfig update instructions'; -$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command

ispconfig_update.sh

to start the ISPConfig update.

Click here for detailed update instructins'; +$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command

ispconfig_update.sh

to start the ISPConfig update.

Click here for detailed update instructions'; ?> diff --git a/interface/web/admin/lib/lang/nl_remote_action.lng b/interface/web/admin/lib/lang/nl_remote_action.lng index c0046ff019..ae286d9ea4 100644 --- a/interface/web/admin/lib/lang/nl_remote_action.lng +++ b/interface/web/admin/lib/lang/nl_remote_action.lng @@ -8,5 +8,5 @@ $wb['do_ispcupdate_desc'] = 'Deze actie voert een ISPConfig3 update uit op de so $wb['action_scheduled'] = 'Deze actie is ingepland om uitgevoerd te worden'; $wb['select_all_server'] = 'Alle servers'; $wb['ispconfig_update_title'] = 'ISPConfig update instructions'; -$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command

ispconfig_update.sh

to start the ISPConfig update.

Click here for detailed update instructins'; +$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command

ispconfig_update.sh

to start the ISPConfig update.

Click here for detailed update instructions'; ?> diff --git a/interface/web/admin/lib/lang/nl_system_config.lng b/interface/web/admin/lib/lang/nl_system_config.lng index b49eb07afc..766ead2ee0 100644 --- a/interface/web/admin/lib/lang/nl_system_config.lng +++ b/interface/web/admin/lib/lang/nl_system_config.lng @@ -16,6 +16,9 @@ $wb['shelluser_prefix_error_regex'] = 'Char niet toegestaan in shell gebruiker v $wb['webdavuser_prefix_error_regex'] = 'Char niet toegestaan in webdav gebruiker voorvoegsel.'; $wb['dblist_phpmyadmin_link_txt'] = 'Link naar phpmyadmin in DB lijst'; $wb['mailboxlist_webmail_link_txt'] = 'Link naar webmail in Mailbox lijst'; +$wb['mailbox_show_autoresponder_tab_txt'] = 'Toon Autoresponder tabblad in Mailbox detail'; +$wb['mailbox_show_mail_filter_tab_txt'] = 'Toon Mail Filter tabblad in Mailbox detail'; +$wb['mailbox_show_custom_rules_tab_txt'] 'Toon Custom Rules tabblad in Mailbox detail'; $wb['webmail_url_txt'] = 'Webmail URL'; $wb['phpmyadmin_url_txt'] = 'PHPMyAdmin URL'; $wb['use_domain_module_txt'] = 'Gebruik de domein-module om nieuwe domeinen toe te voegen'; diff --git a/interface/web/admin/lib/lang/pl_remote_action.lng b/interface/web/admin/lib/lang/pl_remote_action.lng index 7d03089933..83fbc9e282 100644 --- a/interface/web/admin/lib/lang/pl_remote_action.lng +++ b/interface/web/admin/lib/lang/pl_remote_action.lng @@ -8,5 +8,5 @@ $wb['do_ispcupdate_desc'] = 'Ta akcja przeprowadzi aktualizację ISPConfig3 na w $wb['action_scheduled'] = 'Akcja zaplanowana do wykonania'; $wb['select_all_server'] = 'Wszystkie serwery'; $wb['ispconfig_update_title'] = 'ISPConfig update instructions'; -$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command

ispconfig_update.sh

to start the ISPConfig update.

Click here for detailed update instructins'; +$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command

ispconfig_update.sh

to start the ISPConfig update.

Click here for detailed update instructions'; ?> diff --git a/interface/web/admin/lib/lang/pt_remote_action.lng b/interface/web/admin/lib/lang/pt_remote_action.lng index f268527084..3fc3eaf81f 100644 --- a/interface/web/admin/lib/lang/pt_remote_action.lng +++ b/interface/web/admin/lib/lang/pt_remote_action.lng @@ -8,5 +8,5 @@ $wb['do_ispcupdate_desc'] = 'This action does a ISPConfig3 update at your select $wb['action_scheduled'] = 'The action is scheduled for execution'; $wb['select_all_server'] = 'All server'; $wb['ispconfig_update_title'] = 'ISPConfig update instructions'; -$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command

ispconfig_update.sh

to start the ISPConfig update.

Click here for detailed update instructins'; +$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command

ispconfig_update.sh

to start the ISPConfig update.

Click here for detailed update instructions'; ?> diff --git a/interface/web/admin/lib/lang/ro_remote_action.lng b/interface/web/admin/lib/lang/ro_remote_action.lng index f268527084..3fc3eaf81f 100644 --- a/interface/web/admin/lib/lang/ro_remote_action.lng +++ b/interface/web/admin/lib/lang/ro_remote_action.lng @@ -8,5 +8,5 @@ $wb['do_ispcupdate_desc'] = 'This action does a ISPConfig3 update at your select $wb['action_scheduled'] = 'The action is scheduled for execution'; $wb['select_all_server'] = 'All server'; $wb['ispconfig_update_title'] = 'ISPConfig update instructions'; -$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command

ispconfig_update.sh

to start the ISPConfig update.

Click here for detailed update instructins'; +$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command

ispconfig_update.sh

to start the ISPConfig update.

Click here for detailed update instructions'; ?> diff --git a/interface/web/admin/lib/lang/ru_remote_action.lng b/interface/web/admin/lib/lang/ru_remote_action.lng index f268527084..3fc3eaf81f 100644 --- a/interface/web/admin/lib/lang/ru_remote_action.lng +++ b/interface/web/admin/lib/lang/ru_remote_action.lng @@ -8,5 +8,5 @@ $wb['do_ispcupdate_desc'] = 'This action does a ISPConfig3 update at your select $wb['action_scheduled'] = 'The action is scheduled for execution'; $wb['select_all_server'] = 'All server'; $wb['ispconfig_update_title'] = 'ISPConfig update instructions'; -$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command

ispconfig_update.sh

to start the ISPConfig update.

Click here for detailed update instructins'; +$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command

ispconfig_update.sh

to start the ISPConfig update.

Click here for detailed update instructions'; ?> diff --git a/interface/web/admin/lib/lang/se_remote_action.lng b/interface/web/admin/lib/lang/se_remote_action.lng index f268527084..3fc3eaf81f 100644 --- a/interface/web/admin/lib/lang/se_remote_action.lng +++ b/interface/web/admin/lib/lang/se_remote_action.lng @@ -8,5 +8,5 @@ $wb['do_ispcupdate_desc'] = 'This action does a ISPConfig3 update at your select $wb['action_scheduled'] = 'The action is scheduled for execution'; $wb['select_all_server'] = 'All server'; $wb['ispconfig_update_title'] = 'ISPConfig update instructions'; -$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command

ispconfig_update.sh

to start the ISPConfig update.

Click here for detailed update instructins'; +$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command

ispconfig_update.sh

to start the ISPConfig update.

Click here for detailed update instructions'; ?> diff --git a/interface/web/admin/lib/lang/sk_remote_action.lng b/interface/web/admin/lib/lang/sk_remote_action.lng index f268527084..3fc3eaf81f 100644 --- a/interface/web/admin/lib/lang/sk_remote_action.lng +++ b/interface/web/admin/lib/lang/sk_remote_action.lng @@ -8,5 +8,5 @@ $wb['do_ispcupdate_desc'] = 'This action does a ISPConfig3 update at your select $wb['action_scheduled'] = 'The action is scheduled for execution'; $wb['select_all_server'] = 'All server'; $wb['ispconfig_update_title'] = 'ISPConfig update instructions'; -$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command

ispconfig_update.sh

to start the ISPConfig update.

Click here for detailed update instructins'; +$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command

ispconfig_update.sh

to start the ISPConfig update.

Click here for detailed update instructions'; ?> diff --git a/interface/web/admin/lib/lang/tr_remote_action.lng b/interface/web/admin/lib/lang/tr_remote_action.lng index f268527084..3fc3eaf81f 100644 --- a/interface/web/admin/lib/lang/tr_remote_action.lng +++ b/interface/web/admin/lib/lang/tr_remote_action.lng @@ -8,5 +8,5 @@ $wb['do_ispcupdate_desc'] = 'This action does a ISPConfig3 update at your select $wb['action_scheduled'] = 'The action is scheduled for execution'; $wb['select_all_server'] = 'All server'; $wb['ispconfig_update_title'] = 'ISPConfig update instructions'; -$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command

ispconfig_update.sh

to start the ISPConfig update.

Click here for detailed update instructins'; +$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command

ispconfig_update.sh

to start the ISPConfig update.

Click here for detailed update instructions'; ?> diff --git a/interface/web/admin/templates/server_config_mail_edit.htm b/interface/web/admin/templates/server_config_mail_edit.htm index 752bc22da2..6ab03eb9bd 100644 --- a/interface/web/admin/templates/server_config_mail_edit.htm +++ b/interface/web/admin/templates/server_config_mail_edit.htm @@ -19,6 +19,10 @@ +
+ + +

{tmpl_var name='pop3_imap_daemon_txt'}

@@ -113,4 +117,4 @@
- \ No newline at end of file + diff --git a/interface/web/admin/templates/server_config_rescue_edit.htm b/interface/web/admin/templates/server_config_rescue_edit.htm index 778225b3e6..28b5cb4bd5 100644 --- a/interface/web/admin/templates/server_config_rescue_edit.htm +++ b/interface/web/admin/templates/server_config_rescue_edit.htm @@ -17,6 +17,12 @@ {tmpl_var name='do_not_try_rescue_httpd'} +
+

{tmpl_var name='do_not_try_rescue_mongodb_txt'}

+
+ {tmpl_var name='do_not_try_rescue_mongodb'} +
+

{tmpl_var name='do_not_try_rescue_mysql_txt'}

@@ -30,15 +36,15 @@
- + - + - +
- - \ No newline at end of file + + diff --git a/interface/web/admin/templates/server_config_server_edit.htm b/interface/web/admin/templates/server_config_server_edit.htm index 93158d734b..6dab52f3ab 100644 --- a/interface/web/admin/templates/server_config_server_edit.htm +++ b/interface/web/admin/templates/server_config_server_edit.htm @@ -16,17 +16,16 @@
- - -
- -
- - + + +
+
+ + +
+
+ +
@@ -96,7 +95,7 @@
-
-
- - + + + + diff --git a/interface/web/admin/templates/server_config_web_edit.htm b/interface/web/admin/templates/server_config_web_edit.htm index 7e75f50532..6656634b16 100644 --- a/interface/web/admin/templates/server_config_web_edit.htm +++ b/interface/web/admin/templates/server_config_web_edit.htm @@ -32,20 +32,20 @@
- -  {tmpl_var name='website_autoalias_note_txt'} [client_id], [client_username], [website_id], [website_domain] + +  {tmpl_var name='website_autoalias_note_txt'} [client_id], [client_username], [website_id], [website_domain]
- -
- - + --> +
+ +
@@ -219,6 +219,10 @@
+
+ + {tmpl_var name='php_ini_check_minutes_info_txt'} +
{tmpl_var name='apps_vhost_settings_txt'}
@@ -280,7 +284,7 @@ jQuery('.apache').hide(); } else { jQuery('.nginx').hide(); - jQuery('.apache').show(); - } - } - + jQuery('.apache').show(); + } + } + diff --git a/interface/web/admin/templates/system_config_mail_edit.htm b/interface/web/admin/templates/system_config_mail_edit.htm index 3c8cf2b0bb..e9c0c0e5b0 100644 --- a/interface/web/admin/templates/system_config_mail_edit.htm +++ b/interface/web/admin/templates/system_config_mail_edit.htm @@ -11,6 +11,24 @@ {tmpl_var name='enable_custom_login'}
+
+

{tmpl_var name='mailbox_show_autoresponder_tab_txt'}

+
+ {tmpl_var name='mailbox_show_autoresponder_tab'} +
+
+
+

{tmpl_var name='mailbox_show_mail_filter_tab_txt'}

+
+ {tmpl_var name='mailbox_show_mail_filter_tab'} +
+
+
+

{tmpl_var name='mailbox_show_custom_rules_tab_txt'}

+
+ {tmpl_var name='mailbox_show_custom_rules_tab'} +
+

{tmpl_var name='mailboxlist_webmail_link_txt'}

@@ -77,4 +95,4 @@
- \ No newline at end of file + diff --git a/interface/web/admin/templates/system_config_sites_edit.htm b/interface/web/admin/templates/system_config_sites_edit.htm index 78c51b0041..65f37b7820 100644 --- a/interface/web/admin/templates/system_config_sites_edit.htm +++ b/interface/web/admin/templates/system_config_sites_edit.htm @@ -45,12 +45,18 @@ {tmpl_var name='vhost_subdomains'} {tmpl_var name='vhost_subdomains_note_txt'} -
+

{tmpl_var name='client_username_web_check_disabled_txt'}

{tmpl_var name='client_username_web_check_disabled'}
+
+

{tmpl_var name='reseller_can_use_options_txt'}

+
+ {tmpl_var name='reseller_can_use_options'} +
+
@@ -61,4 +67,4 @@
- \ No newline at end of file + diff --git a/interface/web/client/lib/lang/de.lng b/interface/web/client/lib/lang/de.lng index 9e28df258e..fea2cee39f 100644 --- a/interface/web/client/lib/lang/de.lng +++ b/interface/web/client/lib/lang/de.lng @@ -23,4 +23,3 @@ $wb['error_domain_in webuse'] = 'Diese Domain kann nicht gelöscht werden, weil $wb['error_client_can_not_add_domain'] = 'Sie können keine neue Domain anlegen'; $wb['error_client_group_id_empty'] = 'Sie müssen ein Benutzerdefiniertes auswählen
'; ?> - diff --git a/interface/web/client/lib/lang/de_client.lng b/interface/web/client/lib/lang/de_client.lng index 985be6d38b..0bb6524493 100644 --- a/interface/web/client/lib/lang/de_client.lng +++ b/interface/web/client/lib/lang/de_client.lng @@ -144,5 +144,9 @@ $wb['aps_limits_txt'] = 'APS Installationsassistent Beschränkungen'; $wb['limit_aps_txt'] = 'Max. Anzahl an APS Instanzen'; $wb['limit_aps_error_notint'] = 'Die APS Instanzen Beschränkung muss eine Zahl sein.'; $wb['default_slave_dnsserver_txt'] = 'Standard Secondary DNS Server'; +$wb['locked_txt'] = 'Gesperrt (deaktiviert alle Webs, etc.)'; +$wb['canceled_txt'] = 'Gekündigt (verhindert Kundenlogin)'; +$wb['gender_txt'] = 'Anrede'; +$wb['gender_m_txt'] = 'Herr'; +$wb['gender_f_txt'] = 'Frau'; ?> - diff --git a/interface/web/client/lib/lang/de_client_circle.lng b/interface/web/client/lib/lang/de_client_circle.lng index c13e9a25bd..b6aee4638d 100644 --- a/interface/web/client/lib/lang/de_client_circle.lng +++ b/interface/web/client/lib/lang/de_client_circle.lng @@ -7,4 +7,3 @@ $wb['client_ids_txt'] = 'Kunden/Reseller'; $wb['description_txt'] = 'Beschreibung'; $wb['active_txt'] = 'Aktiv'; ?> - diff --git a/interface/web/client/lib/lang/de_client_circle_list.lng b/interface/web/client/lib/lang/de_client_circle_list.lng index 2e7e25e14d..f69b755ddc 100644 --- a/interface/web/client/lib/lang/de_client_circle_list.lng +++ b/interface/web/client/lib/lang/de_client_circle_list.lng @@ -8,4 +8,3 @@ $wb['filter_txt'] = 'Filter'; $wb['delete_txt'] = 'Löschen'; $wb['active_txt'] = 'Aktiv'; ?> - diff --git a/interface/web/client/lib/lang/de_client_del.lng b/interface/web/client/lib/lang/de_client_del.lng index 54a9621867..d13fcfa8fc 100644 --- a/interface/web/client/lib/lang/de_client_del.lng +++ b/interface/web/client/lib/lang/de_client_del.lng @@ -5,4 +5,3 @@ $wb['btn_save_txt'] = 'Kunden löschen'; $wb['btn_cancel_txt'] = 'Abbrechen, ohne den Kunden zu löschen'; $wb['confirm_client_delete_txt'] = 'Sind Sie sicher, daß Sie den Kunden löschen möchten?'; ?> - diff --git a/interface/web/client/lib/lang/de_client_message.lng b/interface/web/client/lib/lang/de_client_message.lng index 457cf6c17a..1538136672 100644 --- a/interface/web/client/lib/lang/de_client_message.lng +++ b/interface/web/client/lib/lang/de_client_message.lng @@ -15,5 +15,6 @@ $wb['recipient_txt'] = 'Empfänger'; $wb['all_clients_resellers_txt'] = 'Alle Kunden und Reseller'; $wb['all_clients_txt'] = 'Alle Kunden'; $wb['variables_txt'] = 'Variablen:'; +$wb['gender_m_txt'] = 'Herr'; +$wb['gender_f_txt'] = 'Frau'; ?> - diff --git a/interface/web/client/lib/lang/de_client_template.lng b/interface/web/client/lib/lang/de_client_template.lng index c67a4234cc..506c61e3f7 100644 --- a/interface/web/client/lib/lang/de_client_template.lng +++ b/interface/web/client/lib/lang/de_client_template.lng @@ -88,4 +88,3 @@ $wb['aps_limits_txt'] = 'APS Installationsassistent Limits'; $wb['limit_aps_txt'] = 'Max. Anzahl an APS-Instanzen'; $wb['limit_aps_error_notint'] = 'Das APS Instanzen Limit muss eine Zahl sein.'; ?> - diff --git a/interface/web/client/lib/lang/de_client_template_list.lng b/interface/web/client/lib/lang/de_client_template_list.lng index 5e62e72eba..552035fd70 100644 --- a/interface/web/client/lib/lang/de_client_template_list.lng +++ b/interface/web/client/lib/lang/de_client_template_list.lng @@ -4,4 +4,3 @@ $wb['template_type_txt'] = 'Typ'; $wb['template_name_txt'] = 'Vorlagenname'; $wb['template_id_txt'] = 'Template ID'; ?> - diff --git a/interface/web/client/lib/lang/de_clients_list.lng b/interface/web/client/lib/lang/de_clients_list.lng index 65604d8d79..a6bdd6a205 100644 --- a/interface/web/client/lib/lang/de_clients_list.lng +++ b/interface/web/client/lib/lang/de_clients_list.lng @@ -9,4 +9,3 @@ $wb['add_new_record_txt'] = 'Kunden hinzufügen'; $wb['username_txt'] = 'Benutzername'; $wb['customer_no_txt'] = 'Kundennummer'; ?> - diff --git a/interface/web/client/lib/lang/de_domain.lng b/interface/web/client/lib/lang/de_domain.lng index 339c6ffd40..eb4276a3f8 100644 --- a/interface/web/client/lib/lang/de_domain.lng +++ b/interface/web/client/lib/lang/de_domain.lng @@ -4,4 +4,3 @@ $wb['domain_error_unique'] = 'Die Domain existiert bereits'; $wb['domain_error_regex'] = 'Dieser Domain Name ist nicht gültig'; $wb['Domain'] = 'Domain'; ?> - diff --git a/interface/web/client/lib/lang/de_domain_list.lng b/interface/web/client/lib/lang/de_domain_list.lng index 4198e90962..b066bff572 100644 --- a/interface/web/client/lib/lang/de_domain_list.lng +++ b/interface/web/client/lib/lang/de_domain_list.lng @@ -4,4 +4,3 @@ $wb['add_new_record_txt'] = 'Neue Domain hinzufügen'; $wb['domain_txt'] = 'Domain'; $wb['user_txt'] = 'Kunde'; ?> - diff --git a/interface/web/client/lib/lang/de_reseller.lng b/interface/web/client/lib/lang/de_reseller.lng index ee35eda2f6..9bc4d53780 100644 --- a/interface/web/client/lib/lang/de_reseller.lng +++ b/interface/web/client/lib/lang/de_reseller.lng @@ -143,5 +143,9 @@ $wb['aps_limits_txt'] = 'APS Installationsassistent Limits'; $wb['limit_aps_txt'] = 'Max. Anzahl an APS-Instanzen'; $wb['limit_aps_error_notint'] = 'Das APS Instanzen Limit muss eine Zahl sein.'; $wb['default_slave_dnsserver_txt'] = 'Standard Secondary DNS Server'; +$wb['locked_txt'] = 'Gesperrt'; +$wb['canceled_txt'] = 'Gekündigt'; +$wb['gender_m_txt'] = 'Herr'; +$wb['gender_f_txt'] = 'Frau'; +$wb['gender_txt'] = 'Anrede'; ?> - diff --git a/interface/web/client/lib/lang/de_resellers_list.lng b/interface/web/client/lib/lang/de_resellers_list.lng index 890b484b1e..0f688c54b5 100644 --- a/interface/web/client/lib/lang/de_resellers_list.lng +++ b/interface/web/client/lib/lang/de_resellers_list.lng @@ -9,4 +9,3 @@ $wb['add_new_record_txt'] = 'Neuen Reseller hinzufügen'; $wb['customer_no_txt'] = 'Kundennummer'; $wb['username_txt'] = 'Benutzername'; ?> - diff --git a/interface/web/dashboard/lib/lang/de.lng b/interface/web/dashboard/lib/lang/de.lng index 896b1f1474..debf75413a 100644 --- a/interface/web/dashboard/lib/lang/de.lng +++ b/interface/web/dashboard/lib/lang/de.lng @@ -2,4 +2,3 @@ $wb['welcome_user_txt'] = 'Herzlich Willkommen %s'; $wb['available_modules_txt'] = 'Verfügbare Module'; ?> - diff --git a/interface/web/dashboard/lib/lang/de_dashlet_limits.lng b/interface/web/dashboard/lib/lang/de_dashlet_limits.lng index 746b38b3a8..fe1d57327f 100644 --- a/interface/web/dashboard/lib/lang/de_dashlet_limits.lng +++ b/interface/web/dashboard/lib/lang/de_dashlet_limits.lng @@ -28,4 +28,3 @@ $wb['limit_client_txt'] = 'Anzahl der Kunden'; $wb['limit_database_txt'] = 'Anzahl der Datenbanken'; $wb['limit_mailmailinglist_txt'] = 'Anzahl der Mailinglisten'; ?> - diff --git a/interface/web/dashboard/lib/lang/de_dashlet_mailquota.lng b/interface/web/dashboard/lib/lang/de_dashlet_mailquota.lng index 02a3fffab4..65984f25b5 100644 --- a/interface/web/dashboard/lib/lang/de_dashlet_mailquota.lng +++ b/interface/web/dashboard/lib/lang/de_dashlet_mailquota.lng @@ -6,4 +6,3 @@ $wb['used_txt'] = 'Verwendet'; $wb['quota_txt'] = 'Verfügbar'; $wb['no_email_accounts_txt'] = 'Kein E-Mail Konto gefunden.'; ?> - diff --git a/interface/web/dashboard/lib/lang/de_dashlet_modules.lng b/interface/web/dashboard/lib/lang/de_dashlet_modules.lng index d898ac6ecf..3d2c6c6514 100644 --- a/interface/web/dashboard/lib/lang/de_dashlet_modules.lng +++ b/interface/web/dashboard/lib/lang/de_dashlet_modules.lng @@ -1,4 +1,3 @@ - diff --git a/interface/web/dashboard/lib/lang/de_dashlet_quota.lng b/interface/web/dashboard/lib/lang/de_dashlet_quota.lng index daed0dba93..c694f1ecf3 100644 --- a/interface/web/dashboard/lib/lang/de_dashlet_quota.lng +++ b/interface/web/dashboard/lib/lang/de_dashlet_quota.lng @@ -1,9 +1,8 @@ - diff --git a/interface/web/data.sql b/interface/web/data.sql new file mode 100644 index 0000000000..67234bd43c --- /dev/null +++ b/interface/web/data.sql @@ -0,0 +1,800 @@ +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/remote_user_edit.php', 'remote_functions', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/software_package_edit.php', 'package_key', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_ip_edit.php', 'virtualhost', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/groups_edit.php', 'name', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/groups_edit.php', 'description', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'v6_prefix', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'auto_network_configuration', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'dkim_path', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'relayhost', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'relayhost_user', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'relayhost_password', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'module', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'mailbox_quota_stats', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'overquota_notify_admin', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'overquota_notify_client', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'overquota_notify_onok', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'vhost_conf_enabled_dir', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'nginx_vhost_conf_enabled_dir', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'nginx_cgi_socket', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'php_fpm_ini_path', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'php_fpm_pool_dir', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'php_fpm_start_port', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'php_fpm_socket_dir', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'php_ini_check_minutes', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'awstats_conf_dir', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'awstats_data_dir', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'awstats_pl', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'awstats_buildstaticpages_pl', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'server_type', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'website_symlinks_rel', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'check_apache_config', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'enable_ip_wildcard', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'overtraffic_notify_admin', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'overtraffic_notify_client', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'overquota_notify_admin', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'overquota_notify_client', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'overquota_notify_onok', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'enable_sni', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'set_folder_permissions_on_update', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'web_folder_protection', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'add_web_users_to_sshusers_group', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'connect_userid_to_webid', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'bind_user', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'bind_group', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'bind_zonefiles_dir', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'named_conf_path', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'named_conf_local_path', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'fastcgi_starter_path', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'fastcgi_starter_script', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'fastcgi_alias', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'fastcgi_phpini_path', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'fastcgi_children', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'fastcgi_max_requests', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'fastcgi_bin', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'fastcgi_config_syntax', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'jailkit_chroot_home', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'jailkit_chroot_app_sections', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'jailkit_chroot_app_programs', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'jailkit_chroot_cron_programs', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'ufw_default_input_policy', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'ufw_default_output_policy', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'ufw_default_forward_policy', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'ufw_default_application_policy', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'ufw_log_level', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'ufw_enable', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'ufw_manage_builtins', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'ufw_ipv6', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'config_dir', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'init_script', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'crontab_dir', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'wget', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'try_rescue', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'do_not_try_rescue_httpd', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'do_not_try_rescue_mongodb', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'do_not_try_rescue_mysql', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_config_edit.php', 'do_not_try_rescue_mail', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/firewall_edit.php', 'tcp_port', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/firewall_edit.php', 'udp_port', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/firewall_edit.php', 'server_id', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/firewall_edit.php', 'active', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/software_repo_edit.php', 'repo_name', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/software_repo_edit.php', 'repo_url', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/software_repo_edit.php', 'repo_username', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/software_repo_edit.php', 'repo_password', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/software_repo_edit.php', 'active', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/directive_snippets_edit.php', 'active', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/system_config_edit.php', 'dbname_prefix', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/system_config_edit.php', 'dbuser_prefix', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/system_config_edit.php', 'ftpuser_prefix', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/system_config_edit.php', 'shelluser_prefix', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/system_config_edit.php', 'webdavuser_prefix', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/system_config_edit.php', 'phpmyadmin_url', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/system_config_edit.php', 'webftp_url', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/system_config_edit.php', 'dblist_phpmyadmin_link', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/system_config_edit.php', 'vhost_subdomains', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/system_config_edit.php', 'client_username_web_check_disabled', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/system_config_edit.php', 'reseller_can_use_options', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/system_config_edit.php', 'webmail_url', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/system_config_edit.php', 'mailmailinglist_url', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/system_config_edit.php', 'admin_mail', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/system_config_edit.php', 'admin_name', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/system_config_edit.php', 'smtp_host', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/system_config_edit.php', 'smtp_port', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/system_config_edit.php', 'smtp_user', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/system_config_edit.php', 'smtp_pass', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/system_config_edit.php', 'enable_custom_login', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/system_config_edit.php', 'mailbox_show_autoresponder_tab', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/system_config_edit.php', 'mailbox_show_mail_filter_tab', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/system_config_edit.php', 'mailbox_show_custom_rules_tab', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/system_config_edit.php', 'mailboxlist_webmail_link', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/system_config_edit.php', 'mailmailinglist_link', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/system_config_edit.php', 'smtp_enabled', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/system_config_edit.php', 'smtp_crypt', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/system_config_edit.php', 'new_domain_html', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/system_config_edit.php', 'use_domain_module', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/system_config_edit.php', 'dashboard_atom_url_admin', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/system_config_edit.php', 'dashboard_atom_url_reseller', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/system_config_edit.php', 'dashboard_atom_url_client', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/system_config_edit.php', 'monitor_key', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/system_config_edit.php', 'admin_dashlets_left', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/system_config_edit.php', 'admin_dashlets_right', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/system_config_edit.php', 'reseller_dashlets_left', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/system_config_edit.php', 'reseller_dashlets_right', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/system_config_edit.php', 'client_dashlets_left', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/system_config_edit.php', 'client_dashlets_right', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/system_config_edit.php', 'tab_change_discard', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/system_config_edit.php', 'tab_change_warning', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/system_config_edit.php', 'use_loadindicator', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/system_config_edit.php', 'use_combobox', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/system_config_edit.php', 'maintenance_mode', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/iptables_edit.php', 'singleport', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/iptables_edit.php', 'multiport', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/iptables_edit.php', 'destination_ip', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/iptables_edit.php', 'source_ip', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/iptables_edit.php', 'state', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/iptables_edit.php', 'server_id', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/iptables_edit.php', 'table', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/iptables_edit.php', 'protocol', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/iptables_edit.php', 'target', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/iptables_edit.php', 'active', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_edit.php', 'server_name', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_edit.php', 'mirror_server_id', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_edit.php', 'active', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_edit.php', 'mail_server', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_edit.php', 'web_server', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_edit.php', 'dns_server', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_edit.php', 'file_server', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_edit.php', 'db_server', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_edit.php', 'vserver_server', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/admin/server_edit.php', 'config', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_vm_edit.php', 'hostname', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_vm_edit.php', 'vm_password', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_vm_edit.php', 'active_until_date', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_vm_edit.php', 'server_id_disabled', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_vm_edit.php', 'server_id', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_vm_edit.php', 'client_group_id', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_vm_edit.php', 'client_group_id', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_vm_edit.php', 'ostemplate_id_disabled', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_vm_edit.php', 'ostemplate_id', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_vm_edit.php', 'template_id', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_vm_edit.php', 'ip_address', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_vm_edit.php', 'description', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_vm_edit.php', 'start_boot', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_vm_edit.php', 'active', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_vm_edit.php', 'veid', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_vm_edit.php', 'diskspace', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_vm_edit.php', 'ram', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_vm_edit.php', 'ram_burst', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_vm_edit.php', 'cpu_units', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_vm_edit.php', 'cpu_num', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_vm_edit.php', 'cpu_limit', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_vm_edit.php', 'io_priority', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_vm_edit.php', 'nameserver', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_vm_edit.php', 'capability', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_vm_edit.php', 'create_dns', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_ip_edit.php', 'ip_address', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_ip_edit.php', 'server_id', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_ip_edit.php', 'vm_id', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_ip_edit.php', 'reserved', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_template_edit.php', 'template_name', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_template_edit.php', 'diskspace', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_template_edit.php', 'ram', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_template_edit.php', 'ram_burst', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_template_edit.php', 'cpu_units', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_template_edit.php', 'cpu_num', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_template_edit.php', 'cpu_limit', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_template_edit.php', 'io_priority', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_template_edit.php', 'hostname', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_template_edit.php', 'nameserver', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_template_edit.php', 'description', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_template_edit.php', 'create_dns', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_template_edit.php', 'active', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_template_edit.php', 'numproc', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_template_edit.php', 'numtcpsock', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_template_edit.php', 'numothersock', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_template_edit.php', 'vmguarpages', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_template_edit.php', 'kmemsize', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_template_edit.php', 'tcpsndbuf', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_template_edit.php', 'tcprcvbuf', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_template_edit.php', 'othersockbuf', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_template_edit.php', 'dgramrcvbuf', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_template_edit.php', 'oomguarpages', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_template_edit.php', 'privvmpages', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_template_edit.php', 'lockedpages', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_template_edit.php', 'shmpages', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_template_edit.php', 'physpages', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_template_edit.php', 'numfile', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_template_edit.php', 'avnumproc', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_template_edit.php', 'numflock', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_template_edit.php', 'numpty', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_template_edit.php', 'numsiginfo', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_template_edit.php', 'dcachesize', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_template_edit.php', 'numiptent', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_template_edit.php', 'swappages', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_template_edit.php', 'capability', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_ostemplate_edit.php', 'template_name', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_ostemplate_edit.php', 'template_file', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_ostemplate_edit.php', 'server_id', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_ostemplate_edit.php', 'description', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_ostemplate_edit.php', 'allservers', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/vm/openvz_ostemplate_edit.php', 'active', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mailuser/mail_user_password_edit.php', 'password', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mailuser/mail_user_password_edit.php', 'repeat_password', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mailuser/mail_user_filter_edit.php', 'rulename', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mailuser/mail_user_filter_edit.php', 'searchterm', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mailuser/mail_user_filter_edit.php', 'target', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mailuser/mail_user_filter_edit.php', 'source', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mailuser/mail_user_filter_edit.php', 'op', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mailuser/mail_user_filter_edit.php', 'action', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mailuser/mail_user_cc_edit.php', 'cc', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mailuser/mail_user_spamfilter_edit.php', 'policy', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mailuser/mail_user_autoresponder_edit.php', 'autoresponder_subject', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mailuser/mail_user_autoresponder_edit.php', 'autoresponder', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mailuser/mail_user_autoresponder_edit.php', 'autoresponder_text', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/help/support_message_edit.php', 'subject', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/help/support_message_edit.php', 'recipient_id', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/help/support_message_edit.php', 'message', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/database_edit.php', 'server_id_disabled', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/database_edit.php', 'database_charset_disabled', '0', '', ''); +REPLACE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/database_edit.php', 'remote_access', '0', '', 'Soll für diese Datenbank ein Zugriff von außerhalb des Servers ermöglicht werden? Dann müssen Sie diese Option aktivieren.'); +REPLACE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/database_edit.php', 'active', '0', '', 'Ist diese Option gesetzt, ist die Datenbank aktiv.'); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/webdav_user_edit.php', 'username', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/webdav_user_edit.php', 'password', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/webdav_user_edit.php', 'repeat_password', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/webdav_user_edit.php', 'dir', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/webdav_user_edit.php', 'parent_domain_id', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/webdav_user_edit.php', 'parent_domain_id', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/webdav_user_edit.php', 'active', '0', '', ''); +REPLACE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/ftp_user_edit.php', 'repeat_password', '0', '', 'Geben Sie hier das gleiche Passwort noch einmal ein.'); +REPLACE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/ftp_user_edit.php', 'active', '0', '', 'Ist diese Option gesetzt, ist der FTP-Zugang aktiv.'); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/ftp_user_edit.php', 'uid', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/ftp_user_edit.php', 'gid', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/ftp_user_edit.php', 'dir', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/ftp_user_edit.php', 'quota_files', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/ftp_user_edit.php', 'ul_ratio', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/ftp_user_edit.php', 'dl_ratio', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/ftp_user_edit.php', 'ul_bandwidth', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/ftp_user_edit.php', 'dl_bandwidth', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/ftp_user_edit.php', 'dir', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_subdomain_edit.php', 'sel_domain', '0', '', ''); +REPLACE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_subdomain_edit.php', 'active', '0', '', 'Ist diese Option gesetzt, ist die Subdomain aktiv.'); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_subdomain_edit.php', 'proxy_directives', '0', '', ''); +REPLACE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/database_user_edit.php', 'repeat_password', '0', '', 'Geben Sie hier das gleiche Passwort noch einmal ein.'); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/database_user_edit.php', 'client_group_id', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/database_user_edit.php', 'client_group_id', '0', '', ''); +REPLACE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_aliasdomain_edit.php', 'active', '0', '', 'Ist diese Option gesetzt, ist die Aliasdomain aktiv.'); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_aliasdomain_edit.php', 'proxy_directives', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/cron_edit.php', 'run_min', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/cron_edit.php', 'run_hour', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/cron_edit.php', 'run_mday', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/cron_edit.php', 'run_month', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/cron_edit.php', 'run_wday', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/cron_edit.php', 'active', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_subdomain_edit.php', 'domain', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_subdomain_edit.php', 'web_folder', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_subdomain_edit.php', 'traffic_quota', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_subdomain_edit.php', 'parent_domain_id', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_subdomain_edit.php', 'sel_domain', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_subdomain_edit.php', 'parent_domain_id', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_subdomain_edit.php', 'subdomain', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_subdomain_edit.php', 'php', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_subdomain_edit.php', 'fastcgi_php_version', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_subdomain_edit.php', 'cgi', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_subdomain_edit.php', 'ssi', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_subdomain_edit.php', 'perl', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_subdomain_edit.php', 'ruby', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_subdomain_edit.php', 'python', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_subdomain_edit.php', 'suexec', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_subdomain_edit.php', 'errordocs', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_subdomain_edit.php', 'ssl', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_subdomain_edit.php', 'active', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_subdomain_edit.php', 'redirect_path', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_subdomain_edit.php', 'redirect_type', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_subdomain_edit.php', 'seo_redirect', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_subdomain_edit.php', 'ssl_state', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_subdomain_edit.php', 'ssl_locality', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_subdomain_edit.php', 'ssl_organisation', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_subdomain_edit.php', 'ssl_organisation_unit', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_subdomain_edit.php', 'ssl_country', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_subdomain_edit.php', 'ssl_domain', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_subdomain_edit.php', 'ssl_action', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_subdomain_edit.php', 'ssl_key', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_subdomain_edit.php', 'ssl_request', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_subdomain_edit.php', 'ssl_cert', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_subdomain_edit.php', 'ssl_bundle', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_subdomain_edit.php', 'stats_password', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_subdomain_edit.php', 'repeat_password', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_subdomain_edit.php', 'stats_type', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_subdomain_edit.php', 'backup_interval', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_subdomain_edit.php', 'backup_copies', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_subdomain_edit.php', 'allow_override', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_subdomain_edit.php', 'pm_max_children', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_subdomain_edit.php', 'pm_start_servers', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_subdomain_edit.php', 'pm_min_spare_servers', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_subdomain_edit.php', 'pm_max_spare_servers', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_subdomain_edit.php', 'pm_process_idle_timeout', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_subdomain_edit.php', 'pm_max_requests', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_subdomain_edit.php', 'php_open_basedir', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_subdomain_edit.php', 'pm', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_subdomain_edit.php', 'custom_php_ini', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_subdomain_edit.php', 'apache_directives', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_subdomain_edit.php', 'nginx_directives', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_subdomain_edit.php', 'proxy_directives', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_subdomain_edit.php', 'php_fpm_use_socket', '0', '', ''); +REPLACE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_folder_edit.php', 'path', '0', '', 'Welches Verzeichnis von Ihrer Webseite möchten Sie mit einem Passwort schützen?'); +REPLACE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_folder_edit.php', 'parent_domain_id', '0', '', 'Zu welcher Webseite soll ein Passwortschutz angelegt werden?'); +REPLACE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_folder_edit.php', 'active', '0', '', 'Ist diese Option gesetzt, ist der Passwortschutz aktiv.'); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/shell_user_edit.php', 'username', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/shell_user_edit.php', 'password', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/shell_user_edit.php', 'repeat_password', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/shell_user_edit.php', 'quota_size', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/shell_user_edit.php', 'parent_domain_id', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/shell_user_edit.php', 'parent_domain_id', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/shell_user_edit.php', 'chroot', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/shell_user_edit.php', 'ssh_rsa', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/shell_user_edit.php', 'active', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/shell_user_edit.php', 'puser', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/shell_user_edit.php', 'pgroup', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/shell_user_edit.php', 'shell', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/shell_user_edit.php', 'dir', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_domain_edit.php', 'server_id_disabled', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_domain_edit.php', 'client_group_id', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_domain_edit.php', 'client_group_id', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_domain_edit.php', 'subdomain', '0', '', ''); +REPLACE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_domain_edit.php', 'cgi', '0', '', 'Mit dieser Option können Sie die Unterstützung für CGI Skripte auf Ihrer Webseite aktivieren. Verwenden Sie diese Option NICHT zusammen mit aktiviertem Perl.'); +REPLACE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_domain_edit.php', 'ssi', '0', '', 'Mit dieser Option können Sie die Unterstützung von Serverside Includes (SSI) aktivieren.'); +REPLACE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_domain_edit.php', 'perl', '0', '', 'Mit dieser Option können Sie die Unterstützung von Perl aktivieren. Verwenden Sie diese Option NICHT zusammen mit aktiviertem CGI.'); +REPLACE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_domain_edit.php', 'ruby', '0', '', 'Mit dieser Option können Sie die Unterstützung von Ruby aktivieren.'); +REPLACE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_domain_edit.php', 'python', '0', '', 'Mit dieser Option können Sie die Unterstützung von Python aktivieren.'); +REPLACE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_domain_edit.php', 'suexec', '0', '', 'Mit dieser Option wird SuExec für PHP aktiviert. Diese Einstellung wird aus Sicherheitsgründen dringend empfohlen.'); +REPLACE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_domain_edit.php', 'errordocs', '0', '', 'Mit dieser Option aktivieren Sie benutzerdefinierte Fehlerseiten. Im Verzeichnis /web/error/ in Ihrem FTP-Zugang können Sie diese Seiten bearbeiten.'); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_domain_edit.php', 'ssl', '0', '', ''); +REPLACE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_domain_edit.php', 'active', '0', '', 'Ist diese Option gesetzt, ist die Webseite aktiv.'); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_domain_edit.php', 'rewrite_rules', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_domain_edit.php', 'repeat_password', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_domain_edit.php', 'allow_override', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_domain_edit.php', 'pm_max_children', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_domain_edit.php', 'pm_start_servers', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_domain_edit.php', 'pm_min_spare_servers', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_domain_edit.php', 'pm_max_spare_servers', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_domain_edit.php', 'pm_process_idle_timeout', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_domain_edit.php', 'pm_max_requests', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_domain_edit.php', 'php_open_basedir', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_domain_edit.php', 'pm', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_domain_edit.php', 'custom_php_ini', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_domain_edit.php', 'apache_directives', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_domain_edit.php', 'nginx_directives', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_domain_edit.php', 'proxy_directives', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_domain_edit.php', 'php_fpm_use_socket', '0', '', ''); +REPLACE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_folder_user_edit.php', 'username', '0', '', 'Geben Sie einen Benutzernamen ein, der auf das geschützte Verzeichnis zugreifen soll.'); +REPLACE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_folder_user_edit.php', 'password', '0', '', 'Geben Sie ein sicheres Passwort für den Benutzer ein.'); +REPLACE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_folder_user_edit.php', 'repeat_password', '0', '', 'Geben Sie das gleiche Passwort noch einmal ein.'); +REPLACE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_folder_user_edit.php', 'web_folder_id', '0', '', 'Für welchen Ordner möchten Sie einen Benutzer anlegen?'); +REPLACE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_folder_user_edit.php', 'active', '0', '', 'Ist diese Option gesetzt, ist der Benutzerzugang aktiv.'); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/domain_edit.php', 'domain', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/domain_edit.php', 'domain', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/domain_edit.php', 'client_group_id', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/domain_edit.php', 'client_group_id', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_circle_edit.php', 'circle_name', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_circle_edit.php', 'description', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_circle_edit.php', 'client_ids', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_circle_edit.php', 'active', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'company_name', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'contact_name', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'customer_no', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'username', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'password', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'repeat_password', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'street', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'zip', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'city', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'state', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'telephone', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'mobile', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'fax', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'email', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'internet', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'icq', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'vat_id', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'company_id', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'bank_account_owner', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'bank_account_number', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'bank_code', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'bank_name', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'bank_account_iban', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'bank_account_swift', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'paypal_email', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'gender', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'language', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'usertheme', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'country', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'notes', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'locked', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'canceled', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'limit_web_domain', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'limit_web_quota', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'limit_traffic_quota', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'limit_web_aliasdomain', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'limit_web_subdomain', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'limit_ftp_user', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'limit_shell_user', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'limit_webdav_user', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'limit_maildomain', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'limit_mailbox', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'limit_mailalias', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'limit_mailaliasdomain', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'limit_mailmailinglist', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'limit_mailforward', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'limit_mailcatchall', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'limit_mailrouting', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'limit_mailfilter', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'limit_fetchmail', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'limit_mailquota', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'limit_spamfilter_wblist', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'limit_spamfilter_user', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'limit_spamfilter_policy', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'limit_database', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'limit_cron', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'limit_cron_frequency', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'limit_dns_zone', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'limit_dns_slave_zone', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'limit_dns_record', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'limit_openvz_vm', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'limit_aps', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'template_master', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'tpl_add_select', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'default_webserver', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'default_mailserver', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'default_dbserver', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'limit_cron_type', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'default_dnsserver', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'default_slave_dnsserver', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'limit_openvz_vm_template_id', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'web_php_options', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'limit_cgi', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'limit_ssi', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'limit_perl', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'limit_ruby', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'limit_python', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'force_suexec', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'limit_hterror', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'limit_wildcard', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'limit_ssl', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_edit.php', 'ssh_chroot', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'company_name', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'contact_name', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'customer_no', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'username', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'password', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'repeat_password', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'street', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'zip', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'city', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'state', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'telephone', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'mobile', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'fax', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'email', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'internet', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'icq', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'vat_id', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'company_id', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'bank_account_owner', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'bank_account_number', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'bank_code', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'bank_name', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'bank_account_iban', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'bank_account_swift', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'paypal_email', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'gender', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'language', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'usertheme', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'country', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'notes', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'locked', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'canceled', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'limit_client', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'limit_web_domain', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'limit_web_quota', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'limit_traffic_quota', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'limit_web_aliasdomain', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'limit_web_subdomain', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'limit_ftp_user', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'limit_shell_user', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'limit_webdav_user', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'limit_maildomain', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'limit_mailmailinglist', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'limit_mailbox', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'limit_mailalias', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'limit_mailaliasdomain', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'limit_mailforward', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'limit_mailcatchall', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'limit_mailrouting', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'limit_mailfilter', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'limit_fetchmail', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'limit_mailquota', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'limit_spamfilter_wblist', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'limit_spamfilter_user', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'limit_spamfilter_policy', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'limit_database', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'limit_cron', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'limit_cron_frequency', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'limit_dns_zone', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'limit_dns_slave_zone', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'limit_dns_record', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'limit_openvz_vm', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'limit_aps', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'default_webserver', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'default_mailserver', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'default_dbserver', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'limit_cron_type', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'default_dnsserver', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'default_slave_dnsserver', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'limit_openvz_vm_template_id', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'web_php_options', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'limit_cgi', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'limit_ssi', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'limit_perl', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'limit_ruby', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'limit_python', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'force_suexec', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'limit_hterror', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'limit_wildcard', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'limit_ssl', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/reseller_edit.php', 'ssh_chroot', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_template_edit.php', 'template_name', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_template_edit.php', 'template_type', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_template_edit.php', 'limit_web_domain', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_template_edit.php', 'limit_web_quota', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_template_edit.php', 'limit_traffic_quota', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_template_edit.php', 'limit_web_aliasdomain', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_template_edit.php', 'limit_web_subdomain', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_template_edit.php', 'limit_ftp_user', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_template_edit.php', 'limit_shell_user', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_template_edit.php', 'limit_webdav_user', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_template_edit.php', 'limit_maildomain', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_template_edit.php', 'limit_mailbox', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_template_edit.php', 'limit_mailalias', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_template_edit.php', 'limit_mailaliasdomain', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_template_edit.php', 'limit_mailmailinglist', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_template_edit.php', 'limit_mailforward', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_template_edit.php', 'limit_mailcatchall', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_template_edit.php', 'limit_mailrouting', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_template_edit.php', 'limit_mailfilter', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_template_edit.php', 'limit_fetchmail', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_template_edit.php', 'limit_mailquota', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_template_edit.php', 'limit_spamfilter_wblist', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_template_edit.php', 'limit_spamfilter_user', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_template_edit.php', 'limit_spamfilter_policy', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_template_edit.php', 'limit_database', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_template_edit.php', 'limit_cron', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_template_edit.php', 'limit_cron_frequency', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_template_edit.php', 'limit_dns_zone', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_template_edit.php', 'limit_dns_slave_zone', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_template_edit.php', 'limit_dns_record', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_template_edit.php', 'limit_openvz_vm', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_template_edit.php', 'limit_aps', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_template_edit.php', 'limit_cron_type', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_template_edit.php', 'limit_openvz_vm_template_id', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_template_edit.php', 'web_php_options', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_template_edit.php', 'limit_cgi', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_template_edit.php', 'limit_ssi', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_template_edit.php', 'limit_perl', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_template_edit.php', 'limit_ruby', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_template_edit.php', 'limit_python', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_template_edit.php', 'force_suexec', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_template_edit.php', 'limit_hterror', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_template_edit.php', 'limit_wildcard', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_template_edit.php', 'limit_ssl', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/client/client_template_edit.php', 'ssh_chroot', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_content_filter_edit.php', 'pattern', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_content_filter_edit.php', 'data', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_content_filter_edit.php', 'server_id', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_content_filter_edit.php', 'type', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_content_filter_edit.php', 'action', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_content_filter_edit.php', 'active', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_transport_edit.php', 'domain', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_transport_edit.php', 'mx', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_transport_edit.php', 'destination', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_transport_edit.php', 'server_id', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_transport_edit.php', 'type', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_transport_edit.php', 'sort_order', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_transport_edit.php', 'active', '0', '', ''); +REPLACE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_aliasdomain_edit.php', 'active', '0', '', 'Ist diese Option gesetzt, ist der E-Mail-Empfang für diese Domain aktiv.'); +REPLACE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_alias_edit.php', 'active', '0', '', 'Ist diese Option gesetzt, ist diese E-Mail-Adresse aktiv.'); +REPLACE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_forward_edit.php', 'active', '0', '', 'Ist diese Option gesetzt, ist diese E-Mail-Weiterleitung aktiv.'); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_policy_edit.php', 'policy_name', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_policy_edit.php', 'virus_lover', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_policy_edit.php', 'spam_lover', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_policy_edit.php', 'banned_files_lover', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_policy_edit.php', 'bad_header_lover', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_policy_edit.php', 'bypass_virus_checks', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_policy_edit.php', 'bypass_banned_checks', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_policy_edit.php', 'bypass_header_checks', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_policy_edit.php', 'virus_quarantine_to', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_policy_edit.php', 'spam_quarantine_to', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_policy_edit.php', 'banned_quarantine_to', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_policy_edit.php', 'bad_header_quarantine_to', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_policy_edit.php', 'spam_tag_level', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_policy_edit.php', 'spam_tag2_level', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_policy_edit.php', 'spam_kill_level', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_policy_edit.php', 'spam_dsn_cutoff_level', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_policy_edit.php', 'spam_quarantine_cutoff_level', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_policy_edit.php', 'spam_subject_tag', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_policy_edit.php', 'spam_subject_tag2', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_policy_edit.php', 'spam_modifies_subj', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_policy_edit.php', 'addr_extension_virus', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_policy_edit.php', 'addr_extension_spam', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_policy_edit.php', 'addr_extension_banned', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_policy_edit.php', 'addr_extension_bad_header', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_policy_edit.php', 'newvirus_admin', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_policy_edit.php', 'virus_admin', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_policy_edit.php', 'banned_admin', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_policy_edit.php', 'bad_header_admin', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_policy_edit.php', 'spam_admin', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_policy_edit.php', 'message_size_limit', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_policy_edit.php', 'banned_rulenames', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_policy_edit.php', 'warnvirusrecip', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_policy_edit.php', 'warnbannedrecip', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_policy_edit.php', 'warnbadhrecip', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_blacklist_edit.php', 'email', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_blacklist_edit.php', 'rid', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_blacklist_edit.php', 'priority', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_blacklist_edit.php', 'active', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_user_filter_edit.php', 'rulename', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_user_filter_edit.php', 'searchterm', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_user_filter_edit.php', 'target', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_user_filter_edit.php', 'source', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_user_filter_edit.php', 'op', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_user_filter_edit.php', 'action', '0', '', ''); +REPLACE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_user_edit.php', 'repeat_password', '0', '', 'Geben Sie das gleiche Passwort noch einmal ein.'); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_user_edit.php', 'quota', '0', '', ''); +REPLACE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_user_edit.php', 'postfix', '0', '', 'Ist diese Option gesetzt, ist der E-Mail-Empfang auf dieser Adresse aktiv.'); +REPLACE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_user_edit.php', 'disableimap', '0', '', 'Ist diese Option gesetzt, kann NICHT via IMAP auf diese Adresse zugegriffen werden.'); +REPLACE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_user_edit.php', 'disablepop3', '0', '', 'Ist diese Option gesetzt, kann NICHT via POP3 auf diese Adresse zugegriffen werden.'); +REPLACE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_user_edit.php', 'move_junk', '0', '', 'Ist diese Option gesetzt, werden als Spam erkannte E-Mails in den Spam-Ordner verschoben. Bei der Verwendung von POP3 sind diese Mails NICHT sichtbar.'); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_user_edit.php', 'custom_mailfilter', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_blacklist_edit.php', 'source', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_blacklist_edit.php', 'server_id', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_blacklist_edit.php', 'type', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_blacklist_edit.php', 'active', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_whitelist_edit.php', 'source', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_whitelist_edit.php', 'server_id', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_whitelist_edit.php', 'type', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_whitelist_edit.php', 'active', '0', '', ''); +REPLACE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_domain_catchall_edit.php', 'active', '0', '', 'Ist diese Option gesetzt, ist dieses Catch-All-Konto aktiv.'); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_get_edit.php', 'source_server', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_get_edit.php', 'source_username', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_get_edit.php', 'source_password', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_get_edit.php', 'type', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_get_edit.php', 'destination', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_get_edit.php', 'source_delete', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_get_edit.php', 'source_read_all', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_get_edit.php', 'active', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_domain_edit.php', 'server_id_disabled', '0', '', ''); +REPLACE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_domain_edit.php', 'client_group_id', '0', '', 'Welchem Kunden ist diese Domain zugeordnet?'); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_domain_edit.php', 'dkim_private', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_domain_edit.php', 'dkim_public', '0', '', ''); +REPLACE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_domain_edit.php', 'active', '0', '', 'Ist diese Option gesetzt, ist die E-Mail-Domain aktiv.'); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_domain_edit.php', 'dkim', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_users_edit.php', 'email', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_users_edit.php', 'fullname', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_users_edit.php', 'server_id', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_users_edit.php', 'priority', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_users_edit.php', 'policy_id', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_users_edit.php', 'local', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_mailinglist_edit.php', 'listname_disabled', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_mailinglist_edit.php', 'email_disabled', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_mailinglist_edit.php', 'listname', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_mailinglist_edit.php', 'email', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_mailinglist_edit.php', 'password', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_mailinglist_edit.php', 'repeat_password', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_mailinglist_edit.php', 'client_group_id', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_mailinglist_edit.php', 'client_group_id', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_mailinglist_edit.php', 'domain_disabled', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_mailinglist_edit.php', 'domain', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_relay_recipient_edit.php', 'source', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_relay_recipient_edit.php', 'server_id', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/mail_relay_recipient_edit.php', 'active', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_whitelist_edit.php', 'email', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_whitelist_edit.php', 'rid', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_whitelist_edit.php', 'priority', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_whitelist_edit.php', 'active', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_config_edit.php', 'ip_address', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_config_edit.php', 'netmask', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_config_edit.php', 'gateway', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_config_edit.php', 'hostname', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_config_edit.php', 'nameservers', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_config_edit.php', 'maildir_path', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_config_edit.php', 'homedir_path', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_config_edit.php', 'mailuser_uid', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_config_edit.php', 'mailuser_gid', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_config_edit.php', 'mailuser_name', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_config_edit.php', 'mailuser_group', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_config_edit.php', 'relayhost', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_config_edit.php', 'relayhost_user', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_config_edit.php', 'relayhost_password', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_config_edit.php', 'mailbox_size_limit', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_config_edit.php', 'message_size_limit', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_config_edit.php', 'module', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/mail/spamfilter_config_edit.php', 'getmail_config_dir', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_aaaa_edit.php', 'name', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_aaaa_edit.php', 'data', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_aaaa_edit.php', 'ttl', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_aaaa_edit.php', 'active', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_cname_edit.php', 'name', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_cname_edit.php', 'data', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_cname_edit.php', 'ttl', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_cname_edit.php', 'active', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_mx_edit.php', 'name', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_mx_edit.php', 'data', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_mx_edit.php', 'aux', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_mx_edit.php', 'ttl', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_mx_edit.php', 'active', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_srv_edit.php', 'name', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_srv_edit.php', 'target', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_srv_edit.php', 'weight', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_srv_edit.php', 'port', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_srv_edit.php', 'aux', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_srv_edit.php', 'ttl', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_srv_edit.php', 'active', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_alias_edit.php', 'name', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_alias_edit.php', 'data', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_alias_edit.php', 'ttl', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_alias_edit.php', 'active', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_ptr_edit.php', 'name', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_ptr_edit.php', 'data', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_ptr_edit.php', 'ttl', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_ptr_edit.php', 'active', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_ns_edit.php', 'name', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_ns_edit.php', 'data', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_ns_edit.php', 'ttl', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_ns_edit.php', 'active', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_template_edit.php', 'name', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_template_edit.php', 'template', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_template_edit.php', 'fields', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_template_edit.php', 'visible', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_hinfo_edit.php', 'name', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_hinfo_edit.php', 'data', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_hinfo_edit.php', 'ttl', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_hinfo_edit.php', 'active', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_a_edit.php', 'name', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_a_edit.php', 'data', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_a_edit.php', 'ttl', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_a_edit.php', 'active', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_slave_edit.php', 'origin', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_slave_edit.php', 'ns', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_slave_edit.php', 'xfer', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_slave_edit.php', 'server_id_disabled', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_slave_edit.php', 'server_id', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_slave_edit.php', 'client_group_id', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_slave_edit.php', 'client_group_id', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_slave_edit.php', 'active', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_dkim_edit.php', 'ttl', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_dkim_edit.php', 'data', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_dkim_edit.php', 'active', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_soa_edit.php', 'origin', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_soa_edit.php', 'ns', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_soa_edit.php', 'mbox', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_soa_edit.php', 'refresh', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_soa_edit.php', 'retry', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_soa_edit.php', 'expire', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_soa_edit.php', 'minimum', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_soa_edit.php', 'ttl', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_soa_edit.php', 'xfer', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_soa_edit.php', 'also_notify', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_soa_edit.php', 'update_acl', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_soa_edit.php', 'server_id_disabled', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_soa_edit.php', 'server_id', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_soa_edit.php', 'client_group_id', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_soa_edit.php', 'client_group_id', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_soa_edit.php', 'active', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_rp_edit.php', 'name', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_rp_edit.php', 'data', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_rp_edit.php', 'ttl', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_rp_edit.php', 'active', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_txt_edit.php', 'name', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_txt_edit.php', 'data', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_txt_edit.php', 'ttl', '0', '', ''); +INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/dns/dns_txt_edit.php', 'active', '0', '', ''); diff --git a/interface/web/designer/lib/lang/de.lng b/interface/web/designer/lib/lang/de.lng index 29f4a51efe..acb6c3546c 100644 --- a/interface/web/designer/lib/lang/de.lng +++ b/interface/web/designer/lib/lang/de.lng @@ -1,3 +1,2 @@ - diff --git a/interface/web/designer/lib/lang/de_form_edit.lng b/interface/web/designer/lib/lang/de_form_edit.lng index 4eb8e93096..74bf458d90 100644 --- a/interface/web/designer/lib/lang/de_form_edit.lng +++ b/interface/web/designer/lib/lang/de_form_edit.lng @@ -22,4 +22,3 @@ $wb['auth_preset_perm_user_txt'] = 'Benutzerberechtigungen'; $wb['auth_preset_perm_group_txt'] = 'Gruppenberechtigungen'; $wb['auth_preset_perm_other_txt'] = 'andere Berechtigungen'; ?> - diff --git a/interface/web/designer/lib/lang/de_form_list.lng b/interface/web/designer/lib/lang/de_form_list.lng index 853ce10003..998a64f702 100644 --- a/interface/web/designer/lib/lang/de_form_list.lng +++ b/interface/web/designer/lib/lang/de_form_list.lng @@ -5,4 +5,3 @@ $wb['module_txt'] = 'Modul'; $wb['title_txt'] = 'Bezeichnung'; $wb['description_txt'] = 'Beschreibung'; ?> - diff --git a/interface/web/designer/lib/lang/de_module_edit.lng b/interface/web/designer/lib/lang/de_module_edit.lng index 09d9f390db..6eacd64b1d 100644 --- a/interface/web/designer/lib/lang/de_module_edit.lng +++ b/interface/web/designer/lib/lang/de_module_edit.lng @@ -10,4 +10,3 @@ $wb['cancel_txt'] = 'Abbrechen'; $wb['header_txt'] = 'Moduleigenschaften'; $wb['description_txt'] = 'Beschreibung'; ?> - diff --git a/interface/web/designer/lib/lang/de_module_list.lng b/interface/web/designer/lib/lang/de_module_list.lng index a09b5139b5..6040630203 100644 --- a/interface/web/designer/lib/lang/de_module_list.lng +++ b/interface/web/designer/lib/lang/de_module_list.lng @@ -3,4 +3,3 @@ $wb['list_head_txt'] = 'Backend Module'; $wb['module_txt'] = 'Modul'; $wb['title_txt'] = 'Bezeichnung'; ?> - diff --git a/interface/web/designer/lib/lang/de_module_nav_edit.lng b/interface/web/designer/lib/lang/de_module_nav_edit.lng index 25e2085ccf..d5142f03cb 100644 --- a/interface/web/designer/lib/lang/de_module_nav_edit.lng +++ b/interface/web/designer/lib/lang/de_module_nav_edit.lng @@ -4,4 +4,3 @@ $wb['header_txt'] = 'Navigation Eigenschaften'; $wb['save_txt'] = 'Speichern'; $wb['cancel_txt'] = 'Abbrechen'; ?> - diff --git a/interface/web/designer/lib/lang/de_module_nav_item_edit.lng b/interface/web/designer/lib/lang/de_module_nav_item_edit.lng index 6353a73470..8c0c33c1a6 100644 --- a/interface/web/designer/lib/lang/de_module_nav_item_edit.lng +++ b/interface/web/designer/lib/lang/de_module_nav_item_edit.lng @@ -6,4 +6,3 @@ $wb['header_txt'] = 'Navigation Eigenschaften'; $wb['save_txt'] = 'Speichern'; $wb['cancel_txt'] = 'Abbrechen'; ?> - diff --git a/interface/web/designer/lib/lang/de_module_show.lng b/interface/web/designer/lib/lang/de_module_show.lng index d0c4d4b413..f4b2ad11f8 100644 --- a/interface/web/designer/lib/lang/de_module_show.lng +++ b/interface/web/designer/lib/lang/de_module_show.lng @@ -14,4 +14,3 @@ $wb['module_del_txt'] = 'Wollen Sie das Modul und alle im Modul angelegten Datei $wb['menu_del_txt'] = 'Wollen Sie das Menü mit allen Untereinträgen löschen?'; $wb['item_del_txt'] = 'Wollen Sie den Menüeintrag löschen?'; ?> - diff --git a/interface/web/dns/dns_wizard.php b/interface/web/dns/dns_wizard.php index ad26c431d1..8ce27ea31b 100644 --- a/interface/web/dns/dns_wizard.php +++ b/interface/web/dns/dns_wizard.php @@ -195,6 +195,14 @@ if($_POST['create'] == 1) { if($_POST['ns1'] != '') $tpl_content = str_replace('{NS1}',$_POST['ns1'],$tpl_content); if($_POST['ns2'] != '') $tpl_content = str_replace('{NS2}',$_POST['ns2'],$tpl_content); if($_POST['email'] != '') $tpl_content = str_replace('{EMAIL}',$_POST['email'],$tpl_content); + if(isset($_POST['dkim']) && preg_match('/^[\w\.\-\/]{2,255}\.[a-zA-Z0-9\-]{2,30}[\.]{0,1}$/',$_POST['domain'])) { + $public_key=$app->db->queryOneRecord("SELECT dkim_public FROM mail_domain WHERE domain = '".$app->db->quote($_POST['domain'])."' AND dkim = 'y' AND ".$app->tform->getAuthSQL('r')); + if ($public_key!='') { + $dns_record=str_replace(array("\r\n", "\n", "\r","-----BEGIN PUBLIC KEY-----","-----END PUBLIC KEY-----"),'',$public_key['dkim_public']); + $tpl_content = str_replace('{DKIM}','TXT|default._domainkey.'.$_POST['domain'].'.|v=DKIM1; t=s; p='.$dns_record,$tpl_content); + } + } + // Parse the template $tpl_rows = explode("\n",$tpl_content); @@ -295,4 +303,4 @@ $app->tpl_defaults(); $app->tpl->pparse(); -?> \ No newline at end of file +?> diff --git a/interface/web/dns/form/dns_template.tform.php b/interface/web/dns/form/dns_template.tform.php index 1f020da04c..3822719358 100644 --- a/interface/web/dns/form/dns_template.tform.php +++ b/interface/web/dns/form/dns_template.tform.php @@ -74,7 +74,12 @@ $form["tabs"]['template'] = array ( 'formtype' => 'CHECKBOXARRAY', 'default' => '', 'separator' => ',', - 'value' => array('DOMAIN' => 'Domain','IP' => 'IP Address','NS1' => 'NS 1','NS2' => 'NS 2','EMAIL' => 'Email') + 'value' => array('DOMAIN' => 'Domain','IP' => 'IP Address','NS1' => 'NS 1','NS2' => 'NS 2','EMAIL' => 'Email', 'DKIM' => 'DKIM (use {DKIM}|0|3600 in your Template)'), + 'validators' => array ( 0 => array ('type' => 'CUSTOM', + 'class' => 'validate_dkim', + 'function' => 'check_template', + 'errmsg'=> 'dkim_domain_error'), + ), ), 'template' => array ( 'datatype' => 'TEXT', @@ -98,4 +103,4 @@ $form["tabs"]['template'] = array ( -?> \ No newline at end of file +?> diff --git a/interface/web/dns/lib/lang/de.lng b/interface/web/dns/lib/lang/de.lng index 65f6646fc4..822fcd6a79 100644 --- a/interface/web/dns/lib/lang/de.lng +++ b/interface/web/dns/lib/lang/de.lng @@ -20,4 +20,3 @@ $wb['Templates'] = 'Vorlagen'; $wb['Secondary Zones'] = 'Slave DNS-Zonen'; $wb['Import Zone File'] = 'Zonen-Datei-Import'; ?> - diff --git a/interface/web/dns/lib/lang/de_dns_a.lng b/interface/web/dns/lib/lang/de_dns_a.lng index dd809c3925..409864981a 100644 --- a/interface/web/dns/lib/lang/de_dns_a.lng +++ b/interface/web/dns/lib/lang/de_dns_a.lng @@ -14,4 +14,3 @@ $wb['data_error_empty'] = 'IPv4 Adresse ist leer'; $wb['data_error_regex'] = 'IPv4 Adressen Format ist ungültig'; $wb['data_error_duplicate'] = 'Doppelter A oder CNAME Eintrag'; ?> - diff --git a/interface/web/dns/lib/lang/de_dns_a_list.lng b/interface/web/dns/lib/lang/de_dns_a_list.lng index 0fc4419925..6e8f19509f 100644 --- a/interface/web/dns/lib/lang/de_dns_a_list.lng +++ b/interface/web/dns/lib/lang/de_dns_a_list.lng @@ -13,4 +13,3 @@ $wb['page_txt'] = 'Seite'; $wb['page_of_txt'] = 'von'; $wb['delete_confirmation'] = 'Wollen Sie den Datensatz wirklich löschen?'; ?> - diff --git a/interface/web/dns/lib/lang/de_dns_aaaa.lng b/interface/web/dns/lib/lang/de_dns_aaaa.lng index c2d0e35f51..854d623cff 100644 --- a/interface/web/dns/lib/lang/de_dns_aaaa.lng +++ b/interface/web/dns/lib/lang/de_dns_aaaa.lng @@ -13,4 +13,3 @@ $wb['name_error_regex'] = 'Der Hostname hat das falsche Format.'; $wb['data_error_empty'] = 'IPv6 Adresse ist leer'; $wb['data_error_regex'] = 'IPv6 Adressen Format ist ungültig'; ?> - diff --git a/interface/web/dns/lib/lang/de_dns_alias.lng b/interface/web/dns/lib/lang/de_dns_alias.lng index 48da14fcfe..e950909bb2 100644 --- a/interface/web/dns/lib/lang/de_dns_alias.lng +++ b/interface/web/dns/lib/lang/de_dns_alias.lng @@ -13,4 +13,3 @@ $wb['name_error_regex'] = 'Der Hostname hat ein falsches Format.'; $wb['data_error_empty'] = 'Ziel Hostname ist leer'; $wb['data_error_regex'] = 'Ziel Hostname Format ist ungültig'; ?> - diff --git a/interface/web/dns/lib/lang/de_dns_cname.lng b/interface/web/dns/lib/lang/de_dns_cname.lng index 48efdef90a..a074194853 100644 --- a/interface/web/dns/lib/lang/de_dns_cname.lng +++ b/interface/web/dns/lib/lang/de_dns_cname.lng @@ -14,4 +14,3 @@ $wb['data_error_empty'] = 'Ziel Hostname ist leer'; $wb['data_error_regex'] = 'Ziel Hostname Format ist ungültig'; $wb['data_error_duplicate'] = 'Doppelter A oder CNAME Eintrag'; ?> - diff --git a/interface/web/dns/lib/lang/de_dns_hinfo.lng b/interface/web/dns/lib/lang/de_dns_hinfo.lng index e0393c6be5..5fb182c982 100644 --- a/interface/web/dns/lib/lang/de_dns_hinfo.lng +++ b/interface/web/dns/lib/lang/de_dns_hinfo.lng @@ -13,4 +13,3 @@ $wb['name_error_regex'] = 'Der Hostname hat ein falsches Format.'; $wb['data_error_empty'] = 'Host Information ist leer'; $wb['data_error_regex'] = 'Host Information Format ist ungültig'; ?> - diff --git a/interface/web/dns/lib/lang/de_dns_import.lng b/interface/web/dns/lib/lang/de_dns_import.lng index e6ca3bb06c..183809de66 100644 --- a/interface/web/dns/lib/lang/de_dns_import.lng +++ b/interface/web/dns/lib/lang/de_dns_import.lng @@ -12,4 +12,3 @@ $wb['domain_field_desc_txt'] = 'Kann freigelassen werden, falls der Dateiname od $wb['title'] = 'Zonen Datei importieren'; $wb['no_file_uploaded_error'] = 'Keine Datei hochgeladen'; ?> - diff --git a/interface/web/dns/lib/lang/de_dns_mx.lng b/interface/web/dns/lib/lang/de_dns_mx.lng index 63f99c680e..4920806ad5 100644 --- a/interface/web/dns/lib/lang/de_dns_mx.lng +++ b/interface/web/dns/lib/lang/de_dns_mx.lng @@ -15,4 +15,3 @@ $wb['data_error_empty'] = 'Mailserver Hostname ist leer'; $wb['data_error_regex'] = 'Mailserver Hostname Format ist ungültig'; $wb['duplicate_mx_record_txt'] = 'Doppelter MX-Eintrag.'; ?> - diff --git a/interface/web/dns/lib/lang/de_dns_ns.lng b/interface/web/dns/lib/lang/de_dns_ns.lng index 0f61c16938..01662d2f8a 100644 --- a/interface/web/dns/lib/lang/de_dns_ns.lng +++ b/interface/web/dns/lib/lang/de_dns_ns.lng @@ -13,4 +13,3 @@ $wb['name_error_regex'] = 'Die Zone hat ein falsches Format.'; $wb['data_error_empty'] = 'Nameserver ist leer.'; $wb['data_error_regex'] = 'Nameserver Format ist ungültig.'; ?> - diff --git a/interface/web/dns/lib/lang/de_dns_ptr.lng b/interface/web/dns/lib/lang/de_dns_ptr.lng index 5ff80e3221..020c7a3286 100644 --- a/interface/web/dns/lib/lang/de_dns_ptr.lng +++ b/interface/web/dns/lib/lang/de_dns_ptr.lng @@ -13,4 +13,3 @@ $wb['name_error_regex'] = 'Der Name hat das falsche Format.'; $wb['data_error_empty'] = 'Kanonischer Hostname ist leer'; $wb['data_error_regex'] = 'Kanonischer Hostname Format ist ungültig'; ?> - diff --git a/interface/web/dns/lib/lang/de_dns_rp.lng b/interface/web/dns/lib/lang/de_dns_rp.lng index e7cd528500..8a398d4830 100644 --- a/interface/web/dns/lib/lang/de_dns_rp.lng +++ b/interface/web/dns/lib/lang/de_dns_rp.lng @@ -13,4 +13,3 @@ $wb['name_error_regex'] = 'Der Hostname hat das falsche Format.'; $wb['data_error_empty'] = 'Kontaktperson Feld leer'; $wb['data_error_regex'] = 'Kontaktperson Format ungültig'; ?> - diff --git a/interface/web/dns/lib/lang/de_dns_slave.lng b/interface/web/dns/lib/lang/de_dns_slave.lng index de3411ffa2..1b58088317 100644 --- a/interface/web/dns/lib/lang/de_dns_slave.lng +++ b/interface/web/dns/lib/lang/de_dns_slave.lng @@ -15,4 +15,3 @@ $wb['ns_error_regex'] = 'NS hat ein ungültiges Format.'; $wb['eg_domain_tld'] = 'Format: domain.tld.'; $wb['ipv4_form_txt'] = 'IPv4 Format: 1.2.3.4'; ?> - diff --git a/interface/web/dns/lib/lang/de_dns_slave_list.lng b/interface/web/dns/lib/lang/de_dns_slave_list.lng index 50b83693e7..dc60207d98 100644 --- a/interface/web/dns/lib/lang/de_dns_slave_list.lng +++ b/interface/web/dns/lib/lang/de_dns_slave_list.lng @@ -7,4 +7,3 @@ $wb['ns_txt'] = 'NS'; $wb['add_new_record_txt'] = 'Neue Slave DNS-Zone hinzufügen'; $wb['eg_domain_tld'] = 'Format: domain.tld.'; ?> - diff --git a/interface/web/dns/lib/lang/de_dns_soa.lng b/interface/web/dns/lib/lang/de_dns_soa.lng index 41570e2f09..8ff7141440 100644 --- a/interface/web/dns/lib/lang/de_dns_soa.lng +++ b/interface/web/dns/lib/lang/de_dns_soa.lng @@ -36,4 +36,3 @@ $wb['minimum_range_error'] = 'Min. Minimum ist 60 Sekunden.'; $wb['ttl_range_error'] = 'Min. TTL ist 60 Sekunden.'; $wb['xfer_error_regex'] = 'Bitte Beachten: Verwenden Sie eine IP Adresse.'; ?> - diff --git a/interface/web/dns/lib/lang/de_dns_soa_list.lng b/interface/web/dns/lib/lang/de_dns_soa_list.lng index a6df1ee4d2..8281fbd222 100644 --- a/interface/web/dns/lib/lang/de_dns_soa_list.lng +++ b/interface/web/dns/lib/lang/de_dns_soa_list.lng @@ -8,4 +8,3 @@ $wb['mbox_txt'] = 'E-Mail'; $wb['add_new_record_txt'] = 'Neue DNS Zone (SOA) hinzufügen'; $wb['add_new_record_wizard_txt'] = 'Neue DNS Zone per Assistent hinzufügen'; ?> - diff --git a/interface/web/dns/lib/lang/de_dns_srv.lng b/interface/web/dns/lib/lang/de_dns_srv.lng index 7dbeb8e812..91eba844a2 100644 --- a/interface/web/dns/lib/lang/de_dns_srv.lng +++ b/interface/web/dns/lib/lang/de_dns_srv.lng @@ -17,4 +17,3 @@ $wb['data_error_regex'] = 'Servereintrag-Format ungültig'; $wb['srv_error_regex'] = 'Ungültiges Server Record Format. Der ServerRecord muss 3 Text Strings getrennt durch Leerzeichen beinhalten.'; $wb['aux_txt'] = 'Priorität'; ?> - diff --git a/interface/web/dns/lib/lang/de_dns_template.lng b/interface/web/dns/lib/lang/de_dns_template.lng index 77cf996184..33d1090cba 100644 --- a/interface/web/dns/lib/lang/de_dns_template.lng +++ b/interface/web/dns/lib/lang/de_dns_template.lng @@ -4,4 +4,3 @@ $wb['fields_txt'] = 'Felder'; $wb['template_txt'] = 'Vorlage'; $wb['visible_txt'] = 'Sichtbar'; ?> - diff --git a/interface/web/dns/lib/lang/de_dns_template_list.lng b/interface/web/dns/lib/lang/de_dns_template_list.lng index 3557292fa3..a0f2d9a7d9 100644 --- a/interface/web/dns/lib/lang/de_dns_template_list.lng +++ b/interface/web/dns/lib/lang/de_dns_template_list.lng @@ -4,4 +4,3 @@ $wb['visible_txt'] = 'Sichtbar'; $wb['name_txt'] = 'Name'; $wb['add_new_record_txt'] = 'Neuen Eintrag hinzufügen'; ?> - diff --git a/interface/web/dns/lib/lang/de_dns_txt.lng b/interface/web/dns/lib/lang/de_dns_txt.lng index 39a5dbfeb9..c0638679a8 100644 --- a/interface/web/dns/lib/lang/de_dns_txt.lng +++ b/interface/web/dns/lib/lang/de_dns_txt.lng @@ -13,4 +13,3 @@ $wb['name_error_regex'] = 'Der Hostname hat das falsche Format.'; $wb['data_error_empty'] = 'Text ist leer'; $wb['data_error_regex'] = 'Textformat ungültig'; ?> - diff --git a/interface/web/dns/lib/lang/de_dns_wizard.lng b/interface/web/dns/lib/lang/de_dns_wizard.lng index 4b00991403..5a8158b16d 100644 --- a/interface/web/dns/lib/lang/de_dns_wizard.lng +++ b/interface/web/dns/lib/lang/de_dns_wizard.lng @@ -37,4 +37,3 @@ $wb['globalsearch_noresults_limit_txt'] = '0 Treffer'; $wb['globalsearch_searchfield_watermark_txt'] = 'Suche'; $wb['globalsearch_suggestions_text_txt'] = 'Vorschläge'; ?> - diff --git a/interface/web/dns/lib/lang/en_dns_wizard.lng b/interface/web/dns/lib/lang/en_dns_wizard.lng index f7057b45c7..860464c8a0 100644 --- a/interface/web/dns/lib/lang/en_dns_wizard.lng +++ b/interface/web/dns/lib/lang/en_dns_wizard.lng @@ -9,6 +9,7 @@ $wb["btn_save_txt"] = 'Create DNS-Record'; $wb["btn_cancel_txt"] = 'Cancel'; $wb['domain_txt'] = 'Domain'; $wb['email_txt'] = 'Email'; +$wb['dkim_txt'] = 'DKIM enabled'; $wb['ns1_txt'] = 'NS 1'; $wb['ns2_txt'] = 'NS 2'; $wb['ip_txt'] = 'IP Address'; diff --git a/interface/web/dns/templates/dns_a_list.htm b/interface/web/dns/templates/dns_a_list.htm index 549f0c345a..14a5689ae0 100644 --- a/interface/web/dns/templates/dns_a_list.htm +++ b/interface/web/dns/templates/dns_a_list.htm @@ -21,6 +21,7 @@ + diff --git a/interface/web/dns/templates/dns_wizard.htm b/interface/web/dns/templates/dns_wizard.htm index 849c5b4e15..da2c91815f 100644 --- a/interface/web/dns/templates/dns_wizard.htm +++ b/interface/web/dns/templates/dns_wizard.htm @@ -67,6 +67,11 @@ + + + + + diff --git a/interface/web/help/lib/lang/de.lng b/interface/web/help/lib/lang/de.lng index 606b4f0399..f9deb2066c 100644 --- a/interface/web/help/lib/lang/de.lng +++ b/interface/web/help/lib/lang/de.lng @@ -12,4 +12,3 @@ $wb['Manage Sections'] = 'Kategorien verwalten'; $wb['Add a Question & Answer Pair'] = 'Neues Frage/Antwort Paar hinzufügen'; $wb['Manage Questions'] = 'Fragen verwalten'; ?> - diff --git a/interface/web/help/lib/lang/de_faq_form.lng b/interface/web/help/lib/lang/de_faq_form.lng index 90c6a44379..35042fa128 100644 --- a/interface/web/help/lib/lang/de_faq_form.lng +++ b/interface/web/help/lib/lang/de_faq_form.lng @@ -4,4 +4,3 @@ $wb['faq_question_txt'] = 'Frage'; $wb['faq_answer_txt'] = 'Antwort'; $wb['faq_section_txt'] = 'Kategorie'; ?> - diff --git a/interface/web/help/lib/lang/de_faq_manage_questions_list.lng b/interface/web/help/lib/lang/de_faq_manage_questions_list.lng index f3be08c85c..b47a695890 100644 --- a/interface/web/help/lib/lang/de_faq_manage_questions_list.lng +++ b/interface/web/help/lib/lang/de_faq_manage_questions_list.lng @@ -7,4 +7,3 @@ $wb['faq_sections_txt'] = 'Kategorie'; $wb['faq_faq_questions_txt'] = 'Frequently Asked Questions'; $wb['faq_new_question_txt'] = 'Neues Frage/Antwort Paar hinzufügen'; ?> - diff --git a/interface/web/help/lib/lang/de_faq_sections_form.lng b/interface/web/help/lib/lang/de_faq_sections_form.lng index f9f7cd4225..873dab2c19 100644 --- a/interface/web/help/lib/lang/de_faq_sections_form.lng +++ b/interface/web/help/lib/lang/de_faq_sections_form.lng @@ -1,4 +1,3 @@ - diff --git a/interface/web/help/lib/lang/de_help_faq_list.lng b/interface/web/help/lib/lang/de_help_faq_list.lng index 66fd26c6b2..3a240f4035 100644 --- a/interface/web/help/lib/lang/de_help_faq_list.lng +++ b/interface/web/help/lib/lang/de_help_faq_list.lng @@ -1,4 +1,3 @@ - diff --git a/interface/web/help/lib/lang/de_help_faq_sections_list.lng b/interface/web/help/lib/lang/de_help_faq_sections_list.lng index 5d52ec8093..190f85a312 100644 --- a/interface/web/help/lib/lang/de_help_faq_sections_list.lng +++ b/interface/web/help/lib/lang/de_help_faq_sections_list.lng @@ -6,4 +6,3 @@ $wb['faq_sections_txt'] = 'Kategorie'; $wb['faq_faq_sections_txt'] = 'FAQ Kategorie'; $wb['faq_new_section_txt'] = 'Neue Kategorie hinzufügen'; ?> - diff --git a/interface/web/help/lib/lang/de_support_message.lng b/interface/web/help/lib/lang/de_support_message.lng index 48a66b92da..881b271440 100644 --- a/interface/web/help/lib/lang/de_support_message.lng +++ b/interface/web/help/lib/lang/de_support_message.lng @@ -13,4 +13,3 @@ $wb['answer_to_support_request_sent_txt'] = 'Ihre Antwort auf die Supportanfrage $wb['support_request_sent_txt'] = 'Ihre Supportanfrage ist verschickt worden. Bitte antworten Sie nicht auf diese E-Mail.'; $wb['recipient_or_sender_email_address_not_valid_txt'] = 'Die Nachricht konnte nicht verschickt werden, da die Empfänger- und/oder die Sender E-Mail-Adresse nicht gültig ist.'; ?> - diff --git a/interface/web/help/lib/lang/de_support_message_list.lng b/interface/web/help/lib/lang/de_support_message_list.lng index f6265d21d6..74fbeb2d7e 100644 --- a/interface/web/help/lib/lang/de_support_message_list.lng +++ b/interface/web/help/lib/lang/de_support_message_list.lng @@ -5,4 +5,3 @@ $wb['subject_txt'] = 'Betreff'; $wb['add_new_record_txt'] = 'Neue Supportnachricht erstellen'; $wb['date_txt'] = 'Datum'; ?> - diff --git a/interface/web/login/lib/lang/de.lng b/interface/web/login/lib/lang/de.lng index 744643bcfa..439fa021bd 100644 --- a/interface/web/login/lib/lang/de.lng +++ b/interface/web/login/lib/lang/de.lng @@ -23,4 +23,3 @@ $wb['error_maintenance_mode'] = 'Diese ISPConfig Installation wird gerade gewart $wb['theme_not_compatible'] = 'Das gewählte Design ist mit dieser ISPConfig Version nicht kompatibel. Bitte prüfen Sie, ob ein Update des Themes verfügbar ist.
Es wurde nun automatisch das Standard Design aktiviert.'; $wb['back_txt'] = 'Zurück'; ?> - diff --git a/interface/web/mail/form/mail_domain.tform.php b/interface/web/mail/form/mail_domain.tform.php index 506f934e38..caf48d50b3 100644 --- a/interface/web/mail/form/mail_domain.tform.php +++ b/interface/web/mail/form/mail_domain.tform.php @@ -98,6 +98,33 @@ $form["tabs"]['domain'] = array ( 'maxlength' => '255', 'searchable' => 1 ), + 'dkim' => array ( + 'datatype' => 'VARCHAR', + 'formtype' => 'CHECKBOX', + 'default' => 'n', + 'value' => array(0 => 'n',1 => 'y') + ), + 'dkim_private' => array ( + 'datatype' => 'TEXT', + 'formtype' => 'TEXTAREA', + 'default' => '', + 'value' => '', + 'cols' => '30', + 'rows' => '10', + 'validators' => array ( 0 => array ('type' => 'CUSTOM', + 'class' => 'validate_dkim', + 'function' => 'check_private_key', + 'errmsg'=> 'dkim_private_key_error'), + ), + ), + 'dkim_public' => array ( + 'datatype' => 'TEXT', + 'formtype' => 'TEXTAREA', + 'default' => '', + 'value' => '', + 'cols' => '30', + 'rows' => '10' + ), 'active' => array ( 'datatype' => 'VARCHAR', 'formtype' => 'CHECKBOX', @@ -111,4 +138,4 @@ $form["tabs"]['domain'] = array ( ); -?> \ No newline at end of file +?> diff --git a/interface/web/mail/form/mail_user.tform.php b/interface/web/mail/form/mail_user.tform.php index 5ec0cbce29..ddccdbf060 100644 --- a/interface/web/mail/form/mail_user.tform.php +++ b/interface/web/mail/form/mail_user.tform.php @@ -38,6 +38,8 @@ */ global $app; +$app->uses('getconf'); +$global_config = $app->getconf->get_global_config(); $form["title"] = "Mailbox"; $form["description"] = ""; @@ -230,115 +232,118 @@ $form["tabs"]['mailuser'] = array ( ) ); -$form["tabs"]['autoresponder'] = array ( - 'title' => "Autoresponder", - 'width' => 100, - 'template' => "templates/mail_user_autoresponder_edit.htm", - 'fields' => array ( - ################################## - # Begin Datatable fields - ################################## - 'autoresponder_subject' => array ( - 'datatype' => 'VARCHAR', - 'formtype' => 'TEXT', - 'default' => 'Out of office reply', - 'value' => '', - 'width' => '30', - 'maxlength' => '255' - ), - 'autoresponder_text' => array ( - 'datatype' => 'TEXT', - 'formtype' => 'TEXTAREA', - 'default' => '', - 'value' => '', - 'cols' => '30', - 'rows' => '15' - ), - 'autoresponder' => array ( - 'datatype' => 'VARCHAR', - 'formtype' => 'CHECKBOX', - 'default' => 'n', - 'value' => array(1 => 'y',0 => 'n') - ), - 'autoresponder_start_date' => array ( - 'datatype' => 'DATETIME', - 'formtype' => 'DATETIME', - 'validators'=> array ( 0 => array ( 'type' => 'CUSTOM', - 'class' => 'validate_autoresponder', - 'function' => 'start_date', - 'errmsg'=> 'autoresponder_start_date_is_required'), - ) - ), - 'autoresponder_end_date' => array ( - 'datatype' => 'DATETIME', - 'formtype' => 'DATETIME', - 'validators'=> array ( 0 => array ( 'type' => 'CUSTOM', - 'class' => 'validate_autoresponder', - 'function' => 'end_date', - 'errmsg'=> 'autoresponder_end_date_isgreater'), - ), - ), - ################################## - # END Datatable fields - ################################## - ) -); +if ($global_config['mail']['mailbox_show_autoresponder_tab'] === 'y') { + $form["tabs"]['autoresponder'] = array ( + 'title' => "Autoresponder", + 'width' => 100, + 'template' => "templates/mail_user_autoresponder_edit.htm", + 'fields' => array ( + ################################## + # Begin Datatable fields + ################################## + 'autoresponder_subject' => array ( + 'datatype' => 'VARCHAR', + 'formtype' => 'TEXT', + 'default' => 'Out of office reply', + 'value' => '', + 'width' => '30', + 'maxlength' => '255' + ), + 'autoresponder_text' => array ( + 'datatype' => 'TEXT', + 'formtype' => 'TEXTAREA', + 'default' => '', + 'value' => '', + 'cols' => '30', + 'rows' => '15' + ), + 'autoresponder' => array ( + 'datatype' => 'VARCHAR', + 'formtype' => 'CHECKBOX', + 'default' => 'n', + 'value' => array(1 => 'y',0 => 'n') + ), + 'autoresponder_start_date' => array ( + 'datatype' => 'DATETIME', + 'formtype' => 'DATETIME', + 'validators'=> array ( 0 => array ( 'type' => 'CUSTOM', + 'class' => 'validate_autoresponder', + 'function' => 'start_date', + 'errmsg'=> 'autoresponder_start_date_is_required'), + ) + ), + 'autoresponder_end_date' => array ( + 'datatype' => 'DATETIME', + 'formtype' => 'DATETIME', + 'validators'=> array ( 0 => array ( 'type' => 'CUSTOM', + 'class' => 'validate_autoresponder', + 'function' => 'end_date', + 'errmsg'=> 'autoresponder_end_date_isgreater'), + ), + ), + ################################## + # END Datatable fields + ################################## + ) + ); +} -$form["tabs"]['filter_records'] = array ( - 'title' => "Mail Filter", - 'width' => 100, - 'template' => "templates/mail_user_mailfilter_edit.htm", - 'fields' => array ( - ################################## - # Begin Datatable fields - ################################## - 'move_junk' => array ( - 'datatype' => 'VARCHAR', - 'formtype' => 'CHECKBOX', - 'default' => 'n', - 'value' => array(0 => 'n',1 => 'y') + +if ($global_config['mail']['mailbox_show_mail_filter_tab'] === 'y') { + $form["tabs"]['filter_records'] = array ( + 'title' => "Mail Filter", + 'width' => 100, + 'template' => "templates/mail_user_mailfilter_edit.htm", + 'fields' => array ( + ################################## + # Begin Datatable fields + ################################## + 'move_junk' => array ( + 'datatype' => 'VARCHAR', + 'formtype' => 'CHECKBOX', + 'default' => 'n', + 'value' => array(0 => 'n',1 => 'y') + ), + ################################## + # END Datatable fields + ################################## ), - ################################## - # END Datatable fields - ################################## - ), - 'plugins' => array ( - 'filter_records' => array ( - 'class' => 'plugin_listview', - 'options' => array( - 'listdef' => 'list/mail_user_filter.list.php', - 'sqlextwhere' => "mailuser_id = ".@$app->functions->intval(@$_REQUEST['id']), - 'sql_order_by' => "ORDER BY rulename" + 'plugins' => array ( + 'filter_records' => array ( + 'class' => 'plugin_listview', + 'options' => array( + 'listdef' => 'list/mail_user_filter.list.php', + 'sqlextwhere' => "mailuser_id = ".@$app->functions->intval(@$_REQUEST['id']), + 'sql_order_by' => "ORDER BY rulename" + ) ) - ) - ) -); + ) + ); +} -if($_SESSION["s"]["user"]["typ"] == 'admin') { - -$form["tabs"]['mailfilter'] = array ( - 'title' => "Custom Rules", - 'width' => 100, - 'template' => "templates/mail_user_custom_rules_edit.htm", - 'fields' => array ( - ################################## - # Begin Datatable fields - ################################## - 'custom_mailfilter' => array ( - 'datatype' => 'TEXT', - 'formtype' => 'TEXTAREA', - 'default' => '', - 'value' => '', - 'cols' => '30', - 'rows' => '15' - ), - ################################## - # END Datatable fields - ################################## - ) -); +if ($_SESSION["s"]["user"]["typ"] == 'admin' && $global_config['mail']['mailbox_show_custom_rules_tab'] === 'y') { + $form["tabs"]['mailfilter'] = array ( + 'title' => "Custom Rules", + 'width' => 100, + 'template' => "templates/mail_user_custom_rules_edit.htm", + 'fields' => array ( + ################################## + # Begin Datatable fields + ################################## + 'custom_mailfilter' => array ( + 'datatype' => 'TEXT', + 'formtype' => 'TEXTAREA', + 'default' => '', + 'value' => '', + 'cols' => '30', + 'rows' => '15' + ), + ################################## + # END Datatable fields + ################################## + ) + ); } - -?> \ No newline at end of file +?> diff --git a/interface/web/mail/lib/lang/de.lng b/interface/web/mail/lib/lang/de.lng index 12b6ba7045..91418972dd 100644 --- a/interface/web/mail/lib/lang/de.lng +++ b/interface/web/mail/lib/lang/de.lng @@ -46,4 +46,3 @@ $wb['Domain Alias'] = 'E-Mail Domain Alias'; $wb['Relay Recipients'] = 'Relay Empfänger'; $wb['Mailbox quota'] = 'E-Mail Konto Speichernutzung'; ?> - diff --git a/interface/web/mail/lib/lang/de_mail_alias.lng b/interface/web/mail/lib/lang/de_mail_alias.lng index 572c09a9c1..c11499effa 100644 --- a/interface/web/mail/lib/lang/de_mail_alias.lng +++ b/interface/web/mail/lib/lang/de_mail_alias.lng @@ -12,4 +12,3 @@ $wb['domain_txt'] = 'Domain'; $wb['duplicate_email_alias_txt'] = 'Dieser E-Mail Alias existiert bereits.'; $wb['source_txt'] = 'Alias'; ?> - diff --git a/interface/web/mail/lib/lang/de_mail_alias_list.lng b/interface/web/mail/lib/lang/de_mail_alias_list.lng index 7c0c1145ae..e741d02b3b 100644 --- a/interface/web/mail/lib/lang/de_mail_alias_list.lng +++ b/interface/web/mail/lib/lang/de_mail_alias_list.lng @@ -6,4 +6,3 @@ $wb['destination_txt'] = 'Ziel'; $wb['email_txt'] = 'E-Mail Adresse'; $wb['add_new_record_txt'] = 'Neuen E-Mail Alias hinzufügen'; ?> - diff --git a/interface/web/mail/lib/lang/de_mail_aliasdomain.lng b/interface/web/mail/lib/lang/de_mail_aliasdomain.lng index 38d775f444..f75bd1659c 100644 --- a/interface/web/mail/lib/lang/de_mail_aliasdomain.lng +++ b/interface/web/mail/lib/lang/de_mail_aliasdomain.lng @@ -9,4 +9,3 @@ $wb['source_error_empty'] = 'Quell Domain ist leer.'; $wb['source_error_unique'] = 'Quell Domain duplizieren.'; $wb['source_error_regex'] = 'Ungültiger Quell Domainname.'; ?> - diff --git a/interface/web/mail/lib/lang/de_mail_aliasdomain_list.lng b/interface/web/mail/lib/lang/de_mail_aliasdomain_list.lng index d7ae9aeaa1..c386d429bc 100644 --- a/interface/web/mail/lib/lang/de_mail_aliasdomain_list.lng +++ b/interface/web/mail/lib/lang/de_mail_aliasdomain_list.lng @@ -5,4 +5,3 @@ $wb['source_txt'] = 'Quelle'; $wb['destination_txt'] = 'Ziel'; $wb['add_new_record_txt'] = 'Neuen E-Mail Domain Alias hinzufügen'; ?> - diff --git a/interface/web/mail/lib/lang/de_mail_blacklist.lng b/interface/web/mail/lib/lang/de_mail_blacklist.lng index 474d1ad41a..4611dadd06 100644 --- a/interface/web/mail/lib/lang/de_mail_blacklist.lng +++ b/interface/web/mail/lib/lang/de_mail_blacklist.lng @@ -7,4 +7,3 @@ $wb['source_error_notempty'] = 'Adresse ist leer.'; $wb['type_txt'] = 'Typ'; $wb['limit_mailfilter_txt'] = 'Die maximale Anzahl an E-Mail Filter für Ihr Konto wurde erreicht.'; ?> - diff --git a/interface/web/mail/lib/lang/de_mail_blacklist_list.lng b/interface/web/mail/lib/lang/de_mail_blacklist_list.lng index 03b1b46e79..b169909112 100644 --- a/interface/web/mail/lib/lang/de_mail_blacklist_list.lng +++ b/interface/web/mail/lib/lang/de_mail_blacklist_list.lng @@ -8,4 +8,3 @@ $wb['recipient_txt'] = 'Empfänger'; $wb['add_new_record_txt'] = 'Neuen Blacklist Eintrag hinzufügen'; $wb['access_txt'] = 'Zugriff'; ?> - diff --git a/interface/web/mail/lib/lang/de_mail_content_filter.lng b/interface/web/mail/lib/lang/de_mail_content_filter.lng index 48348b20af..9ea5422498 100644 --- a/interface/web/mail/lib/lang/de_mail_content_filter.lng +++ b/interface/web/mail/lib/lang/de_mail_content_filter.lng @@ -7,4 +7,3 @@ $wb['action_txt'] = 'Aktion'; $wb['active_txt'] = 'Aktiv'; $wb['pattern_error_empty'] = 'Zeichenkette ist leer'; ?> - diff --git a/interface/web/mail/lib/lang/de_mail_content_filter_list.lng b/interface/web/mail/lib/lang/de_mail_content_filter_list.lng index 930f1e5378..126f23ce4e 100644 --- a/interface/web/mail/lib/lang/de_mail_content_filter_list.lng +++ b/interface/web/mail/lib/lang/de_mail_content_filter_list.lng @@ -6,4 +6,3 @@ $wb['pattern_txt'] = 'Zeichenkette'; $wb['action_txt'] = 'Aktion'; $wb['add_new_record_txt'] = 'Neuen Inhaltsfilter hinzufügen'; ?> - diff --git a/interface/web/mail/lib/lang/de_mail_domain.lng b/interface/web/mail/lib/lang/de_mail_domain.lng index ae0c822eb9..3d1b150565 100644 --- a/interface/web/mail/lib/lang/de_mail_domain.lng +++ b/interface/web/mail/lib/lang/de_mail_domain.lng @@ -17,4 +17,3 @@ $wb['limit_maildomain_txt'] = 'Die maximale Anzahl an E-Mail Domains für Ihr Ko $wb['policy_txt'] = 'Spamfilter'; $wb['no_policy'] = '- nicht aktiviert -'; ?> - diff --git a/interface/web/mail/lib/lang/de_mail_domain_admin_list.lng b/interface/web/mail/lib/lang/de_mail_domain_admin_list.lng index 3f5bde4e64..403bb90fee 100644 --- a/interface/web/mail/lib/lang/de_mail_domain_admin_list.lng +++ b/interface/web/mail/lib/lang/de_mail_domain_admin_list.lng @@ -6,4 +6,3 @@ $wb['add_new_record_txt'] = 'Neue Domain hinzufügen'; $wb['active_txt'] = 'Aktiv'; $wb['sys_groupid_txt'] = 'Kunde'; ?> - diff --git a/interface/web/mail/lib/lang/de_mail_domain_catchall.lng b/interface/web/mail/lib/lang/de_mail_domain_catchall.lng index 6c63bf26e9..9f37e56697 100644 --- a/interface/web/mail/lib/lang/de_mail_domain_catchall.lng +++ b/interface/web/mail/lib/lang/de_mail_domain_catchall.lng @@ -9,4 +9,3 @@ $wb['limit_mailcatchall_txt'] = 'Die maximale Anzahl an Catchall Einträgen für $wb['source_txt'] = 'Quelle'; $wb['destination_error_isemail'] = 'Das Ziel ist keine gültige E-Mail Adresse.'; ?> - diff --git a/interface/web/mail/lib/lang/de_mail_domain_catchall_list.lng b/interface/web/mail/lib/lang/de_mail_domain_catchall_list.lng index 7ce05d321b..558cb5c9f9 100644 --- a/interface/web/mail/lib/lang/de_mail_domain_catchall_list.lng +++ b/interface/web/mail/lib/lang/de_mail_domain_catchall_list.lng @@ -7,4 +7,3 @@ $wb['server_id_txt'] = 'Server'; $wb['domain_txt'] = 'Domain'; $wb['add_new_record_txt'] = 'Neuen Catchall hinzufügen'; ?> - diff --git a/interface/web/mail/lib/lang/de_mail_domain_list.lng b/interface/web/mail/lib/lang/de_mail_domain_list.lng index 3a7a393142..ff25a5817d 100644 --- a/interface/web/mail/lib/lang/de_mail_domain_list.lng +++ b/interface/web/mail/lib/lang/de_mail_domain_list.lng @@ -5,4 +5,3 @@ $wb['domain_txt'] = 'Domain'; $wb['add_new_record_txt'] = 'Neue Domain hinzufügen'; $wb['active_txt'] = 'Aktiv'; ?> - diff --git a/interface/web/mail/lib/lang/de_mail_forward.lng b/interface/web/mail/lib/lang/de_mail_forward.lng index 56a82afa6c..a392ac4e33 100644 --- a/interface/web/mail/lib/lang/de_mail_forward.lng +++ b/interface/web/mail/lib/lang/de_mail_forward.lng @@ -7,4 +7,3 @@ $wb['duplicate_mailbox_txt'] = 'Es existiert bereits ein E-Mail Konto mit dieser $wb['domain_txt'] = 'Domain'; $wb['source_txt'] = 'Quell E-Mail Adresse'; ?> - diff --git a/interface/web/mail/lib/lang/de_mail_forward_list.lng b/interface/web/mail/lib/lang/de_mail_forward_list.lng index 01b295061c..99b6ab5ea4 100644 --- a/interface/web/mail/lib/lang/de_mail_forward_list.lng +++ b/interface/web/mail/lib/lang/de_mail_forward_list.lng @@ -6,4 +6,3 @@ $wb['destination_txt'] = 'Ziel'; $wb['email_txt'] = 'E-Mail'; $wb['add_new_record_txt'] = 'Neue E-Mail Weiterleitung hinzufügen'; ?> - diff --git a/interface/web/mail/lib/lang/de_mail_get.lng b/interface/web/mail/lib/lang/de_mail_get.lng index 4100c3844b..fd4e10edfe 100644 --- a/interface/web/mail/lib/lang/de_mail_get.lng +++ b/interface/web/mail/lib/lang/de_mail_get.lng @@ -14,6 +14,5 @@ $wb['source_password_error_isempty'] = 'Passwort ist leer.'; $wb['destination_error_isemail'] = 'Kein Ziel gewählt.'; $wb['source_server_error_regex'] = 'POP3/IMAP Server ist kein gültiger Domainname.'; $wb['source_read_all_txt'] = 'Alle E-Mails abrufen (inkl. bereits gelesene E-Mails)'; -$wb['error_delete_read_all_combination'] = 'Unzulässige Kombination von Optionen. Sie können '; +$wb['error_delete_read_all_combination'] = 'Unzulässige Kombination von Optionen. Sie können \"E-Mails nach Empfang löschen\" = nein nicht zusammen mit \"Alle E-Mails abrufen (inkl. bereits gelesene E-Mails)\" = ja benutzen.'; ?> - diff --git a/interface/web/mail/lib/lang/de_mail_get_list.lng b/interface/web/mail/lib/lang/de_mail_get_list.lng index a0ee458e8a..d192358122 100644 --- a/interface/web/mail/lib/lang/de_mail_get_list.lng +++ b/interface/web/mail/lib/lang/de_mail_get_list.lng @@ -7,4 +7,3 @@ $wb['source_username_txt'] = 'Benutzername'; $wb['destination_txt'] = 'Ziel'; $wb['add_new_record_txt'] = 'Neues Konto hinzufügen'; ?> - diff --git a/interface/web/mail/lib/lang/de_mail_mailinglist.lng b/interface/web/mail/lib/lang/de_mail_mailinglist.lng index 04320e016b..1d143b690c 100644 --- a/interface/web/mail/lib/lang/de_mail_mailinglist.lng +++ b/interface/web/mail/lib/lang/de_mail_mailinglist.lng @@ -20,4 +20,3 @@ $wb['listname_error_unique'] = 'Es beseht bereits eine Mailingliste mit diesem N $wb['email_error_isemail'] = 'Die E-Mail Adresse ist falsch.'; $wb['mailinglist_txt'] = 'Mailingliste'; ?> - diff --git a/interface/web/mail/lib/lang/de_mail_mailinglist_list.lng b/interface/web/mail/lib/lang/de_mail_mailinglist_list.lng index c9959f0007..3eee785f26 100644 --- a/interface/web/mail/lib/lang/de_mail_mailinglist_list.lng +++ b/interface/web/mail/lib/lang/de_mail_mailinglist_list.lng @@ -3,4 +3,3 @@ $wb['list_head_txt'] = 'Mailinglisten'; $wb['domain_txt'] = 'Domain'; $wb['listname_txt'] = 'Listenname'; ?> - diff --git a/interface/web/mail/lib/lang/de_mail_relay_recipient.lng b/interface/web/mail/lib/lang/de_mail_relay_recipient.lng index 1ab7da86d1..37a2401071 100644 --- a/interface/web/mail/lib/lang/de_mail_relay_recipient.lng +++ b/interface/web/mail/lib/lang/de_mail_relay_recipient.lng @@ -7,4 +7,3 @@ $wb['source_error_notempty'] = 'Adresse ist leer.'; $wb['type_txt'] = 'Typ'; $wb['limit_mailfilter_txt'] = 'Die maximale Anzahl an E-Mail Filtern für Ihr Konto wurde erreicht.'; ?> - diff --git a/interface/web/mail/lib/lang/de_mail_relay_recipient_list.lng b/interface/web/mail/lib/lang/de_mail_relay_recipient_list.lng index ec6574a590..fc5d6f47c5 100644 --- a/interface/web/mail/lib/lang/de_mail_relay_recipient_list.lng +++ b/interface/web/mail/lib/lang/de_mail_relay_recipient_list.lng @@ -7,4 +7,3 @@ $wb['recipient_txt'] = 'Empfänger'; $wb['add_new_record_txt'] = 'Neuen Relay Empfänger hinzufügen'; $wb['access_txt'] = 'Zugriff'; ?> - diff --git a/interface/web/mail/lib/lang/de_mail_spamfilter.lng b/interface/web/mail/lib/lang/de_mail_spamfilter.lng index f8c0778674..b133a4129b 100644 --- a/interface/web/mail/lib/lang/de_mail_spamfilter.lng +++ b/interface/web/mail/lib/lang/de_mail_spamfilter.lng @@ -15,4 +15,3 @@ $wb['email_error_unique'] = 'Es existiert bereits ein Spamfilter Eintrag für di $wb['spam_redirect_maildir_purge_txt'] = 'Lösche E-Mail Verzeichnis nach'; $wb['days_txt'] = 'Tagen.'; ?> - diff --git a/interface/web/mail/lib/lang/de_mail_spamfilter_list.lng b/interface/web/mail/lib/lang/de_mail_spamfilter_list.lng index 7ccd9f5ffa..95c7d406a5 100644 --- a/interface/web/mail/lib/lang/de_mail_spamfilter_list.lng +++ b/interface/web/mail/lib/lang/de_mail_spamfilter_list.lng @@ -6,4 +6,3 @@ $wb['server_name_txt'] = 'Servername'; $wb['email_txt'] = 'E-Mail'; $wb['add_new_record_txt'] = 'Neuen Spamfilter Eintrag hinzufügen'; ?> - diff --git a/interface/web/mail/lib/lang/de_mail_transport.lng b/interface/web/mail/lib/lang/de_mail_transport.lng index 578afe8e79..873036f947 100644 --- a/interface/web/mail/lib/lang/de_mail_transport.lng +++ b/interface/web/mail/lib/lang/de_mail_transport.lng @@ -9,4 +9,3 @@ $wb['active_txt'] = 'Aktiv'; $wb['limit_mailrouting_txt'] = 'Die maximale Anzahl an E-Mail Routen für Ihr Konto wurde erreicht.'; $wb['transport_txt'] = 'Transport'; ?> - diff --git a/interface/web/mail/lib/lang/de_mail_transport_list.lng b/interface/web/mail/lib/lang/de_mail_transport_list.lng index 213b3d28ae..6c9f8656c4 100644 --- a/interface/web/mail/lib/lang/de_mail_transport_list.lng +++ b/interface/web/mail/lib/lang/de_mail_transport_list.lng @@ -7,4 +7,3 @@ $wb['transport_txt'] = 'Transport'; $wb['sort_order_txt'] = 'Sortiert nach'; $wb['add_new_record_txt'] = 'Neuen Transport hinzufügen'; ?> - diff --git a/interface/web/mail/lib/lang/de_mail_user.lng b/interface/web/mail/lib/lang/de_mail_user.lng index d97af7b3b4..87a55631f2 100644 --- a/interface/web/mail/lib/lang/de_mail_user.lng +++ b/interface/web/mail/lib/lang/de_mail_user.lng @@ -48,4 +48,3 @@ $wb['repeat_password_txt'] = 'Passwort wiederholen'; $wb['password_mismatch_txt'] = 'Die Passwörter stimmen nicht überein.'; $wb['password_match_txt'] = 'Die Passwörter stimmen überein.'; ?> - diff --git a/interface/web/mail/lib/lang/de_mail_user_filter.lng b/interface/web/mail/lib/lang/de_mail_user_filter.lng index 9a8d7dcd51..38c324eb8d 100644 --- a/interface/web/mail/lib/lang/de_mail_user_filter.lng +++ b/interface/web/mail/lib/lang/de_mail_user_filter.lng @@ -18,4 +18,3 @@ $wb['ends_with_txt'] = 'Endet mit'; $wb['move_to_txt'] = 'Verschieben nach'; $wb['delete_txt'] = 'Löschen'; ?> - diff --git a/interface/web/mail/lib/lang/de_mail_user_filter_list.lng b/interface/web/mail/lib/lang/de_mail_user_filter_list.lng index 695e404c82..003ed0e244 100644 --- a/interface/web/mail/lib/lang/de_mail_user_filter_list.lng +++ b/interface/web/mail/lib/lang/de_mail_user_filter_list.lng @@ -5,4 +5,3 @@ $wb['page_txt'] = 'Seite'; $wb['page_of_txt'] = 'von'; $wb['delete_confirmation'] = 'Wollen Sie den Filter wirklich löschen?'; ?> - diff --git a/interface/web/mail/lib/lang/de_mail_user_list.lng b/interface/web/mail/lib/lang/de_mail_user_list.lng index 50580a9469..a56fb6da14 100644 --- a/interface/web/mail/lib/lang/de_mail_user_list.lng +++ b/interface/web/mail/lib/lang/de_mail_user_list.lng @@ -6,4 +6,3 @@ $wb['add_new_record_txt'] = 'Neues E-Mail Konto hinzufügen'; $wb['name_txt'] = 'Realname'; $wb['login_txt'] = 'Anmelden'; ?> - diff --git a/interface/web/mail/lib/lang/de_mail_user_stats_list.lng b/interface/web/mail/lib/lang/de_mail_user_stats_list.lng index 3291ae4270..e9a1983946 100644 --- a/interface/web/mail/lib/lang/de_mail_user_stats_list.lng +++ b/interface/web/mail/lib/lang/de_mail_user_stats_list.lng @@ -6,4 +6,3 @@ $wb['last_month_txt'] = 'Vergangenes Monat'; $wb['this_year_txt'] = 'Aktuelles Jahr'; $wb['last_year_txt'] = 'Vergangenes Jahr'; ?> - diff --git a/interface/web/mail/lib/lang/de_mail_whitelist.lng b/interface/web/mail/lib/lang/de_mail_whitelist.lng index d09be9a48d..1506deba3f 100644 --- a/interface/web/mail/lib/lang/de_mail_whitelist.lng +++ b/interface/web/mail/lib/lang/de_mail_whitelist.lng @@ -7,4 +7,3 @@ $wb['source_error_notempty'] = 'E-Mail Adresse ist leer.'; $wb['type_txt'] = 'Typ'; $wb['limit_mailfilter_txt'] = 'Die maximale Anzahl an E-Mail Filtern für Ihr Konto wurde erreicht.'; ?> - diff --git a/interface/web/mail/lib/lang/de_mail_whitelist_list.lng b/interface/web/mail/lib/lang/de_mail_whitelist_list.lng index cf511a5654..bcd4ccb4e1 100644 --- a/interface/web/mail/lib/lang/de_mail_whitelist_list.lng +++ b/interface/web/mail/lib/lang/de_mail_whitelist_list.lng @@ -8,4 +8,3 @@ $wb['recipient_txt'] = 'Empfänger'; $wb['add_new_record_txt'] = 'Whitelist Eintrag hinzufügen'; $wb['access_txt'] = 'Zugriff'; ?> - diff --git a/interface/web/mail/lib/lang/de_spamfilter_blacklist.lng b/interface/web/mail/lib/lang/de_spamfilter_blacklist.lng index 9be7f067cf..1dd4c6e3fa 100644 --- a/interface/web/mail/lib/lang/de_spamfilter_blacklist.lng +++ b/interface/web/mail/lib/lang/de_spamfilter_blacklist.lng @@ -7,4 +7,3 @@ $wb['priority_txt'] = 'Priorität'; $wb['active_txt'] = 'Aktiv'; $wb['limit_spamfilter_wblist_txt'] = 'Die maximale Anzahl an White- oder Blacklist Einträgen für ihr Konto wurde erreicht.'; ?> - diff --git a/interface/web/mail/lib/lang/de_spamfilter_blacklist_list.lng b/interface/web/mail/lib/lang/de_spamfilter_blacklist_list.lng index a0fe0722c7..7ba623b657 100644 --- a/interface/web/mail/lib/lang/de_spamfilter_blacklist_list.lng +++ b/interface/web/mail/lib/lang/de_spamfilter_blacklist_list.lng @@ -7,4 +7,3 @@ $wb['rid_txt'] = 'Benutzer'; $wb['email_txt'] = 'Blacklisted E-Mail Adressen'; $wb['add_new_record_txt'] = 'Blacklist Eintrag hinzufügen'; ?> - diff --git a/interface/web/mail/lib/lang/de_spamfilter_config.lng b/interface/web/mail/lib/lang/de_spamfilter_config.lng index d00b2b15d0..2cf223259b 100644 --- a/interface/web/mail/lib/lang/de_spamfilter_config.lng +++ b/interface/web/mail/lib/lang/de_spamfilter_config.lng @@ -18,4 +18,3 @@ $wb['relayhost_password_txt'] = 'Relayhost Passwort'; $wb['mailbox_size_limit_txt'] = 'E-Mail Kontogrössenlimit'; $wb['message_size_limit_txt'] = 'Nachrichtengrössenlimit'; ?> - diff --git a/interface/web/mail/lib/lang/de_spamfilter_config_list.lng b/interface/web/mail/lib/lang/de_spamfilter_config_list.lng index 579d3155de..db92a4bd07 100644 --- a/interface/web/mail/lib/lang/de_spamfilter_config_list.lng +++ b/interface/web/mail/lib/lang/de_spamfilter_config_list.lng @@ -3,4 +3,3 @@ $wb['list_head_txt'] = 'Serverkonfiguration'; $wb['server_name_txt'] = 'Server'; $wb['server_id_txt'] = 'Server ID'; ?> - diff --git a/interface/web/mail/lib/lang/de_spamfilter_policy.lng b/interface/web/mail/lib/lang/de_spamfilter_policy.lng index 60f8b86acd..32acca4686 100644 --- a/interface/web/mail/lib/lang/de_spamfilter_policy.lng +++ b/interface/web/mail/lib/lang/de_spamfilter_policy.lng @@ -36,4 +36,3 @@ $wb['spam_admin_txt'] = 'SPAM Administrator'; $wb['message_size_limit_txt'] = 'Nachrichtengrößen Limit'; $wb['banned_rulenames_txt'] = 'Banned Richtliniennamen'; ?> - diff --git a/interface/web/mail/lib/lang/de_spamfilter_policy_list.lng b/interface/web/mail/lib/lang/de_spamfilter_policy_list.lng index 02083ef5d1..b5ec8e98c2 100644 --- a/interface/web/mail/lib/lang/de_spamfilter_policy_list.lng +++ b/interface/web/mail/lib/lang/de_spamfilter_policy_list.lng @@ -7,4 +7,3 @@ $wb['banned_files_lover_txt'] = 'Gesperrte Dateien Liebhaber'; $wb['bad_header_lover_txt'] = 'Ungültige Header Liebhaber'; $wb['add_new_record_txt'] = 'Richtlinien Eintrag hinzufügen'; ?> - diff --git a/interface/web/mail/lib/lang/de_spamfilter_users.lng b/interface/web/mail/lib/lang/de_spamfilter_users.lng index cf9f0cd221..b7f6cd496b 100644 --- a/interface/web/mail/lib/lang/de_spamfilter_users.lng +++ b/interface/web/mail/lib/lang/de_spamfilter_users.lng @@ -8,4 +8,3 @@ $wb['local_txt'] = 'Lokal'; $wb['email_error_notempty'] = 'Die E-Mail-Adresse darf nicht leer sein.'; $wb['fullname_error_notempty'] = 'Der Name darf nicht leer sein.'; ?> - diff --git a/interface/web/mail/lib/lang/de_spamfilter_users_list.lng b/interface/web/mail/lib/lang/de_spamfilter_users_list.lng index 89a5983289..8e53193f70 100644 --- a/interface/web/mail/lib/lang/de_spamfilter_users_list.lng +++ b/interface/web/mail/lib/lang/de_spamfilter_users_list.lng @@ -8,4 +8,3 @@ $wb['fullname_txt'] = 'Name'; $wb['email_txt'] = 'E-Mail Adresse'; $wb['add_new_record_txt'] = 'Spamfilterbenutzer hinzufügen'; ?> - diff --git a/interface/web/mail/lib/lang/de_spamfilter_whitelist.lng b/interface/web/mail/lib/lang/de_spamfilter_whitelist.lng index bb8278189d..d388432c66 100644 --- a/interface/web/mail/lib/lang/de_spamfilter_whitelist.lng +++ b/interface/web/mail/lib/lang/de_spamfilter_whitelist.lng @@ -7,4 +7,3 @@ $wb['priority_txt'] = 'Priorität'; $wb['active_txt'] = 'Aktiv'; $wb['limit_spamfilter_wblist_txt'] = 'Die maximale Anzahl an White- oder Blacklist Einträgen für Ihr Konto wurde erreicht.'; ?> - diff --git a/interface/web/mail/lib/lang/de_spamfilter_whitelist_list.lng b/interface/web/mail/lib/lang/de_spamfilter_whitelist_list.lng index ed8a220898..4d7769d2aa 100644 --- a/interface/web/mail/lib/lang/de_spamfilter_whitelist_list.lng +++ b/interface/web/mail/lib/lang/de_spamfilter_whitelist_list.lng @@ -7,4 +7,3 @@ $wb['rid_txt'] = 'Benutzer'; $wb['email_txt'] = 'Whitelisted E-Mail Adresse'; $wb['add_new_record_txt'] = 'Whitelist Eintrag hinzufügen'; ?> - diff --git a/interface/web/mail/lib/lang/de_user_quota_stats_list.lng b/interface/web/mail/lib/lang/de_user_quota_stats_list.lng index 372c7b37fe..beb9c18eb9 100755 --- a/interface/web/mail/lib/lang/de_user_quota_stats_list.lng +++ b/interface/web/mail/lib/lang/de_user_quota_stats_list.lng @@ -6,4 +6,3 @@ $wb['email_txt'] = 'E-Mail Adresse'; $wb['used_txt'] = 'Verbrauchter Speicherplatz'; $wb['percentage_txt'] = 'Verbraucht in %'; ?> - diff --git a/interface/web/mail/lib/lang/en_mail_domain.lng b/interface/web/mail/lib/lang/en_mail_domain.lng index ad93100696..8d33cc0a63 100644 --- a/interface/web/mail/lib/lang/en_mail_domain.lng +++ b/interface/web/mail/lib/lang/en_mail_domain.lng @@ -3,11 +3,18 @@ $wb["server_id_txt"] = 'Server'; $wb["domain_txt"] = 'Domain'; $wb["type_txt"] = 'Type'; $wb["active_txt"] = 'Active'; +$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)

add this record to your DNS'; +$wb["dkim_private_key_error"] = 'Invalid DKIM-Private key'; $wb["domain_error_empty"] = 'Domain is empty.'; $wb["domain_error_unique"] = 'Duplicate Domain.'; $wb["domain_error_regex"] = 'Invalid domain name.'; +$wb["dkim_settings_txt"] = 'DomainKeys Identified Mail (DKIM)'; $wb["client_txt"] = 'Client'; $wb["limit_maildomain_txt"] = 'The max. number of email domains for your account is reached.'; $wb["policy_txt"] = 'Spamfilter'; $wb["no_policy"] = '- not enabled -'; -?> \ No newline at end of file +?> diff --git a/interface/web/mailuser/lib/lang/de.lng b/interface/web/mailuser/lib/lang/de.lng index 7a40aa419a..b373d456a0 100644 --- a/interface/web/mailuser/lib/lang/de.lng +++ b/interface/web/mailuser/lib/lang/de.lng @@ -7,4 +7,3 @@ $wb['Send copy'] = 'Kopie senden an'; $wb['Spamfilter'] = 'Spamfilter'; $wb['Email Filters'] = 'E-Mailfilter'; ?> - diff --git a/interface/web/mailuser/lib/lang/de_index.lng b/interface/web/mailuser/lib/lang/de_index.lng index d8eec65c23..522ddbc8db 100644 --- a/interface/web/mailuser/lib/lang/de_index.lng +++ b/interface/web/mailuser/lib/lang/de_index.lng @@ -10,4 +10,3 @@ $wb['unlimited_txt'] = 'Unlimitiert'; $wb['mb_txt'] = 'MB'; $wb['none_txt'] = 'Niemanden'; ?> - diff --git a/interface/web/mailuser/lib/lang/de_mail_user_autoresponder.lng b/interface/web/mailuser/lib/lang/de_mail_user_autoresponder.lng index ce28da041f..f8d4e46b12 100644 --- a/interface/web/mailuser/lib/lang/de_mail_user_autoresponder.lng +++ b/interface/web/mailuser/lib/lang/de_mail_user_autoresponder.lng @@ -11,4 +11,3 @@ $wb['autoresponder_active'] = 'Autoresponder aktivieren'; $wb['now_txt'] = 'Jetzt'; $wb['autoresponder_subject_txt'] = 'Betreff'; ?> - diff --git a/interface/web/mailuser/lib/lang/de_mail_user_cc.lng b/interface/web/mailuser/lib/lang/de_mail_user_cc.lng index 6292bb5745..b85077ea7c 100644 --- a/interface/web/mailuser/lib/lang/de_mail_user_cc.lng +++ b/interface/web/mailuser/lib/lang/de_mail_user_cc.lng @@ -5,4 +5,3 @@ $wb['email_txt'] = 'E-Mail'; $wb['cc_error_isemail'] = 'E-Mail Adresse ungültig im -Kopie senden an- Feld'; $wb['email_is_cc_error'] = 'E-Mail Adresse und '; ?> - diff --git a/interface/web/mailuser/lib/lang/de_mail_user_filter.lng b/interface/web/mailuser/lib/lang/de_mail_user_filter.lng index 53cd51e16a..fd93e64658 100644 --- a/interface/web/mailuser/lib/lang/de_mail_user_filter.lng +++ b/interface/web/mailuser/lib/lang/de_mail_user_filter.lng @@ -18,4 +18,3 @@ $wb['ends_with_txt'] = 'Endet mit'; $wb['move_to_txt'] = 'Verschieben nach'; $wb['delete_txt'] = 'Löschen'; ?> - diff --git a/interface/web/mailuser/lib/lang/de_mail_user_filter_list.lng b/interface/web/mailuser/lib/lang/de_mail_user_filter_list.lng index a0b80bdb0d..9abd40d7e3 100644 --- a/interface/web/mailuser/lib/lang/de_mail_user_filter_list.lng +++ b/interface/web/mailuser/lib/lang/de_mail_user_filter_list.lng @@ -6,4 +6,3 @@ $wb['page_txt'] = 'Seite'; $wb['page_of_txt'] = 'von'; $wb['delete_confirmation'] = 'Möchten Sie die E-Mailfilter Regel wirklich löschen?'; ?> - diff --git a/interface/web/mailuser/lib/lang/de_mail_user_password.lng b/interface/web/mailuser/lib/lang/de_mail_user_password.lng index 062ba6b22f..5e5fe5e933 100644 --- a/interface/web/mailuser/lib/lang/de_mail_user_password.lng +++ b/interface/web/mailuser/lib/lang/de_mail_user_password.lng @@ -8,4 +8,3 @@ $wb['repeat_password_txt'] = 'Passwort wiederholen'; $wb['password_mismatch_txt'] = 'Die Passwörter stimmen nicht überein.'; $wb['password_match_txt'] = 'Die Passwörter stimmen überein.'; ?> - diff --git a/interface/web/mailuser/lib/lang/de_mail_user_spamfilter.lng b/interface/web/mailuser/lib/lang/de_mail_user_spamfilter.lng index 019679a829..47ac53a006 100644 --- a/interface/web/mailuser/lib/lang/de_mail_user_spamfilter.lng +++ b/interface/web/mailuser/lib/lang/de_mail_user_spamfilter.lng @@ -5,4 +5,3 @@ $wb['email_txt'] = 'E-Mail'; $wb['no_policy'] = '- nicht aktiviert -'; $wb['policy_txt'] = 'Richtlinie'; ?> - diff --git a/interface/web/monitor/lib/lang/de.lng b/interface/web/monitor/lib/lang/de.lng index 304ac73331..a46050ee49 100644 --- a/interface/web/monitor/lib/lang/de.lng +++ b/interface/web/monitor/lib/lang/de.lng @@ -122,6 +122,7 @@ $wb['monitor_services_smtp_txt'] = 'SMTP Server:'; $wb['monitor_services_pop_txt'] = 'POP3 Server:'; $wb['monitor_services_imap_txt'] = 'IMAP Server:'; $wb['monitor_services_mydns_txt'] = 'DNS Server:'; +$wb['monitor_services_mongodb_txt'] = 'MongoDB Server:'; $wb['monitor_services_mysql_txt'] = 'MySQL Server:'; $wb['monitor_settings_datafromdate_txt'] = 'Daten vom: '; $wb['monitor_settings_datetimeformat_txt'] = 'd.m.Y H:i'; @@ -134,6 +135,7 @@ $wb['monitor_title_raidstate_txt'] = 'RAID Status'; $wb['monitor_title_rkhunterlog_txt'] = 'RKHunter Protokoll'; $wb['monitor_updates_nosupport_txt'] = 'Ihre Distribution wird für die Überwachung nicht unterstützt'; $wb['monitor_title_fail2ban_txt'] = 'Fail2Ban Protokoll'; +$wb['monitor_title_mongodb_txt'] = 'MongoDB Protokoll'; $wb['monitor_nosupportedraid1_txt'] = 'At the moment, we support mdadm or mpt-status for monitoring the RAID.
We cant find any of them at your server.

This means we can not support your RAID yet.'; $wb['monitor_serverstate_beancounterok_txt'] = 'The beancounter is ok'; $wb['monitor_serverstate_beancounterinfo_txt'] = 'There are vew failure in the beancounter'; @@ -144,6 +146,7 @@ $wb['monitor_title_beancounter_txt'] = 'OpenVz VE BeanCounter'; $wb['monitor_beancounter_nosupport_txt'] = 'This server is not a OpenVz VE and has no beancounter information'; $wb['monitor_title_iptables_txt'] = 'IPTables Regeln'; $wb['Show fail2ban-Log'] = 'Fail2ban Protokoll anzeigen'; +$wb['Show MongoDB-Log'] = 'MongoDB Protokoll anzeigen'; $wb['Show IPTables'] = 'IPTables anzeigen'; $wb['Show OpenVz VE BeanCounter'] = 'OpenVz VE BeanCounter anzeigen'; $wb['Show Monit'] = 'Monit anzeigen'; @@ -153,4 +156,3 @@ $wb['Show Munin'] = 'Munin anzeigen'; $wb['no_munin_url_defined_txt'] = 'Keine Munin-URL definiert.'; $wb['no_permissions_to_view_munin_txt'] = 'Sie haben nicht die Berechtigung, auf Munin zuzugreifen.'; ?> - diff --git a/interface/web/monitor/lib/lang/de_datalog_list.lng b/interface/web/monitor/lib/lang/de_datalog_list.lng index 8939cab064..0b6bf9a4bb 100644 --- a/interface/web/monitor/lib/lang/de_datalog_list.lng +++ b/interface/web/monitor/lib/lang/de_datalog_list.lng @@ -6,4 +6,3 @@ $wb['dbtable_txt'] = 'Datenbanktabelle'; $wb['action_txt'] = 'Aktion'; $wb['status_txt'] = 'Status'; ?> - diff --git a/interface/web/monitor/lib/lang/en.lng b/interface/web/monitor/lib/lang/en.lng index 755ea317a0..aa6472e580 100644 --- a/interface/web/monitor/lib/lang/en.lng +++ b/interface/web/monitor/lib/lang/en.lng @@ -47,6 +47,7 @@ $wb['Show ISPConfig-Log'] = 'Show ISPConfig-Log'; $wb['Show RKHunter-Log'] = 'Show RKHunter-Log'; $wb['Show Jobqueue'] = 'Show Jobqueue'; $wb['Show fail2ban-Log'] = 'Show fail2ban-Log'; +$wb['Show MongoDB-Log'] = 'Show MongoDB-Log'; $wb['Show IPTables'] = 'Show IPTables'; $wb['Show OpenVz VE BeanCounter'] = 'Show OpenVz VE BeanCounter'; $wb['monitor_general_serverstate_txt'] = 'Server State'; @@ -136,6 +137,7 @@ $wb['monitor_services_smtp_txt'] = 'SMTP-Server:'; $wb['monitor_services_pop_txt'] = 'POP3-Server:'; $wb['monitor_services_imap_txt'] = 'IMAP-Server:'; $wb['monitor_services_mydns_txt'] = 'DNS-Server:'; +$wb['monitor_services_mongodb_txt'] = 'MongoDB-Server:'; $wb['monitor_services_mysql_txt'] = 'mySQL-Server:'; $wb['monitor_settings_datafromdate_txt'] = 'Data from: '; $wb['monitor_settings_datetimeformat_txt'] = 'Y-m-d H:i'; @@ -147,6 +149,7 @@ $wb['monitor_title_mailq_txt'] = 'Mail Queue'; $wb['monitor_title_raidstate_txt'] = 'RAID Status'; $wb['monitor_title_rkhunterlog_txt'] = 'RKHunter Log'; $wb['monitor_title_fail2ban_txt'] = 'Fail2Ban Log'; +$wb['monitor_title_mongodb_txt'] = 'MongoDB Log'; $wb['monitor_title_iptables_txt'] = 'IPTables Rules'; $wb['monitor_title_beancounter_txt'] = 'OpenVz VE BeanCounter'; $wb['monitor_updates_nosupport_txt'] = 'Your distribution is not supported for this monitoring'; diff --git a/interface/web/monitor/lib/module.conf.php b/interface/web/monitor/lib/module.conf.php index e1774139d0..ca68ade867 100644 --- a/interface/web/monitor/lib/module.conf.php +++ b/interface/web/monitor/lib/module.conf.php @@ -195,6 +195,11 @@ $items[] = array( 'title' => "Show fail2ban-Log", 'link' => 'monitor/show_data.php?type=fail2ban', 'html_id' => 'fai2ban'); +$items[] = array( 'title' => "Show MongoDB-Log", + 'target' => 'content', + 'link' => 'monitor/show_data.php?type=mongodb', + 'html_id' => 'mongodb'); + $items[] = array( 'title' => "Show IPTables", 'target' => 'content', 'link' => 'monitor/show_data.php?type=iptables', diff --git a/interface/web/monitor/show_data.php b/interface/web/monitor/show_data.php index 1e85d90504..42f4766485 100644 --- a/interface/web/monitor/show_data.php +++ b/interface/web/monitor/show_data.php @@ -131,6 +131,13 @@ switch($dataType) { $title = $app->lng("monitor_title_fail2ban_txt") . ' (' . $monTransSrv . ' : ' . $_SESSION['monitor']['server_name'] . ')'; $description = ''; break; + case 'mongodb': + $template = 'templates/show_data.htm'; + $output .= $app->tools_monitor->showMongoDB(); + $time = $app->tools_monitor->getDataTime('log_mongodb'); + $title = $app->lng("monitor_title_mongodb_txt") . ' (' . $monTransSrv . ' : ' . $_SESSION['monitor']['server_name'] . ')'; + $description = ''; + break; case 'iptables': $template = 'templates/show_data.htm'; $output .= $app->tools_monitor->showIPTables(); diff --git a/interface/web/monitor/show_log.php b/interface/web/monitor/show_log.php index ec10a982b1..cb9e4c1074 100644 --- a/interface/web/monitor/show_log.php +++ b/interface/web/monitor/show_log.php @@ -125,7 +125,20 @@ $record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE t if(isset($record['data'])) { $data = unserialize($record['data']); - $logData = nl2br(htmlspecialchars($data)); + $logData = explode("\n", htmlspecialchars($data)); + $logDataHtml = ''; + /* set css class for each line of log, depending on key words in each line */ + foreach($logData as $val) { + if (strpos($val, 'ERROR') !== FALSE) { + $logDataHtml .= "
$val
"; + } elseif (strpos($val, 'WARN') !== FALSE) { + $logDataHtml .= "
$val
"; + } elseif (strpos($val, 'INFO') !== FALSE) { + $logDataHtml .= "
$val
"; + } else { + $logDataHtml .= "
$val
"; + } + } $app->tpl->setVar("log_data", $logData); } else { diff --git a/interface/web/sites/aps_installedpackages_list.php b/interface/web/sites/aps_installedpackages_list.php index 00d7b258b1..f1c43b0182 100644 --- a/interface/web/sites/aps_installedpackages_list.php +++ b/interface/web/sites/aps_installedpackages_list.php @@ -139,4 +139,4 @@ if(is_array($records)) $app->tpl->setLoop('records', $records_new); $app->listform_actions->onShow(); -?> \ No newline at end of file +?> diff --git a/interface/web/sites/database_user_edit.php b/interface/web/sites/database_user_edit.php index 1b71196f69..4f6979fc4e 100644 --- a/interface/web/sites/database_user_edit.php +++ b/interface/web/sites/database_user_edit.php @@ -57,17 +57,17 @@ class page_action extends tform_actions { * If the names are restricted -> remove the restriction, so that the * data can be edited */ - + //* Get the database user prefix $app->uses('getconf,tools_sites'); $global_config = $app->getconf->get_global_config('sites'); $dbuser_prefix = $app->tools_sites->replacePrefix($global_config['dbuser_prefix'], $this->dataRecord); - + if ($_SESSION["s"]["user"]["typ"] != 'admin' && $app->auth->has_clients($_SESSION['s']['user']['userid'])) { // Get the limits of the client $client_group_id = $_SESSION["s"]["user"]["default_group"]; $client = $app->db->queryOneRecord("SELECT client.company_name, client.contact_name, client.client_id FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id"); - + // Fill the client select field $sql = "SELECT sys_group.groupid, sys_group.name, CONCAT(IF(client.company_name != '', CONCAT(client.company_name, ' :: '), ''), client.contact_name, ' (', client.username, IF(client.customer_no != '', CONCAT(', ', client.customer_no), ''), ')') as contactname FROM sys_group, client WHERE sys_group.client_id = client.client_id AND client.parent_client_id = ".$client['client_id']." ORDER BY sys_group.name"; $records = $app->db->queryAllRecords($sql); @@ -96,24 +96,24 @@ class page_action extends tform_actions { } $app->tpl->setVar("client_group_id",$client_select); } - - + + if ($this->dataRecord['database_user'] != ""){ /* REMOVE the restriction */ $app->tpl->setVar("database_user", $app->tools_sites->removePrefix($this->dataRecord['database_user'], $this->dataRecord['database_user_prefix'], $dbuser_prefix)); } - - + + $app->tpl->setVar("database_user_prefix", $app->tools_sites->getPrefix($this->dataRecord['database_user_prefix'], $dbuser_prefix, $global_config['dbuser_prefix'])); - + parent::onShowEnd(); } - + function onSubmit() { global $app; - + if($_SESSION['s']['user']['typ'] != 'admin' && !$app->auth->has_clients($_SESSION['s']['user']['userid'])) unset($this->dataRecord["client_group_id"]); - + parent::onSubmit(); } @@ -126,35 +126,40 @@ class page_action extends tform_actions { $dbuser_prefix = $app->tools_sites->replacePrefix($global_config['dbuser_prefix'], $this->dataRecord); $this->oldDataRecord = $app->db->queryOneRecord("SELECT * FROM web_database_user WHERE database_user_id = '".$this->id."'"); - + $dbuser_prefix = $app->tools_sites->getPrefix($this->oldDataRecord['database_user_prefix'], $dbuser_prefix); $this->dataRecord['database_user_prefix'] = $dbuser_prefix; - + //* Database username shall not be empty if($this->dataRecord['database_user'] == '') $app->tform->errorMessage .= $app->tform->wordbook["database_user_error_empty"].'
'; if(strlen($dbuser_prefix . $this->dataRecord['database_user']) > 16) $app->tform->errorMessage .= str_replace('{user}',$dbuser_prefix . $this->dataRecord['database_user'],$app->tform->wordbook["database_user_error_len"]).'
'; - + //* Check database user against blacklist $dbuser_blacklist = array($conf['db_user'],'mysql','root'); if(in_array($dbuser_prefix . $this->dataRecord['database_user'],$dbuser_blacklist)) { $app->tform->errorMessage .= $app->lng('Database user not allowed.').'
'; } - + if ($app->tform->errorMessage == ''){ /* restrict the names if there is no error */ /* crop user and db names if they are too long -> mysql: user: 16 chars / db: 64 chars */ $this->dataRecord['database_user'] = substr($dbuser_prefix . $this->dataRecord['database_user'], 0, 16); } - + + /* prepare password for MongoDB */ + // TODO: this still doens't work as when only the username changes we have no database_password. + // taking the one from oldData doesn't work as it's encrypted...shit! + $this->dataRecord['database_password_mongo'] = $this->dataRecord['database_user'].":mongo:".$this->dataRecord['database_password']; + $this->dataRecord['server_id'] = 0; // we need this on all servers - + parent::onBeforeUpdate(); } function onBeforeInsert() { global $app, $conf, $interfaceConf; - + //* Database username shall not be empty if($this->dataRecord['database_user'] == '') $app->tform->errorMessage .= $app->tform->wordbook["database_user_error_empty"].'
'; @@ -162,11 +167,11 @@ class page_action extends tform_actions { $app->uses('getconf,tools_sites'); $global_config = $app->getconf->get_global_config('sites'); $dbuser_prefix = $app->tools_sites->replacePrefix($global_config['dbuser_prefix'], $this->dataRecord); - + $this->dataRecord['database_user_prefix'] = $dbuser_prefix; - + if(strlen($dbuser_prefix . $this->dataRecord['database_user']) > 16) $app->tform->errorMessage .= str_replace('{user}',$dbuser_prefix . $this->dataRecord['database_user'],$app->tform->wordbook["database_user_error_len"]).'
'; - + //* Check database user against blacklist $dbuser_blacklist = array($conf['db_user'],'mysql','root'); if(is_array($dbuser_blacklist) && in_array($dbuser_prefix . $this->dataRecord['database_user'],$dbuser_blacklist)) { @@ -178,15 +183,18 @@ class page_action extends tform_actions { if ($app->tform->errorMessage == ''){ $this->dataRecord['database_user'] = substr($dbuser_prefix . $this->dataRecord['database_user'], 0, 16); } - - $this->dataRecord['server_id'] = 0; // we need this on all servers - + + $this->dataRecord['server_id'] = 0; // we need this on all servers + + /* prepare password for MongoDB */ + $this->dataRecord['database_password_mongo'] = $this->dataRecord['database_user'].":mongo:".$this->dataRecord['database_password']; + parent::onBeforeInsert(); } function onAfterInsert() { global $app, $conf; - + if($_SESSION["s"]["user"]["typ"] == 'admin' && isset($this->dataRecord["client_group_id"])) { $client_group_id = $app->functions->intval($this->dataRecord["client_group_id"]); $app->db->query("UPDATE web_database_user SET sys_groupid = $client_group_id, sys_perm_group = 'riud' WHERE database_user_id = ".$this->id); @@ -208,9 +216,9 @@ class page_action extends tform_actions { $client_group_id = $app->functions->intval($this->dataRecord["client_group_id"]); $app->db->query("UPDATE web_database_user SET sys_groupid = $client_group_id, sys_perm_group = 'riud' WHERE database_user_id = ".$this->id); } - + /*$password = $app->db->queryOneRecord("SELECT database_password FROM web_database_user WHERE database_user_id = ".$this->id); - + $records = $app->db->queryAllRecords("SELECT DISTINCT server_id FROM web_database WHERE database_user_id = '".$app->functions->intval($this->id)."' UNION SELECT DISTINCT server_id FROM web_database WHERE database_ro_user_id = '".$app->functions->intval($this->id)."'"); foreach($records as $rec) { $new_rec = $this->dataRecord; diff --git a/interface/web/sites/form/database.tform.php b/interface/web/sites/form/database.tform.php index e390f7276c..2a9da3fafb 100644 --- a/interface/web/sites/form/database.tform.php +++ b/interface/web/sites/form/database.tform.php @@ -29,7 +29,7 @@ Hint: The ID field of the database table is not part of the datafield definition. The ID field must be always auto incement (int or bigint). - + Search: - searchable = 1 or searchable = 2 include the field in the search - searchable = 1: this field will be the title of the search result @@ -89,7 +89,10 @@ $form["tabs"]['database'] = array ( 'datatype' => 'VARCHAR', 'formtype' => 'SELECT', 'default' => 'y', - 'value' => array('mysql' => 'MySQL') + 'value' => array( + 'mongo' => 'MongoDB', + 'mysql' => 'MySQL' + ) ), 'database_name' => array ( 'datatype' => 'VARCHAR', diff --git a/interface/web/sites/form/database_user.tform.php b/interface/web/sites/form/database_user.tform.php index fa2b2d3a32..d2a2defe7b 100644 --- a/interface/web/sites/form/database_user.tform.php +++ b/interface/web/sites/form/database_user.tform.php @@ -29,7 +29,7 @@ Hint: The ID field of the database table is not part of the datafield definition. The ID field must be always auto incement (int or bigint). - + Search: - searchable = 1 or searchable = 2 include the field in the search - searchable = 1: this field will be the title of the search result @@ -108,6 +108,14 @@ $form["tabs"]['database_user'] = array ( 'width' => '30', 'maxlength' => '255' ), + 'database_password_mongo' => array ( + 'datatype' => 'VARCHAR', + 'formtype' => 'PASSWORD', + 'default' => '', + 'value' => '', + 'width' => '30', + 'maxlength' => '255' + ), ################################## # ENDE Datatable fields ################################## diff --git a/interface/web/sites/form/web_domain.tform.php b/interface/web/sites/form/web_domain.tform.php index f2c6fa7b55..233b464b8a 100644 --- a/interface/web/sites/form/web_domain.tform.php +++ b/interface/web/sites/form/web_domain.tform.php @@ -72,6 +72,9 @@ if(!$app->auth->is_admin()) { if($client['limit_ssl'] != 'y') $ssl_available = false; } +$app->uses('getconf'); +$web_config = $app->getconf->get_global_config('sites'); + $form["tabs"]['domain'] = array ( 'title' => "Domain", 'width' => 100, @@ -535,7 +538,8 @@ $form["tabs"]['backup'] = array ( // } -if($_SESSION["s"]["user"]["typ"] == 'admin') { +if($_SESSION["s"]["user"]["typ"] == 'admin' + || ($web_config['reseller_can_use_options'] == 'y' && $app->auth->has_clients($_SESSION['s']['user']['userid']))) { $form["tabs"]['advanced'] = array ( 'title' => "Options", diff --git a/interface/web/sites/form/web_vhost_subdomain.tform.php b/interface/web/sites/form/web_vhost_subdomain.tform.php index 116428cb6f..e71d5809f2 100644 --- a/interface/web/sites/form/web_vhost_subdomain.tform.php +++ b/interface/web/sites/form/web_vhost_subdomain.tform.php @@ -64,6 +64,9 @@ if(!$app->auth->is_admin()) { if($client['limit_ssl'] != 'y') $ssl_available = false; } +$app->uses('getconf'); +$web_config = $app->getconf->get_global_config('sites'); + $form["tabs"]['domain'] = array ( 'title' => "Domain", 'width' => 100, @@ -525,7 +528,8 @@ $form["tabs"]['backup'] = array ( // } -if($_SESSION["s"]["user"]["typ"] == 'admin') { +if($_SESSION["s"]["user"]["typ"] == 'admin' + || ($web_config['reseller_can_use_options'] == 'y' && $app->auth->has_clients($_SESSION['s']['user']['userid']))) { $form["tabs"]['advanced'] = array ( 'title' => "Options", diff --git a/interface/web/sites/lib/lang/de.lng b/interface/web/sites/lib/lang/de.lng index 7f956ef31e..544824a5a5 100644 --- a/interface/web/sites/lib/lang/de.lng +++ b/interface/web/sites/lib/lang/de.lng @@ -33,4 +33,3 @@ $wb['Update Packagelist'] = 'Paketliste aktualisieren'; $wb['error_proxy_requires_url'] = 'Weiterleitungstyp '; $wb['Subdomain (Vhost)'] = 'Subdomain (vHost)'; ?> - diff --git a/interface/web/sites/lib/lang/de_aps.lng b/interface/web/sites/lib/lang/de_aps.lng index b97d0a0c87..aab6f4edf7 100644 --- a/interface/web/sites/lib/lang/de_aps.lng +++ b/interface/web/sites/lib/lang/de_aps.lng @@ -54,6 +54,5 @@ $wb['installation_error_txt'] = 'Installationsfehler'; $wb['installation_success_txt'] = 'Installiert'; $wb['installation_remove_txt'] = 'Deinstallation vorgemerkt'; $wb['packagelist_update_finished_txt'] = 'APS Paketlistenupdate beendet.'; -$wb['limit_aps_txt'] = 'Die maximale Anzahl an APS Instanzen für Ihr Konto wurde erreicht.'; +$wb['limit_aps_txt'] = 'Die maximale Anzahl an APS-Instanzen für Ihr Konto wurde erreicht.'; ?> - diff --git a/interface/web/sites/lib/lang/de_aps_instances_list.lng b/interface/web/sites/lib/lang/de_aps_instances_list.lng index 753ba3b8af..e5f8b7b7f1 100644 --- a/interface/web/sites/lib/lang/de_aps_instances_list.lng +++ b/interface/web/sites/lib/lang/de_aps_instances_list.lng @@ -11,4 +11,3 @@ $wb['filter_txt'] = 'Suche'; $wb['delete_txt'] = 'Löschen'; $wb['reinstall_txt'] = 'Neuinstallieren'; ?> - diff --git a/interface/web/sites/lib/lang/de_aps_packages_list.lng b/interface/web/sites/lib/lang/de_aps_packages_list.lng index ab21a14771..6cada812b2 100644 --- a/interface/web/sites/lib/lang/de_aps_packages_list.lng +++ b/interface/web/sites/lib/lang/de_aps_packages_list.lng @@ -6,4 +6,3 @@ $wb['category_txt'] = 'Kategorie'; $wb['status_txt'] = 'Verfügbar'; $wb['filter_txt'] = 'Suche'; ?> - diff --git a/interface/web/sites/lib/lang/de_aps_update_packagelist.lng b/interface/web/sites/lib/lang/de_aps_update_packagelist.lng index 4ca36cfb10..3b5a161d56 100644 --- a/interface/web/sites/lib/lang/de_aps_update_packagelist.lng +++ b/interface/web/sites/lib/lang/de_aps_update_packagelist.lng @@ -5,4 +5,3 @@ $wb['btn_start_txt'] = 'Paketliste aktualisieren'; $wb['btn_cancel_txt'] = 'Abbrechen'; $wb['legend_txt'] = 'Hier können Sie die Liste der verfügbaren Pakete aktualisieren. Dies kann bis zu fünf Minuten dauern. Wenn Sie möchten, können Sie diese Seite verlassen; der Prozeß läuft im Hintergrund weiter.'; ?> - diff --git a/interface/web/sites/lib/lang/de_cron.lng b/interface/web/sites/lib/lang/de_cron.lng index 8fd195820b..57d8ca3fc2 100644 --- a/interface/web/sites/lib/lang/de_cron.lng +++ b/interface/web/sites/lib/lang/de_cron.lng @@ -19,4 +19,3 @@ $wb['run_wday_error_format'] = 'Das Format für Wochentage ist nicht korrekt.'; $wb['command_error_format'] = 'Das Format für den Befehl ist nicht korrekt. Beachten Sie, dass bei einem URL Aufruf nur http und https erlaubt ist.'; $wb['unknown_fieldtype_error'] = 'Es wurde ein unbekanntes Feld verwendet.'; ?> - diff --git a/interface/web/sites/lib/lang/de_cron_list.lng b/interface/web/sites/lib/lang/de_cron_list.lng index 029cd59b75..687505b4a3 100644 --- a/interface/web/sites/lib/lang/de_cron_list.lng +++ b/interface/web/sites/lib/lang/de_cron_list.lng @@ -11,4 +11,3 @@ $wb['command_txt'] = 'Befehl'; $wb['add_new_cron_txt'] = 'Neuen Cronjob anlegen'; $wb['parent_domain_id_txt'] = 'Webseite'; ?> - diff --git a/interface/web/sites/lib/lang/de_database.lng b/interface/web/sites/lib/lang/de_database.lng index a38dd8d8d8..2108673fed 100644 --- a/interface/web/sites/lib/lang/de_database.lng +++ b/interface/web/sites/lib/lang/de_database.lng @@ -44,4 +44,3 @@ $wb['globalsearch_noresults_limit_txt'] = '0 Treffer'; $wb['globalsearch_searchfield_watermark_txt'] = 'Suche'; $wb['globalsearch_suggestions_text_txt'] = 'Vorschläge'; ?> - diff --git a/interface/web/sites/lib/lang/de_database_admin_list.lng b/interface/web/sites/lib/lang/de_database_admin_list.lng index ad742ff38d..b479d06cff 100644 --- a/interface/web/sites/lib/lang/de_database_admin_list.lng +++ b/interface/web/sites/lib/lang/de_database_admin_list.lng @@ -9,4 +9,3 @@ $wb['add_new_record_txt'] = 'Neue Datenbank hinzufügen'; $wb['sys_groupid_txt'] = 'Kunde'; $wb['parent_domain_id_txt'] = 'Domain'; ?> - diff --git a/interface/web/sites/lib/lang/de_database_list.lng b/interface/web/sites/lib/lang/de_database_list.lng index 93dc2779dc..7cfe03547d 100644 --- a/interface/web/sites/lib/lang/de_database_list.lng +++ b/interface/web/sites/lib/lang/de_database_list.lng @@ -2,10 +2,10 @@ $wb['list_head_txt'] = 'Datenbank'; $wb['active_txt'] = 'Aktiv'; $wb['remote_access_txt'] = 'Remotezugriff'; +$wb['type_txt'] = 'Typ'; $wb['server_id_txt'] = 'Server'; $wb['database_name_txt'] = 'Datenbank Name'; $wb['add_new_record_txt'] = 'Neue Datenbank hinzufügen'; $wb['database_user_txt'] = 'Datenbank Benutzer'; $wb['parent_domain_id_txt'] = 'Domain'; ?> - diff --git a/interface/web/sites/lib/lang/de_database_user.lng b/interface/web/sites/lib/lang/de_database_user.lng index d81bc52d0c..ab4601720d 100644 --- a/interface/web/sites/lib/lang/de_database_user.lng +++ b/interface/web/sites/lib/lang/de_database_user.lng @@ -21,4 +21,3 @@ $wb['globalsearch_noresults_limit_txt'] = '0 Treffer'; $wb['globalsearch_searchfield_watermark_txt'] = 'Suche'; $wb['globalsearch_suggestions_text_txt'] = 'Vorschläge'; ?> - diff --git a/interface/web/sites/lib/lang/de_database_user_admin_list.lng b/interface/web/sites/lib/lang/de_database_user_admin_list.lng index 4cbdc9dbda..82c09fcf13 100644 --- a/interface/web/sites/lib/lang/de_database_user_admin_list.lng +++ b/interface/web/sites/lib/lang/de_database_user_admin_list.lng @@ -4,4 +4,3 @@ $wb['add_new_record_txt'] = 'Neuen Benutzer hinzufügen'; $wb['database_user_txt'] = 'Datenbank Benutzer'; $wb['sys_groupid_txt'] = 'Kunde'; ?> - diff --git a/interface/web/sites/lib/lang/de_database_user_list.lng b/interface/web/sites/lib/lang/de_database_user_list.lng index d746d2f2c2..7ee8222dcb 100644 --- a/interface/web/sites/lib/lang/de_database_user_list.lng +++ b/interface/web/sites/lib/lang/de_database_user_list.lng @@ -3,4 +3,3 @@ $wb['list_head_txt'] = 'Datenbank Benutzer'; $wb['add_new_record_txt'] = 'Neuen Benutzer hinzufügen'; $wb['database_user_txt'] = 'Datenbank Benutzer'; ?> - diff --git a/interface/web/sites/lib/lang/de_ftp_user.lng b/interface/web/sites/lib/lang/de_ftp_user.lng index 897f70057a..2a3a98b21f 100644 --- a/interface/web/sites/lib/lang/de_ftp_user.lng +++ b/interface/web/sites/lib/lang/de_ftp_user.lng @@ -14,7 +14,7 @@ $wb['username_txt'] = 'Benutzername'; $wb['password_txt'] = 'Passwort'; $wb['quota_size_txt'] = 'Speicherplatz Beschränkung'; $wb['active_txt'] = 'Aktiv'; -$wb['limit_ftp_user_txt'] = 'Die max. Anzahl an FTP Benutzer für Ihr Konto wurde erreicht.'; +$wb['limit_ftp_user_txt'] = 'Die max. Anzahl an FTP Benutzern für Ihr Konto wurde erreicht.'; $wb['username_error_empty'] = 'Benutzername ist leer.'; $wb['username_error_unique'] = 'Der Benutzername muss einzigartig sein.'; $wb['username_error_regex'] = 'Der Benutzername enthält nicht erlaubte Zeichen.'; @@ -32,4 +32,3 @@ $wb['repeat_password_txt'] = 'Passwort wiederholen'; $wb['password_mismatch_txt'] = 'Die Passwörter stimmen nicht überein.'; $wb['password_match_txt'] = 'Die Passwörter stimmen überein.'; ?> - diff --git a/interface/web/sites/lib/lang/de_ftp_user_list.lng b/interface/web/sites/lib/lang/de_ftp_user_list.lng index d39ff1f526..8d1b0817a6 100644 --- a/interface/web/sites/lib/lang/de_ftp_user_list.lng +++ b/interface/web/sites/lib/lang/de_ftp_user_list.lng @@ -6,4 +6,3 @@ $wb['parent_domain_id_txt'] = 'Domain'; $wb['username_txt'] = 'Benutzername'; $wb['add_new_record_txt'] = 'Neuen FTP Benutzer hinzufügen'; ?> - diff --git a/interface/web/sites/lib/lang/de_shell_user.lng b/interface/web/sites/lib/lang/de_shell_user.lng index 8a825b47b6..4f04562f74 100644 --- a/interface/web/sites/lib/lang/de_shell_user.lng +++ b/interface/web/sites/lib/lang/de_shell_user.lng @@ -29,4 +29,3 @@ $wb['password_match_txt'] = 'Die Passwörter stimmen überein.'; $wb['username_must_not_exceed_32_chars_txt'] = 'Der Benutzername darf 32 Zeichen nicht überschreiten.'; $wb['username_not_allowed_txt'] = 'Dieser Benutzername ist nicht erlaubt.'; ?> - diff --git a/interface/web/sites/lib/lang/de_shell_user_list.lng b/interface/web/sites/lib/lang/de_shell_user_list.lng index 176a4e5970..c953cf6b05 100644 --- a/interface/web/sites/lib/lang/de_shell_user_list.lng +++ b/interface/web/sites/lib/lang/de_shell_user_list.lng @@ -6,4 +6,3 @@ $wb['parent_domain_id_txt'] = 'Webseite'; $wb['username_txt'] = 'Benutzername'; $wb['add_new_record_txt'] = 'Neuen Shell Benutzer hinzufügen'; ?> - diff --git a/interface/web/sites/lib/lang/de_user_quota_stats_list.lng b/interface/web/sites/lib/lang/de_user_quota_stats_list.lng index c207ad7314..679e16ad7b 100644 --- a/interface/web/sites/lib/lang/de_user_quota_stats_list.lng +++ b/interface/web/sites/lib/lang/de_user_quota_stats_list.lng @@ -7,4 +7,3 @@ $wb['hard_txt'] = 'Hard Limit'; $wb['soft_txt'] = 'Soft Limit'; $wb['files_txt'] = 'Dateien'; ?> - diff --git a/interface/web/sites/lib/lang/de_web_aliasdomain.lng b/interface/web/sites/lib/lang/de_web_aliasdomain.lng index d568bd26bc..5f0fb3a19e 100644 --- a/interface/web/sites/lib/lang/de_web_aliasdomain.lng +++ b/interface/web/sites/lib/lang/de_web_aliasdomain.lng @@ -113,4 +113,3 @@ $wb['proxy_directives_txt'] = 'Proxy Direktiven'; $wb['available_proxy_directive_snippets_txt'] = 'Verfügbare Proxy Direktiven Schnipsel:'; $wb['Domain'] = 'Aliasdomain'; ?> - diff --git a/interface/web/sites/lib/lang/de_web_aliasdomain_list.lng b/interface/web/sites/lib/lang/de_web_aliasdomain_list.lng index 1fe7f8477c..9e27e3cef9 100644 --- a/interface/web/sites/lib/lang/de_web_aliasdomain_list.lng +++ b/interface/web/sites/lib/lang/de_web_aliasdomain_list.lng @@ -12,4 +12,3 @@ $wb['no_redirect_txt'] = 'Keine Weiterleitung'; $wb['no_flag_txt'] = 'Keine Optionen'; $wb['none_txt'] = 'Keine'; ?> - diff --git a/interface/web/sites/lib/lang/de_web_backup_list.lng b/interface/web/sites/lib/lang/de_web_backup_list.lng index 87fb0aa7ad..5d39ebec65 100644 --- a/interface/web/sites/lib/lang/de_web_backup_list.lng +++ b/interface/web/sites/lib/lang/de_web_backup_list.lng @@ -10,7 +10,7 @@ $wb['restore_info_txt'] = 'Die Wiederherstellung des Backups hat begonnen. Diese $wb['restore_confirm_txt'] = 'Die Wiederherstellung wird existierende Dateien in Ihrer Website überschreiben. Möchten Sie dieses Backup wirklich wiederherstellen?'; $wb['download_pending_txt'] = 'Es liegt bereits ein Backup Download Job an.'; $wb['restore_pending_txt'] = 'Es liegt bereits ein Backup Wiederherstellungs Job an.'; +$wb['backup_type_mongodb'] = 'MongoDB Datenbank'; $wb['backup_type_mysql'] = 'MySQL Datenbank'; $wb['backup_type_web'] = 'Webseiten Dateien'; ?> - diff --git a/interface/web/sites/lib/lang/de_web_domain.lng b/interface/web/sites/lib/lang/de_web_domain.lng index 18fd6dbdb8..79fe72614d 100644 --- a/interface/web/sites/lib/lang/de_web_domain.lng +++ b/interface/web/sites/lib/lang/de_web_domain.lng @@ -121,4 +121,3 @@ $wb['invalid_rewrite_rules_txt'] = 'Unzulässige Rewrite Rules'; $wb['allowed_rewrite_rule_directives_txt'] = 'Erlaubte Direktiven:'; $wb['configuration_error_txt'] = 'KONFIGURATIONSFEHLER'; ?> - diff --git a/interface/web/sites/lib/lang/de_web_domain_admin_list.lng b/interface/web/sites/lib/lang/de_web_domain_admin_list.lng index 276696c705..d9dc65c6c0 100644 --- a/interface/web/sites/lib/lang/de_web_domain_admin_list.lng +++ b/interface/web/sites/lib/lang/de_web_domain_admin_list.lng @@ -7,4 +7,3 @@ $wb['server_id_txt'] = 'Server'; $wb['domain_txt'] = 'Domain'; $wb['add_new_record_txt'] = 'Neue Webseite hinzufügen'; ?> - diff --git a/interface/web/sites/lib/lang/de_web_domain_list.lng b/interface/web/sites/lib/lang/de_web_domain_list.lng index b722783e72..ce56a1cd1f 100644 --- a/interface/web/sites/lib/lang/de_web_domain_list.lng +++ b/interface/web/sites/lib/lang/de_web_domain_list.lng @@ -6,4 +6,3 @@ $wb['server_id_txt'] = 'Server'; $wb['domain_txt'] = 'Domain'; $wb['add_new_record_txt'] = 'Neue Domain hinzufügen'; ?> - diff --git a/interface/web/sites/lib/lang/de_web_folder.lng b/interface/web/sites/lib/lang/de_web_folder.lng index 615e34050f..8defc36f4c 100644 --- a/interface/web/sites/lib/lang/de_web_folder.lng +++ b/interface/web/sites/lib/lang/de_web_folder.lng @@ -5,4 +5,3 @@ $wb['path_txt'] = 'Pfad'; $wb['active_txt'] = 'Aktiv'; $wb['path_error_regex'] = 'Ungültiger Pfad.'; ?> - diff --git a/interface/web/sites/lib/lang/de_web_folder_list.lng b/interface/web/sites/lib/lang/de_web_folder_list.lng index 2ac8f0399a..5491202ac6 100644 --- a/interface/web/sites/lib/lang/de_web_folder_list.lng +++ b/interface/web/sites/lib/lang/de_web_folder_list.lng @@ -5,4 +5,3 @@ $wb['server_id_txt'] = 'Server'; $wb['parent_domain_id_txt'] = 'Webseite'; $wb['path_txt'] = 'Pfad'; ?> - diff --git a/interface/web/sites/lib/lang/de_web_folder_user.lng b/interface/web/sites/lib/lang/de_web_folder_user.lng index 6ab959ca7c..6983dc136e 100644 --- a/interface/web/sites/lib/lang/de_web_folder_user.lng +++ b/interface/web/sites/lib/lang/de_web_folder_user.lng @@ -11,4 +11,3 @@ $wb['password_mismatch_txt'] = 'Die Passwörter stimmen nicht überein.'; $wb['password_match_txt'] = 'Die Passwörter stimmen überein.'; $wb['no_folder_perm'] = 'Sie haben keine Berechtigung für diesen Ordner.'; ?> - diff --git a/interface/web/sites/lib/lang/de_web_folder_user_list.lng b/interface/web/sites/lib/lang/de_web_folder_user_list.lng index cd41dbff36..5357760eb4 100644 --- a/interface/web/sites/lib/lang/de_web_folder_user_list.lng +++ b/interface/web/sites/lib/lang/de_web_folder_user_list.lng @@ -4,4 +4,3 @@ $wb['active_txt'] = 'Aktiv'; $wb['web_folder_id_txt'] = 'Ordner'; $wb['username_txt'] = 'Benutzername'; ?> - diff --git a/interface/web/sites/lib/lang/de_web_sites_stats_list.lng b/interface/web/sites/lib/lang/de_web_sites_stats_list.lng index 84a2676509..611b8297d4 100644 --- a/interface/web/sites/lib/lang/de_web_sites_stats_list.lng +++ b/interface/web/sites/lib/lang/de_web_sites_stats_list.lng @@ -7,4 +7,3 @@ $wb['this_year_txt'] = 'Aktuelles Jahr'; $wb['last_year_txt'] = 'Vergangenes Jahr'; $wb['sum_txt'] = 'Summe'; ?> - diff --git a/interface/web/sites/lib/lang/de_web_subdomain.lng b/interface/web/sites/lib/lang/de_web_subdomain.lng index 29de073359..c74bf92a76 100644 --- a/interface/web/sites/lib/lang/de_web_subdomain.lng +++ b/interface/web/sites/lib/lang/de_web_subdomain.lng @@ -44,4 +44,3 @@ $wb['proxy_directives_txt'] = 'Proxy Direktiven'; $wb['available_proxy_directive_snippets_txt'] = 'Verfügbare Proxy Direktiven Schnipsel:'; $wb['error_proxy_requires_url'] = 'Weiterleitungstyp \\"proxy\\" erfordert eine URL als Weiterleitungspfad.'; ?> - diff --git a/interface/web/sites/lib/lang/de_web_subdomain_list.lng b/interface/web/sites/lib/lang/de_web_subdomain_list.lng index 91970764d5..042b9f02c5 100644 --- a/interface/web/sites/lib/lang/de_web_subdomain_list.lng +++ b/interface/web/sites/lib/lang/de_web_subdomain_list.lng @@ -6,4 +6,3 @@ $wb['parent_domain_id_txt'] = 'Webseite'; $wb['domain_txt'] = 'Subdomain'; $wb['add_new_record_txt'] = 'Neue Subdomain hinzufügen'; ?> - diff --git a/interface/web/sites/lib/lang/de_web_vhost_subdomain.lng b/interface/web/sites/lib/lang/de_web_vhost_subdomain.lng index d128a5ee7b..9dc798f435 100644 --- a/interface/web/sites/lib/lang/de_web_vhost_subdomain.lng +++ b/interface/web/sites/lib/lang/de_web_vhost_subdomain.lng @@ -120,4 +120,3 @@ $wb['invalid_rewrite_rules_txt'] = 'Unzulässige Rewrite Rules'; $wb['allowed_rewrite_rule_directives_txt'] = 'Erlaubte Direktiven:'; $wb['configuration_error_txt'] = 'KONFIGURATIONSFEHLER'; ?> - diff --git a/interface/web/sites/lib/lang/de_web_vhost_subdomain_list.lng b/interface/web/sites/lib/lang/de_web_vhost_subdomain_list.lng index 91970764d5..042b9f02c5 100644 --- a/interface/web/sites/lib/lang/de_web_vhost_subdomain_list.lng +++ b/interface/web/sites/lib/lang/de_web_vhost_subdomain_list.lng @@ -6,4 +6,3 @@ $wb['parent_domain_id_txt'] = 'Webseite'; $wb['domain_txt'] = 'Subdomain'; $wb['add_new_record_txt'] = 'Neue Subdomain hinzufügen'; ?> - diff --git a/interface/web/sites/lib/lang/de_webdav_user.lng b/interface/web/sites/lib/lang/de_webdav_user.lng index 25c7b0995a..8e38b87900 100644 --- a/interface/web/sites/lib/lang/de_webdav_user.lng +++ b/interface/web/sites/lib/lang/de_webdav_user.lng @@ -19,4 +19,3 @@ $wb['repeat_password_txt'] = 'Passwort wiederholen'; $wb['password_mismatch_txt'] = 'Die Passwörter stimmen nicht überein.'; $wb['password_match_txt'] = 'Die Passwörter stimmen überein.'; ?> - diff --git a/interface/web/sites/lib/lang/de_webdav_user_list.lng b/interface/web/sites/lib/lang/de_webdav_user_list.lng index 84b9fadcf8..927bfbb2de 100644 --- a/interface/web/sites/lib/lang/de_webdav_user_list.lng +++ b/interface/web/sites/lib/lang/de_webdav_user_list.lng @@ -6,4 +6,3 @@ $wb['parent_domain_id_txt'] = 'Webseite'; $wb['username_txt'] = 'Benutzername'; $wb['add_new_record_txt'] = 'Neuen WebDAV Benutzer hinzufügen'; ?> - diff --git a/interface/web/sites/lib/lang/en_database_admin_list.lng b/interface/web/sites/lib/lang/en_database_admin_list.lng index fdafd68aee..e68d9935f3 100644 --- a/interface/web/sites/lib/lang/en_database_admin_list.lng +++ b/interface/web/sites/lib/lang/en_database_admin_list.lng @@ -2,10 +2,11 @@ $wb["list_head_txt"] = 'Database'; $wb["active_txt"] = 'Active'; $wb["remote_access_txt"] = 'Remote Access'; +$wb['type_txt'] = 'Type'; $wb["server_id_txt"] = 'Server'; $wb["database_user_txt"] = 'Database user'; $wb["database_name_txt"] = 'Database name'; $wb["add_new_record_txt"] = 'Add new Database'; $wb["sys_groupid_txt"] = 'Client'; $wb["parent_domain_id_txt"] = 'Website'; -?> \ No newline at end of file +?> diff --git a/interface/web/sites/lib/lang/en_database_list.lng b/interface/web/sites/lib/lang/en_database_list.lng index e87ad2a9b7..13bb304033 100644 --- a/interface/web/sites/lib/lang/en_database_list.lng +++ b/interface/web/sites/lib/lang/en_database_list.lng @@ -2,6 +2,7 @@ $wb["list_head_txt"] = 'Database'; $wb["active_txt"] = 'Active'; $wb["remote_access_txt"] = 'Remote Access'; +$wb['type_txt'] = 'Type'; $wb["server_id_txt"] = 'Server'; $wb["database_user_txt"] = 'Database user'; $wb["database_name_txt"] = 'Database name'; diff --git a/interface/web/sites/lib/lang/en_web_backup_list.lng b/interface/web/sites/lib/lang/en_web_backup_list.lng index 74bcbd9b7e..47ca0cb41d 100644 --- a/interface/web/sites/lib/lang/en_web_backup_list.lng +++ b/interface/web/sites/lib/lang/en_web_backup_list.lng @@ -3,6 +3,7 @@ $wb['list_head_txt'] = 'Existing backups'; $wb['date_txt'] = 'Date'; $wb['backup_type_txt'] = 'Type'; $wb['filename_txt'] = 'Backup file'; +$wb['filesize_txt'] = 'Filesize'; $wb['restore_backup_txt'] = 'Restore'; $wb['download_backup_txt'] = 'Download'; $wb['download_info_txt'] = 'The backup file will be available for download in the backup folder of the website in a few minutes.'; @@ -10,7 +11,8 @@ $wb['restore_info_txt'] = 'Restore of the backup has been started. This action t $wb['restore_confirm_txt'] = 'Restoring will overwrite existing files in your website. Do you really want to restore this backup?'; $wb['download_pending_txt'] = 'There is already a pending backup download job.'; $wb['restore_pending_txt'] = 'There is already a pending backup restore job.'; +$wb['backup_type_mongodb'] = 'MongoDB Database'; $wb['backup_type_mysql'] = 'MySQL Database'; $wb['backup_type_web'] = 'Website files'; -?> \ No newline at end of file +?> diff --git a/interface/web/sites/list/database.list.php b/interface/web/sites/list/database.list.php index 56bf15dc40..76dbec54fd 100644 --- a/interface/web/sites/list/database.list.php +++ b/interface/web/sites/list/database.list.php @@ -70,6 +70,19 @@ $liste["item"][] = array( 'field' => "remote_access", 'width' => "", 'value' => array('y' => "
Yes
",'n' => "
No
")); +$liste["item"][] = array( 'field' => "type", + 'datatype' => "VARCHAR", + 'formtype' => "SELECT", + 'op' => "=", + 'prefix' => "", + 'suffix' => "", + 'width' => "", + 'value' => array( + 'mongo' => "MongoDB", + 'mysql' => "MySQL" + ) + ); + if($_SESSION['s']['user']['typ'] == 'admin') { $liste["item"][] = array( 'field' => "sys_groupid", 'datatype' => "INTEGER", @@ -140,4 +153,4 @@ $liste["item"][] = array( 'field' => "database_name", 'width' => "", 'value' => ""); -?> \ No newline at end of file +?> diff --git a/interface/web/sites/templates/aps_install_package.htm b/interface/web/sites/templates/aps_install_package.htm index 4e0c9bd517..331a2a6966 100644 --- a/interface/web/sites/templates/aps_install_package.htm +++ b/interface/web/sites/templates/aps_install_package.htm @@ -53,4 +53,4 @@ - \ No newline at end of file + diff --git a/interface/web/sites/templates/database_admin_list.htm b/interface/web/sites/templates/database_admin_list.htm index a7021656e0..d7fecea396 100644 --- a/interface/web/sites/templates/database_admin_list.htm +++ b/interface/web/sites/templates/database_admin_list.htm @@ -19,6 +19,7 @@ + @@ -29,6 +30,7 @@ + @@ -44,6 +46,7 @@ {tmpl_var name="active"} {tmpl_var name="remote_access"} + {tmpl_var name="type"} {tmpl_var name="sys_groupid"} {tmpl_var name="server_id"} {tmpl_var name="parent_domain_id"} @@ -54,7 +57,7 @@ {tmpl_var name='admin_txt'} {tmpl_var name='edit_txt'} - {tmpl_var name='delete_txt'} + {tmpl_var name='delete_txt'} diff --git a/interface/web/sites/templates/database_list.htm b/interface/web/sites/templates/database_list.htm index ec2d55fdb2..15a8ae77cf 100644 --- a/interface/web/sites/templates/database_list.htm +++ b/interface/web/sites/templates/database_list.htm @@ -36,6 +36,7 @@ + @@ -45,6 +46,7 @@ + @@ -59,6 +61,7 @@ {tmpl_var name="active"} {tmpl_var name="remote_access"} + {tmpl_var name="type"} {tmpl_var name="server_id"} {tmpl_var name="parent_domain_id"} {tmpl_var name="database_user_id"} @@ -68,7 +71,7 @@ {tmpl_var name='admin_txt'} {tmpl_var name='edit_txt'} - {tmpl_var name='delete_txt'} + {tmpl_var name='delete_txt'} @@ -87,4 +90,4 @@ - \ No newline at end of file + diff --git a/interface/web/sites/templates/web_backup_list.htm b/interface/web/sites/templates/web_backup_list.htm index 3248812e8b..780897d080 100644 --- a/interface/web/sites/templates/web_backup_list.htm +++ b/interface/web/sites/templates/web_backup_list.htm @@ -16,6 +16,7 @@ + {tmpl_var name='search_limit'} @@ -25,6 +26,7 @@ {tmpl_var name="date"} {tmpl_var name="backup_type"} {tmpl_var name="filename"} + {tmpl_var name="filesize"}
@@ -43,4 +45,4 @@
- \ No newline at end of file + diff --git a/interface/web/sites/web_domain_edit.php b/interface/web/sites/web_domain_edit.php index ffc29e84cc..062529fda3 100644 --- a/interface/web/sites/web_domain_edit.php +++ b/interface/web/sites/web_domain_edit.php @@ -259,6 +259,53 @@ class page_action extends tform_actions { // add limits to template to be able to hide settings foreach($read_limits as $limit) $app->tpl->setVar($limit, $client[$limit]); + $sites_config = $app->getconf->get_global_config('sites'); + if($sites_config['reseller_can_use_options']) { + // Directive Snippets + $php_directive_snippets = $app->db->queryAllRecords("SELECT * FROM directive_snippets WHERE type = 'php' AND active = 'y'"); + $php_directive_snippets_txt = ''; + if(is_array($php_directive_snippets) && !empty($php_directive_snippets)){ + foreach($php_directive_snippets as $php_directive_snippet){ + $php_directive_snippets_txt .= '['.$php_directive_snippet['name'].'] '; + } + } + if($php_directive_snippets_txt == '') $php_directive_snippets_txt = '------'; + $app->tpl->setVar("php_directive_snippets_txt",$php_directive_snippets_txt); + + if($server_type == 'apache'){ + $apache_directive_snippets = $app->db->queryAllRecords("SELECT * FROM directive_snippets WHERE type = 'apache' AND active = 'y'"); + $apache_directive_snippets_txt = ''; + if(is_array($apache_directive_snippets) && !empty($apache_directive_snippets)){ + foreach($apache_directive_snippets as $apache_directive_snippet){ + $apache_directive_snippets_txt .= '['.$apache_directive_snippet['name'].'] '; + } + } + if($apache_directive_snippets_txt == '') $apache_directive_snippets_txt = '------'; + $app->tpl->setVar("apache_directive_snippets_txt",$apache_directive_snippets_txt); + } + + if($server_type == 'nginx'){ + $nginx_directive_snippets = $app->db->queryAllRecords("SELECT * FROM directive_snippets WHERE type = 'nginx' AND active = 'y'"); + $nginx_directive_snippets_txt = ''; + if(is_array($nginx_directive_snippets) && !empty($nginx_directive_snippets)){ + foreach($nginx_directive_snippets as $nginx_directive_snippet){ + $nginx_directive_snippets_txt .= '['.$nginx_directive_snippet['name'].'] '; + } + } + if($nginx_directive_snippets_txt == '') $nginx_directive_snippets_txt = '------'; + $app->tpl->setVar("nginx_directive_snippets_txt",$nginx_directive_snippets_txt); + } + + $proxy_directive_snippets = $app->db->queryAllRecords("SELECT * FROM directive_snippets WHERE type = 'proxy' AND active = 'y'"); + $proxy_directive_snippets_txt = ''; + if(is_array($proxy_directive_snippets) && !empty($proxy_directive_snippets)){ + foreach($proxy_directive_snippets as $proxy_directive_snippet){ + $proxy_directive_snippets_txt .= '['.$proxy_directive_snippet['name'].'] '; + } + } + if($proxy_directive_snippets_txt == '') $proxy_directive_snippets_txt = '------'; + $app->tpl->setVar("proxy_directive_snippets_txt",$proxy_directive_snippets_txt); + } //* Admin: If the logged in user is admin } else { diff --git a/interface/web/sites/web_vhost_subdomain_edit.php b/interface/web/sites/web_vhost_subdomain_edit.php index 0322726bc4..a2c9da0b73 100644 --- a/interface/web/sites/web_vhost_subdomain_edit.php +++ b/interface/web/sites/web_vhost_subdomain_edit.php @@ -164,6 +164,53 @@ class page_action extends tform_actions { // add limits to template to be able to hide settings foreach($read_limits as $limit) $app->tpl->setVar($limit, $client[$limit]); + $sites_config = $app->getconf->get_global_config('sites'); + if($sites_config['reseller_can_use_options']) { + // Directive Snippets + $php_directive_snippets = $app->db->queryAllRecords("SELECT * FROM directive_snippets WHERE type = 'php' AND active = 'y'"); + $php_directive_snippets_txt = ''; + if(is_array($php_directive_snippets) && !empty($php_directive_snippets)){ + foreach($php_directive_snippets as $php_directive_snippet){ + $php_directive_snippets_txt .= '['.$php_directive_snippet['name'].'] '; + } + } + if($php_directive_snippets_txt == '') $php_directive_snippets_txt = '------'; + $app->tpl->setVar("php_directive_snippets_txt",$php_directive_snippets_txt); + + if($server_type == 'apache'){ + $apache_directive_snippets = $app->db->queryAllRecords("SELECT * FROM directive_snippets WHERE type = 'apache' AND active = 'y'"); + $apache_directive_snippets_txt = ''; + if(is_array($apache_directive_snippets) && !empty($apache_directive_snippets)){ + foreach($apache_directive_snippets as $apache_directive_snippet){ + $apache_directive_snippets_txt .= '['.$apache_directive_snippet['name'].'] '; + } + } + if($apache_directive_snippets_txt == '') $apache_directive_snippets_txt = '------'; + $app->tpl->setVar("apache_directive_snippets_txt",$apache_directive_snippets_txt); + } + + if($server_type == 'nginx'){ + $nginx_directive_snippets = $app->db->queryAllRecords("SELECT * FROM directive_snippets WHERE type = 'nginx' AND active = 'y'"); + $nginx_directive_snippets_txt = ''; + if(is_array($nginx_directive_snippets) && !empty($nginx_directive_snippets)){ + foreach($nginx_directive_snippets as $nginx_directive_snippet){ + $nginx_directive_snippets_txt .= '['.$nginx_directive_snippet['name'].'] '; + } + } + if($nginx_directive_snippets_txt == '') $nginx_directive_snippets_txt = '------'; + $app->tpl->setVar("nginx_directive_snippets_txt",$nginx_directive_snippets_txt); + } + + $proxy_directive_snippets = $app->db->queryAllRecords("SELECT * FROM directive_snippets WHERE type = 'proxy' AND active = 'y'"); + $proxy_directive_snippets_txt = ''; + if(is_array($proxy_directive_snippets) && !empty($proxy_directive_snippets)){ + foreach($proxy_directive_snippets as $proxy_directive_snippet){ + $proxy_directive_snippets_txt .= '['.$proxy_directive_snippet['name'].'] '; + } + } + if($proxy_directive_snippets_txt == '') $proxy_directive_snippets_txt = '------'; + $app->tpl->setVar("proxy_directive_snippets_txt",$proxy_directive_snippets_txt); + } //* Admin: If the logged in user is admin } else { @@ -609,4 +656,4 @@ class page_action extends tform_actions { $page = new page_action; $page->onLoad(); -?> \ No newline at end of file +?> diff --git a/interface/web/strengthmeter/lib/lang/de_strengthmeter.lng b/interface/web/strengthmeter/lib/lang/de_strengthmeter.lng index dbfdce3aee..52f10189e0 100644 --- a/interface/web/strengthmeter/lib/lang/de_strengthmeter.lng +++ b/interface/web/strengthmeter/lib/lang/de_strengthmeter.lng @@ -6,4 +6,3 @@ $wb['password_strength_3_txt'] = 'Gut'; $wb['password_strength_4_txt'] = 'Stark'; $wb['password_strength_5_txt'] = 'Sehr stark'; ?> - diff --git a/interface/web/tools/import_plesk.php b/interface/web/tools/import_plesk.php index a06505cbcb..de8fe7a0b5 100644 --- a/interface/web/tools/import_plesk.php +++ b/interface/web/tools/import_plesk.php @@ -122,6 +122,21 @@ function id_hash($id,$levels) { return $hash; } +$COMMANDS = 'unset HISTFILE +MYSERVER="192.168.1.10" +MYSQL_EXPORT_USER="root" +MYSQL_EXPORT_PASS="" +MYSQL_IMPORT_USER="root" +MYSQL_IMPORT_PASS="" +'; + +function add_command($cmd) { + global $COMMANDS; + + $COMMANDS .= $cmd . "\n"; +} + + /* TODO: document root rewrite on ftp account and other home directories */ //* Check permissions for module @@ -220,7 +235,7 @@ if(isset($_POST['start']) && $_POST['start'] == 1) { $params = array( 'company_name' => $entry['cname'], 'contact_name' => $entry['pname'], - //'customer_no' => '', + 'customer_no' => 'Plesk' . $entry['id'], 'username' => $entry['login'], 'password' => $entry['password'], 'language' => substr($entry['locale'], 0, 2), // plesk stores as de-DE or en-US @@ -294,7 +309,7 @@ if(isset($_POST['start']) && $_POST['start'] == 1) { if($old_client) { $new_id = $old_client['client_id']; - $ok = $importer->client_update($session_id, $old_client['client_id'], $reseller_id, $params); + $ok = $importer->client_update($session_id, $old_client['client_id'], $reseller_id, array_merge($old_client, $params)); if($ok === false) { } @@ -318,7 +333,7 @@ if(isset($_POST['start']) && $_POST['start'] == 1) { $web_config = $app->getconf->get_server_config($server_id,'web'); - $domains = $exdb->queryAllRecords("SELECT d.id, d.cr_date, d.name, d.displayName, d.dns_zone_id, d.status, d.htype, d.real_size, d.cl_id, d.limits_id, d.params_id, d.guid, d.overuse, d.gl_filter, d.vendor_id, d.webspace_id, d.webspace_status, d.permissions_id, d.external_id FROM domains as d"); + $domains = $exdb->queryAllRecords("SELECT d.id, d.cr_date, d.name, d.displayName, d.dns_zone_id, d.status, d.htype, d.real_size, d.cl_id, d.limits_id, d.params_id, d.guid, d.overuse, d.gl_filter, d.vendor_id, d.webspace_id, d.webspace_status, d.permissions_id, d.external_id FROM domains as d WHERE d.parentDomainId = 0"); $dom_ftp_users = array(); $domain_ids = array(); $domain_roots = array(); @@ -456,6 +471,16 @@ if(isset($_POST['start']) && $_POST['start'] == 1) { $msg .= "  Error: " . $importer->getFault() . "
"; } else { $msg .= "Domain " . $entry['id'] . " (" . $entry['name'] . ") inserted -> " . $new_id . ".
"; + + $cmd_data = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = '" . $new_id . "'"); + $path = $cmd_data['document_root']; + add_command('chattr -i ' . escapeshellarg($path)); + add_command('if [[ -f ' . $path . '/web/index.html ]] ; then rm ' . $path . '/web/index.html ; fi'); + add_command('rsync -av --modify-window 10 --progress -e ssh root@${MYSERVER}:' . $hosting['www_root'] . '/ ' . $path . '/web/'); + add_command('chown -R ' . $cmd_data['system_user'] . ':' . $cmd_data['system_group'] . ' ' . escapeshellarg($path)); + add_command('grep ' . escapeshellarg($hosting['www_root']) . ' ' . $path . '/web -r -l | xargs replace ' . escapeshellarg($hosting['www_root']) . ' ' . escapeshellarg($path . '/web') . ' --'); + add_command('chown -R root:root ' . escapeshellarg($path . '/log') . ' ' . escapeshellarg($path . '/ssl') . ' ' . escapeshellarg($path . '/web/stats')); + add_command('chattr +i ' . escapeshellarg($path)); } // add domain to mail domains too @@ -532,7 +557,7 @@ if(isset($_POST['start']) && $_POST['start'] == 1) { $new_id = $old_domain['domain_id']; $params = array_merge($old_domain, $params); $msg .= "Found mail domain with id " . $new_id . ", updating it.
"; - $ok = $importer->sites_web_aliasdomain_update($session_id, $plesk_ispc_ids[$domain_owners[$entry['dom_id']]], $new_id, $params); + $ok = $importer->mail_domain_update($session_id, $plesk_ispc_ids[$domain_owners[$entry['dom_id']]], $new_id, $params); if($ok === false) $msg .= "  Error: " . $importer->getFault() . "
"; } else { $new_id = $importer->mail_domain_add($session_id, $plesk_ispc_ids[$domain_owners[$entry['dom_id']]], $params); @@ -548,11 +573,155 @@ if(isset($_POST['start']) && $_POST['start'] == 1) { } } - // subdomains in plesk are real vhosts, so we have to treat them as vhostsubdomains - $subdomains = $exdb->queryAllRecords("SELECT d.id, d.dom_id, d.name, d.displayName, d.sys_user_id, d.ssi, d.php, d.cgi, d.perl, d.python, d.fastcgi, d.miva, d.coldfusion, d.asp, d.asp_dot_net, d.ssl, d.same_ssl, d.php_handler_type, d.www_root, d.maintenance_mode, d.certificate_id FROM subdomains as d"); $subdomain_ids = array(); $subdomain_roots = array(); $subdomain_owners = array(); + + $subdomains = $exdb->queryAllRecords("SELECT d.id, d.cr_date, d.name, d.displayName, d.dns_zone_id, d.status, d.htype, d.real_size, d.cl_id, d.limits_id, d.params_id, d.guid, d.overuse, d.gl_filter, d.vendor_id, d.webspace_id, d.webspace_status, d.permissions_id, d.external_id, d.parentDomainId FROM domains as d WHERE d.parentDomainId != 0"); + foreach($subdomains as $entry) { + $res = $exdb->query("SELECT d.dom_id, d.param, d.val FROM dom_param as d WHERE d.dom_id = '" . $entry['id'] . "'"); + $options = array(); + while($opt = $exdb->nextRecord()) { + $options[$opt['param']] = $opt['val']; + } + + $parent_domain = $exdb->queryOneRecord("SELECT d.id, d.cl_id, d.name FROM domains as d WHERE d.id = '" . $entry['parentDomainId'] . "'"); + $redir_type = ''; + $redir_path = ''; + + if($entry['htype'] === 'std_fwd') { + // redirection + $redir = $exdb->queryOneRecord("SELECT f.dom_id, f.ip_address_id, f.redirect FROM forwarding as f WHERE f.dom_id = '" . $entry['id'] . "'"); + $redir_type = 'R,L'; + $redir_path = $redir['redirect']; + } elseif($entry['htype'] === 'vrt_hst') { + // default virtual hosting (vhost) + } else { + /* TODO: unknown type */ + } + + $hosting = $exdb->queryOneRecord("SELECT h.dom_id, h.sys_user_id, h.ip_address_id, h.real_traffic, h.fp, h.fp_ssl, h.fp_enable, h.fp_adm, h.fp_pass, h.ssi, h.php, h.cgi, h.perl, h.python, h.fastcgi, h.miva, h.coldfusion, h.asp, h.asp_dot_net, h.ssl, h.webstat, h.same_ssl, h.traffic_bandwidth, h.max_connection, h.php_handler_type, h.www_root, h.maintenance_mode, h.certificate_id, s.login, s.account_id, s.home, s.shell, s.quota, s.mapped_to, a.password, a.type as `pwtype` FROM hosting as h LEFT JOIN sys_users as s ON (s.id = h.sys_user_id) LEFT JOIN accounts as a ON (s.account_id = a.id) WHERE h.dom_id = '" . $entry['id'] . "'"); + if($hosting['sys_user_id']) { + $dom_ftp_users[] = array('id' => 0, + 'dom_id' => $hosting['dom_id'], + 'sys_user_id' => $hosting['sys_user_id'], + 'login' => $hosting['login'], + 'account_id' => $hosting['account_id'], + 'home' => $hosting['home'], + 'shell' => $hosting['shell'], + 'quota' => $hosting['quota'], + 'mapped_to' => $hosting['mapped_to'], + 'password' => $hosting['password'], + 'pwtype' => $hosting['pwtype'] + ); + } + + $phpmode = 'no'; + if(get_option($hosting, 'php', 'false') === 'true') { + $mode = get_option($hosting, 'php_handler_type', 'module'); + if($mode === 'module') $phpmode = 'mod'; + else $phpmode = 'fast-cgi'; + /* TODO: what other options could be in "php_handler_type"? */ + } + /* TODO: plesk offers some more options: + * sys_user_id -> owner of files? + * ip_address_id - needed? + * fp - frontpage extensions + * miva - ? + * coldfusion + * asp + * asp_dot_net + * traffic_bandwidth + * max_connections + */ + + $web_folder = $hosting['www_root']; + $web_folder = preg_replace('/^\/(var|srv)\/www\/(vhosts\/)?[^\/]+\/(.*)\/httpdocs.*/', '$3', $web_folder); + + //if(substr($web_folder, 0, 1) === '/') $web_folder = substr($web_folder, 1); + //if(substr($web_folder, -1, 1) === '/') $web_folder = substr($web_folder, 0, -1); + $params = array( + 'server_id' => $server_id, + 'ip_address' => '*', + //'ipv6_address' => '', + 'domain' => $entry['name'], + 'web_folder' => $web_folder, + 'type' => 'vhostsubdomain', // can be vhost or alias + 'parent_domain_id' => $domain_ids[$entry['parentDomainId']], + 'vhost_type' => 'name', // or ip (-based) + 'hd_quota' => byte_to_mbyte(get_limit($limits, $entry['dom_id'], 'disk_space', -1)), + 'traffic_quota' => byte_to_mbyte(get_limit($limits, $entry['dom_id'], 'max_traffic', -1)), + 'cgi' => yes_no(get_option($hosting, 'cgi', 'false') === 'true' ? 1 : 0), + 'ssi' => yes_no(get_option($hosting, 'ssi', 'false') === 'true' ? 1 : 0), + 'suexec' => yes_no(1), // does plesk use this?! + 'errordocs' => get_option($options, 'apacheErrorDocs', 'false') === 'true' ? 1 : 0, + 'subdomain' => '', // plesk always uses this option + 'ssl' => yes_no(get_option($hosting, 'ssl', 'false') === 'true' ? 1 : 0), + 'php' => $phpmode, + 'fastcgi_php_version' => '', // plesk has no different php versions + 'ruby' => yes_no(0), // plesk has no ruby support + 'python' => yes_no(get_option($hosting, 'python', 'false') === 'true' ? 1 : 0), + 'active' => yes_no(($entry['status'] == 0 && get_option($hosting, 'maintenance_mode', 'false') !== 'true') ? 1 : 0), + 'redirect_type' => $redir_type, + 'redirect_path' => $redir_path, + 'seo_redirect' => '', + 'ssl_state' => $entry[''], + 'ssl_locality' => $entry[''], + 'ssl_organisation' => $entry[''], + 'ssl_organisation_unit' => $entry[''], + 'ssl_country' => $entry[''], + 'ssl_domain' => $entry[''], + 'ssl_request' => $entry[''], + 'ssl_cert' => $entry[''], + 'ssl_bundle' => $entry[''], + 'ssl_action' => $entry[''], + 'stats_password' => '', + 'stats_type' => get_option($hosting, 'webstat', 'webalizer') === 'awstats' ? 'awstats' : 'webalizer', + 'backup_interval' => 'none', + 'backup_copies' => 1, + 'allow_override' => 'All', + 'pm_process_idle_timeout' => 10, + 'pm_max_requests' => 0 + ); + + $old_domain = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain = '" . $entry['name'] . "'"); + if(!$old_domain) $old_domain = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE CONCAT(subdomain, '.', domain) = '" . $entry['name'] . "'"); + if($old_domain) { + $new_id = $old_domain['domain_id']; + $params = array_merge($old_domain, $params); + $msg .= "Found domain " . $entry['name'] . " with id " . $new_id . ", updating it.
"; + $ok = $importer->sites_web_vhost_subdomain_update($session_id, $plesk_ispc_ids[$parent_domain['cl_id']], $new_id, $params); + if($ok === false) $msg .= "  Error: " . $importer->getFault() . "
"; + } else { + $new_id = $importer->sites_web_vhost_subdomain_add($session_id, $plesk_ispc_ids[$parent_domain['cl_id']], $params, true); // read only... + } + + $subdomain_ids[$entry['id']] = $new_id; + $subdomain_roots[$entry['id']] = $hosting['www_root']; + $subdomain_owners[$entry['id']] = $entry['cl_id']; + if($new_id === false) { + //something went wrong here... + $msg .= "Subdomain " . $entry['id'] . " (" . $entry['name'] . ") with folder \"" . $web_folder . "\" could not be inserted.
"; + $msg .= "  Error: " . $importer->getFault() . "
"; + } else { + $msg .= "Subdomain " . $entry['id'] . " (" . $entry['name'] . ") inserted.
"; + + $cmd_data = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = '" . $new_id . "'"); + $path = $cmd_data['document_root']; + add_command('chattr -i ' . escapeshellarg($path)); + add_command('if [[ -f ' . $path . '/' . $web_folder . '/index.html ]] ; then rm ' . $path . '/' . $web_folder . '/index.html ; fi'); + add_command('rsync -av --modify-window 10 --progress -e ssh root@${MYSERVER}:' . $hosting['www_root'] . '/ ' . $path . '/' . $web_folder . '/'); + add_command('chown -R ' . $cmd_data['system_user'] . ':' . $cmd_data['system_group'] . ' ' . escapeshellarg($path)); + add_command('grep ' . escapeshellarg($hosting['www_root']) . ' ' . $path . '/web -r -l | xargs replace ' . escapeshellarg($hosting['www_root']) . ' ' . escapeshellarg($path . '/web') . ' --'); + add_command('chown -R root:root ' . escapeshellarg($path . '/log') . ' ' . escapeshellarg($path . '/ssl') . ' ' . escapeshellarg($path . '/web/stats')); + add_command('chattr +i ' . escapeshellarg($path)); + + } + $domain_ids[$entry['id']] = $new_id; + } + + // subdomains in plesk are real vhosts, so we have to treat them as vhostsubdomains + $subdomains = $exdb->queryAllRecords("SELECT d.id, d.dom_id, d.name, d.displayName, d.sys_user_id, d.ssi, d.php, d.cgi, d.perl, d.python, d.fastcgi, d.miva, d.coldfusion, d.asp, d.asp_dot_net, d.ssl, d.same_ssl, d.php_handler_type, d.www_root, d.maintenance_mode, d.certificate_id FROM subdomains as d"); foreach($subdomains as $entry) { $res = $exdb->query("SELECT d.dom_id, d.param, d.val FROM dom_param as d WHERE d.dom_id = '" . $entry['dom_id'] . "'"); $options = array(); @@ -606,12 +775,15 @@ if(isset($_POST['start']) && $_POST['start'] == 1) { * max_connections */ + $web_folder = $entry['www_root']; + $web_folder = preg_replace('/^\/(var|srv)\/www\/(vhosts\/)?[^\/]+\/(.*)\/httpdocs.*/', '$3', $web_folder); + $params = array( 'server_id' => $server_id, 'ip_address' => '*', //'ipv6_address' => '', 'domain' => $entry['name'] . '.' . $parent_domain['name'], - 'web_folder' => $entry['www_root'], + 'web_folder' => $web_folder, 'type' => 'vhostsubdomain', // can be vhost or alias 'parent_domain_id' => $domain_ids[$entry['dom_id']], 'vhost_type' => 'name', // or ip (-based) @@ -671,6 +843,15 @@ if(isset($_POST['start']) && $_POST['start'] == 1) { $msg .= "  Error: " . $importer->getFault() . "
"; } else { $msg .= "Subdomain " . $entry['id'] . " (" . $entry['name'] . ") inserted.
"; + + $cmd_data = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = '" . $new_id . "'"); + $path = $cmd_data['document_root']; + add_command('chattr -i ' . escapeshellarg($path)); + add_command('if [[ -f ' . $path . '/' . $web_folder . '/index.html ]] ; then rm ' . $path . '/' . $web_folder . '/index.html ; fi'); + add_command('rsync -av --modify-window 10 --progress -e ssh root@${MYSERVER}:' . $entry['www_root'] . '/ ' . $path . '/' . $web_folder . '/'); + add_command('chown -R ' . $cmd_data['system_user'] . ':' . $cmd_data['system_group'] . ' ' . escapeshellarg($path)); + add_command('chown -R root:root ' . escapeshellarg($path . '/log') . ' ' . escapeshellarg($path . '/ssl') . ' ' . escapeshellarg($path . '/web/stats')); + add_command('chattr +i ' . escapeshellarg($path)); } } @@ -838,6 +1019,9 @@ if(isset($_POST['start']) && $_POST['start'] == 1) { 'parent_domain_id' => $domain_ids[$entry['dom_id']], 'path' => $entry['path'], 'active' => 'y'); + + $client_id = $plesk_ispc_ids[$domain_owners[$entry['dom_id']]]; + $folder_id = 0; $check = $app->db->queryOneRecord('SELECT * FROM `web_folder` WHERE `parent_domain_id` = \'' . $domain_ids[$entry['dom_id']] . '\' AND `path` = \'' . $app->db->quote($entry['path']) . '\''); if($check) { @@ -854,13 +1038,18 @@ if(isset($_POST['start']) && $_POST['start'] == 1) { $folder_ids[$entry['id']] = $folder_id; } - $pd_users = $exdb->queryAllRecords("SELECT u.id, u.login, u.account_id, u.pd_id, a.password FROM pd_users as u INNER JOIN accounts as a ON (a.id = u.account_id)"); - foreach($protected_dirs as $entry) { + $pd_users = $exdb->queryAllRecords("SELECT u.id, u.login, u.account_id, u.pd_id, a.password, d.dom_id FROM pd_users as u INNER JOIN protected_dirs as d ON (d.id = u.pd_id) INNER JOIN accounts as a ON (a.id = u.account_id)"); + foreach($pd_users as $entry) { $params = array('server_id' => $server_id, 'web_folder_id' => $folder_ids[$entry['pd_id']], 'username' => $entry['login'], 'password' => $entry['password'], 'active' => 'y'); + if($entry['login'] == '' || !isset($folder_ids[$entry['pd_id']])) { + $msg .= 'Skipping Folder user because of missing data.
'; + continue; + } + $client_id = $plesk_ispc_ids[$domain_owners[$entry['dom_id']]]; $check = $app->db->queryOneRecord('SELECT * FROM `web_folder_user` WHERE `web_folder_id` = ' . intval($folder_ids[$entry['pd_id']]) . ' AND `username` = \'' . $entry['login'] . '\''); if($check) { @@ -885,7 +1074,7 @@ if(isset($_POST['start']) && $_POST['start'] == 1) { $ftp_users = array_merge($ftp_users, $dom_ftp_users); foreach($ftp_users as $entry) { $parent_domain = $exdb->queryOneRecord("SELECT d.id, d.cl_id, d.name FROM domains as d WHERE d.id = '" . $entry['dom_id'] . "'"); - + if(!$entry['id']) continue; $ispc_dom_id = $domain_ids[$entry['dom_id']]; $client_id = $plesk_ispc_ids[$domain_owners[$entry['dom_id']]]; if(!$client_id) $client_id = 0; @@ -938,7 +1127,7 @@ if(isset($_POST['start']) && $_POST['start'] == 1) { $msg .= "FTP Account conflicts with other domain!
"; } else { $new_id = $old_ftp['ftp_user_id']; - $ok = $importer->sites_ftp_user_update($session_id, $client_id, $new_id, $params); + $ok = $importer->sites_ftp_user_update($session_id, $client_id, $new_id, array_merge($old_ftp, $params)); if($ok === false) $msg .= "  Error: " . $importer->getFault() . "
"; } } else { @@ -1011,7 +1200,7 @@ if(isset($_POST['start']) && $_POST['start'] == 1) { $old_mail = $app->db->queryOneRecord("SELECT mailuser_id FROM mail_user WHERE email = '" . $entry['mail_name'] . "@" . $parent_domain['name'] . "'"); if($old_mail) { $new_id = $old_mail['mailuser_id']; - $ok = $importer->mail_user_update($session_id, $client_id, $new_id, $params); + $ok = $importer->mail_user_update($session_id, $client_id, $new_id, array_merge($old_mail, $params)); if($ok === false) $msg .= "  Error: " . $importer->getFault() . "
"; } else { $new_id = $importer->mail_user_add($session_id, $client_id, $params); @@ -1023,6 +1212,13 @@ if(isset($_POST['start']) && $_POST['start'] == 1) { $msg .= "  Error: " . $importer->getFault() . "
"; } else { $msg .= "Mail " . $entry['id'] . " (" . $entry['mail_name'] . "@" . $parent_domain['name'] . ") inserted/updated.
"; + + add_command('rsync -av --delete-after --modify-window 10 --progress -e ssh root@${MYSERVER}:/var/qmail/mailnames/' . $parent_domain['name'] . '/' . strtolower($entry['mail_name']) . '/Maildir/ ' . $maildir . '/Maildir/'); + add_command('chown -R vmail:vmail ' . $maildir); + add_command('chmod 744 ' . $maildir . '/Maildir/subscriptions'); + add_command('chmod 600 ' . $maildir . '/Maildir/dovecot-*'); + add_command('chmod 700 ' . $maildir . '/Maildir/cur ' . $maildir . '/Maildir/new ' . $maildir . '/Maildir/tmp'); + add_command('chmod 600 ' . $maildir . '/Maildir/cur/* ' . $maildir . '/Maildir/new/* ' . $maildir . '/Maildir/tmp/*'); } $mail_ids[$entry['id']] = $new_id; } @@ -1041,7 +1237,7 @@ if(isset($_POST['start']) && $_POST['start'] == 1) { $old_mail = $app->db->queryOneRecord("SELECT forwarding_id FROM mail_forwarding WHERE source = '" . $entry['mail_name'] . "@" . $parent_domain['name'] . "' AND destination = '" . $redir['address'] . "'"); if($old_mail) { $new_id = $old_mail['forwarding_id']; - $ok = $importer->mail_forward_update($session_id, $client_id, $new_id, $params); + $ok = $importer->mail_forward_update($session_id, $client_id, $new_id, array_merge($old_mail, $params)); if($ok === false) $msg .= "  Error: " . $importer->getFault() . "
"; } else { $new_id = $importer->mail_forward_add($session_id, $client_id, $params); @@ -1080,7 +1276,7 @@ if(isset($_POST['start']) && $_POST['start'] == 1) { $old_mail = $app->db->queryOneRecord("SELECT forwarding_id FROM mail_forwarding WHERE source = '" . $entry['alias'] . "@" . $parent_domain['name'] . "' AND destination = '" . $entry['mail_name'] . "@" . $parent_domain['name'] . "'"); if($old_mail) { $new_id = $old_mail['forwarding_id']; - $ok = $importer->mail_alias_update($session_id, $client_id, $new_id, $params); + $ok = $importer->mail_alias_update($session_id, $client_id, $new_id, array_merge($old_mail, $params)); if($ok === false) $msg .= "  Error: " . $importer->getFault() . "
"; } else { $new_id = $importer->mail_alias_add($session_id, $client_id, $params); @@ -1108,12 +1304,15 @@ if(isset($_POST['start']) && $_POST['start'] == 1) { $db_userids = array(); - $db_users = $exdb->queryAllRecords("SELECT u.id, u.login, u.account_id, u.db_id, a.password, a.type as `pwtype` FROM db_users as u LEFT JOIN accounts as a ON (a.id = u.account_id)"); + $db_users = $exdb->queryAllRecords("SELECT u.id, u.login, u.account_id, u.db_id, a.password, a.type as `pwtype`, d.dom_id FROM db_users as u INNER JOIN data_bases as d ON (d.id = u.db_id) LEFT JOIN accounts as a ON (a.id = u.account_id)"); foreach($db_users as $db_user) { // database user $params = array('server_id' => $server_id, 'database_user' => $db_user['login'], 'database_password' => $db_user['password']); + + $client_id = $plesk_ispc_ids[$domain_owners[$db_user['dom_id']]]; + $check = $app->db->queryOneRecord('SELECT * FROM `web_database_user` WHERE `database_user` = \'' . $app->db->quote($db_user['login']) . '\''); $db_user_id = 0; if($check) { @@ -1127,6 +1326,8 @@ if(isset($_POST['start']) && $_POST['start'] == 1) { if(!isset($db_userids[$db_user['db_id']])) $db_userids[$db_user['db_id']] = $db_user_id; $msg .= 'Created / updated database user: ' . $db_user['login'] . '
'; } + + add_command('# DATABASES'); $databases = $exdb->queryAllRecords("SELECT d.id, d.name, d.type, d.dom_id, d.db_server_id, d.default_user_id FROM `data_bases` as d"); foreach($databases as $database) { @@ -1141,6 +1342,8 @@ if(isset($_POST['start']) && $_POST['start'] == 1) { 'active' => 'y', 'remote_ips' => ''); + $client_id = $plesk_ispc_ids[$domain_owners[$database['dom_id']]]; + $check = $app->db->queryOneRecord('SELECT * FROM `web_database` WHERE `database_name` = \'' . $app->db->quote($database['name']) . '\''); if($check) { $ok = $importer->sites_database_update($session_id, $client_id, $check['database_id'], array_merge($check, $params)); @@ -1149,6 +1352,9 @@ if(isset($_POST['start']) && $_POST['start'] == 1) { $importer->sites_database_add($session_id, $client_id, $params); } + add_command('for T in `mysql -u ${MYSQL_IMPORT_USER} -p${MYSQL_IMPORT_PASS} ' . $database['name'] . ' -e \'show tables\' | awk \'{ print $1}\' | grep -v \'^Tables\'` ; do echo "DROP TABLE \\`$T\\`" ; mysql -u ${MYSQL_IMPORT_USER} -p${MYSQL_IMPORT_PASS} ' . $database['name'] . ' -e "DROP TABLE \\`$T\\`" ; done'); + add_command('mysqldump -cCQ --quote-names --hex-blob -h ${MYSERVER} -u ${MYSQL_EXPORT_USER} -p${MYSQL_EXPORT_PASS} ' . $database['name'] . ' | mysql -D ' . $database['name'] . ' -u ${MYSQL_IMPORT_USER} -p${MYSQL_IMPORT_PASS}'); + $msg .= 'Created / updated database: ' . $database['name'] . '
'; } @@ -1187,6 +1393,13 @@ if(isset($_POST['start']) && $_POST['start'] == 1) { id, login, account_id, home, shell, quota, mapped_to */ + add_command('unset MYSERVER'); + add_command('unset MYSQL_EXPORT_USER'); + add_command('unset MYSQL_EXPORT_PASS'); + add_command('unset MYSQL_IMPORT_USER'); + add_command('unset MYSQL_IMPORT_PASS'); + add_command('# END'); + file_put_contents('/tmp/plesk_import_commands.sh', $COMMANDS); } else { $msg .= 'Connecting to external database failed!
'; $msg .= $exdb->connect_error; diff --git a/interface/web/tools/import_vpopmail.php b/interface/web/tools/import_vpopmail.php new file mode 100644 index 0000000000..cb99794185 --- /dev/null +++ b/interface/web/tools/import_vpopmail.php @@ -0,0 +1,267 @@ +auth->check_module_permissions('admin'); + +//* This is only allowed for administrators +if(!$app->auth->is_admin()) die('only allowed for administrators.'); + +$app->uses('tpl,auth'); + +$app->tpl->newTemplate('form.tpl.htm'); +$app->tpl->setInclude('content_tpl', 'templates/import_vpopmail.htm'); +$msg = ''; +$error = ''; + +//* load language file +$lng_file = 'lib/lang/'.$_SESSION['s']['language'].'_import_vpopmail.lng'; +include($lng_file); +$app->tpl->setVar($wb); + +if(isset($_POST['db_hostname']) && $_POST['db_hostname'] != '') { + + //* Set external Login details + $conf['imp_db_host'] = $_POST['db_hostname']; + $conf['imp_db_database'] = $_POST['db_name']; + $conf['imp_db_user'] = $_POST['db_user']; + $conf['imp_db_password'] = $_POST['db_password']; + $conf['imp_db_charset'] = 'utf8'; + $conf['imp_db_new_link'] = false; + $conf['imp_db_client_flags'] = 0; + + //* create new db object + $exdb = new db('imp'); + + if($exdb !== false) { + $msg .= 'Databse connection succeeded
'; + + $local_server_id = intval($_POST['local_server_id']); + $tmp = $app->db->queryOneRecord("SELECT mail_server FROM server WHERE server_id = $local_server_id"); + + if($tmp['mail_server'] == 1) { + start_import(); + } else { + $msg .= 'The server with the ID $local_server_id is not a mail server.
'; + } + + } else { + $msg .= 'Database connection failed
'; + } + +} else { + $_POST['local_server_id'] = 1; +} + +$app->tpl->setVar('db_hostname',$_POST['db_hostname']); +$app->tpl->setVar('db_user',$_POST['db_user']); +$app->tpl->setVar('db_password',$_POST['db_password']); +$app->tpl->setVar('db_name',$_POST['db_name']); +$app->tpl->setVar('local_server_id',$_POST['local_server_id']); +$app->tpl->setVar('msg',$msg); +$app->tpl->setVar('error',$error); + +$app->tpl_defaults(); +$app->tpl->pparse(); + +########################################################### + +function start_import() { + global $app, $conf, $msg, $error, $exdb, $local_server_id; + + //* Import the clients + $records = $exdb->queryAllRecords("SELECT * FROM vpopmail WHERE pw_name = 'postmaster'"); + if(is_array($records)) { + foreach($records as $rec) { + $pw_domain = $rec['pw_domain']; + //* Check if we have a client with that username already + $tmp = $app->db->queryOneRecord("SELECT count(client_id) as number FROM client WHERE username = '$pw_domain'"); + if($tmp['number'] == 0) { + $pw_crypt_password = $app->auth->crypt_password($rec['pw_clear_passwd']); + $country = 'FI'; + + //* add client + $sql = "INSERT INTO `client` (`sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `company_name`, `company_id`, `contact_name`, `customer_no`, `vat_id`, `street`, `zip`, `city`, `state`, `country`, `telephone`, `mobile`, `fax`, `email`, `internet`, `icq`, `notes`, `bank_account_owner`, `bank_account_number`, `bank_code`, `bank_name`, `bank_account_iban`, `bank_account_swift`, `default_mailserver`, `limit_maildomain`, `limit_mailbox`, `limit_mailalias`, `limit_mailaliasdomain`, `limit_mailforward`, `limit_mailcatchall`, `limit_mailrouting`, `limit_mailfilter`, `limit_fetchmail`, `limit_mailquota`, `limit_spamfilter_wblist`, `limit_spamfilter_user`, `limit_spamfilter_policy`, `default_webserver`, `limit_web_ip`, `limit_web_domain`, `limit_web_quota`, `web_php_options`, `limit_cgi`, `limit_ssi`, `limit_perl`, `limit_ruby`, `limit_python`, `force_suexec`, `limit_hterror`, `limit_wildcard`, `limit_ssl`, `limit_web_subdomain`, `limit_web_aliasdomain`, `limit_ftp_user`, `limit_shell_user`, `ssh_chroot`, `limit_webdav_user`, `limit_aps`, `default_dnsserver`, `limit_dns_zone`, `limit_dns_slave_zone`, `limit_dns_record`, `default_dbserver`, `limit_database`, `limit_cron`, `limit_cron_type`, `limit_cron_frequency`, `limit_traffic_quota`, `limit_client`, `limit_mailmailinglist`, `limit_openvz_vm`, `limit_openvz_vm_template_id`, `parent_client_id`, `username`, `password`, `language`, `usertheme`, `template_master`, `template_additional`, `created_at`, `id_rsa`, `ssh_rsa`) + VALUES(1, 1, 'riud', 'riud', '', '', '', '$pw_domain', '', '', '', '', '', '', '$country', '', '', '', '', 'http://', '', '', '', '', '', '', '', '', 1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, 0, 0, 0, 1, NULL, -1, -1, 'no,fast-cgi,cgi,mod,suphp', 'n', 'n', 'n', 'n', 'n', 'y', 'n', 'n', 'n', -1, -1, -1, 0, 'no,jailkit', 0, 0, 1, -1, -1, -1, 1, -1, 0, 'url', 5, -1, 0, -1, 0, 0, 0, '$pw_domain', '$pw_crypt_password', '".$conf['language']."', 'default', 0, '', NOW(), '', '')"; + $app->db->query($sql); + $client_id = $app->db->insertID(); + + //* add sys_group + $groupid = $app->db->datalogInsert('sys_group', "(name,description,client_id) VALUES ('".$app->db->quote($pw_domain)."','',".$client_id.")", 'groupid'); + $groups = $groupid; + + $username = $app->db->quote($pw_domain); + $password = $pw_crypt_password; + $modules = $conf['interface_modules_enabled']; + $startmodule = 'dashboard'; + $usertheme = $app->db->quote('default'); + $type = 'user'; + $active = 1; + $language = $app->db->quote($conf["language"]); + //$password = $app->auth->crypt_password($password); + + // Create the controlpaneluser for the client + //Generate ssh-rsa-keys + exec('ssh-keygen -t rsa -C '.$username.'-rsa-key-'.time().' -f /tmp/id_rsa -N ""'); + $app->db->query("UPDATE client SET created_at = ".time().", id_rsa = '".$app->db->quote(@file_get_contents('/tmp/id_rsa'))."', ssh_rsa = '".$app->db->quote(@file_get_contents('/tmp/id_rsa.pub'))."' WHERE client_id = ".$client_id); + exec('rm -f /tmp/id_rsa /tmp/id_rsa.pub'); + + // Create the controlpaneluser for the client + $sql = "INSERT INTO sys_user (username,passwort,modules,startmodule,app_theme,typ,active,language,groups,default_group,client_id) + VALUES ('$username','$password','$modules','$startmodule','$usertheme','$type','$active','$language',$groups,$groupid,".$client_id.")"; + $app->db->query($sql); + + //* Set the default servers + $tmp = $app->db->queryOneRecord('SELECT server_id FROM server WHERE mail_server = 1 AND mirror_server_id = 0 LIMIT 0,1'); + $default_mailserver = $app->functions->intval($tmp['server_id']); + $tmp = $app->db->queryOneRecord('SELECT server_id FROM server WHERE web_server = 1 AND mirror_server_id = 0 LIMIT 0,1'); + $default_webserver = $app->functions->intval($tmp['server_id']); + $tmp = $app->db->queryOneRecord('SELECT server_id FROM server WHERE dns_server = 1 AND mirror_server_id = 0 LIMIT 0,1'); + $default_dnsserver = $app->functions->intval($tmp['server_id']); + $tmp = $app->db->queryOneRecord('SELECT server_id FROM server WHERE db_server = 1 AND mirror_server_id = 0 LIMIT 0,1'); + $default_dbserver = $app->functions->intval($tmp['server_id']); + + $sql = "UPDATE client SET default_mailserver = $default_mailserver, default_webserver = $default_webserver, default_dnsserver = $default_dnsserver, default_dbserver = $default_dbserver WHERE client_id = ".$client_id; + $app->db->query($sql); + + $msg .= "Added Client $username.
"; + } else { + $msg .= "Client $username exists, skipped.
"; + } + } + } + + //* Import the mail domains + $records = $exdb->queryAllRecords("SELECT DISTINCT pw_domain FROM `vpopmail`"); + if(is_array($records)) { + foreach($records as $rec) { + $domain = $rec['pw_domain']; + + //* Check if domain exists already + $tmp = $app->db->queryOneRecord("SELECT count(domain_id) as number FROM mail_domain WHERE domain = '$domain'"); + if($tmp['number'] == 0) { + $user_rec = $app->db->queryOneRecord("SELECT * FROM sys_user WHERE username = '$domain'"); + $sys_userid = ($user_rec['userid'] > 0)?$user_rec['userid']:1; + $sys_groupid = ($user_rec['default_group'] > 0)?$user_rec['default_group']:1; + + $sql = "(`sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `server_id`, `domain`, `active`) + VALUES(".$sys_userid.", ".$sys_groupid.", 'riud', 'riud', '', $local_server_id, '$domain', 'y')"; + $app->db->datalogInsert('mail_domain', $sql, 'domain_id'); + $msg .= "Imported domain $domain
"; + } else { + $msg .= "Skipped domain $domain
"; + } + } + } + + //* Import mailboxes + $records = $exdb->queryAllRecords("SELECT * FROM `vpopmail`"); + if(is_array($records)) { + foreach($records as $rec) { + $domain = $rec['pw_domain']; + $email = $rec['pw_name'].'@'.$rec['pw_domain']; + + //* Check for duplicate mailboxes + $tmp = $app->db->queryOneRecord("SELECT count(mailuser_id) as number FROM mail_user WHERE email = '".$app->db->quote($email)."'"); + + if($tmp['number'] == 0) { + + //* get the mail domain for the mailbox + $domain_rec = $app->db->queryOneRecord("SELECT * FROM mail_domain WHERE domain = '$domain'"); + + if(is_array($domain_rec)) { + $pw_crypt_password = $app->auth->crypt_password($rec['pw_clear_passwd']); + $maildir_path = "/var/vmail/".$rec['pw_domain']."/".$rec['pw_name']; + + //* Insert the mailbox + $sql = "(`sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `server_id`, `email`, `login`, `password`, `name`, `uid`, `gid`, `maildir`, `quota`, `cc`, `homedir`, `autoresponder`, `autoresponder_start_date`, `autoresponder_end_date`, `autoresponder_subject`, `autoresponder_text`, `move_junk`, `custom_mailfilter`, `postfix`, `access`, `disableimap`, `disablepop3`, `disabledeliver`, `disablesmtp`, `disablesieve`, `disablelda`, `disabledoveadm`) + VALUES(".$domain_rec['sys_userid'].", ".$domain_rec['sys_groupid'].", 'riud', 'riud', '', $local_server_id, '$email', '$email', '$pw_crypt_password', '$email', 5000, 5000, '$maildir_path', 0, '', '/var/vmail', 'n', '0000-00-00 00:00:00', '0000-00-00 00:00:00', 'Out of office reply', '', 'n', '', 'y', 'n', 'n', 'n', 'n', 'n', 'n', 'n', 'n')"; + $app->db->datalogInsert('mail_user', $sql, 'mailuser_id'); + $msg .= "Imported mailbox $email
"; + } + }else { + $msg .= "Skipped mailbox $email
"; + } + } + } + + //* Import Aliases + $records = $exdb->queryAllRecords("SELECT * FROM `valias`"); + if(is_array($records)) { + foreach($records as $rec) { + + $email = $rec['alias'].'@'.$rec['domain']; + $target = ''; + + if(stristr($rec['valias_line'],'|')) { + //* Skipped + $msg .= "Skipped $email as target is a script pipe.
"; + } elseif (substr(trim($rec['valias_line']),-9) == '/Maildir/') { + $parts = explode('/',$rec['valias_line']); + $target_user = $parts[count($parts)-3]; + $target_domain = $parts[count($parts)-4]; + $target = $target_user.'@'.$target_domain; + } elseif (substr(trim($rec['valias_line']),0,1) == '&') { + $target = substr(trim($rec['valias_line']),1); + } elseif (stristr($rec['valias_line'],'@')) { + $target = $rec['valias_line']; + } else { + //* Unknown + $msg .= "Skipped $email as format of target ".$rec['valias_line']." is unknown.
"; + } + + //* Check for duplicate forwards + $tmp = $app->db->queryOneRecord("SELECT count(forwarding_id) as number FROM mail_forwarding WHERE source = '".$app->db->quote($email)."' AND destination = '".$app->db->quote($target)."'"); + + if($tmp['number'] == 0 && $target != '') { + + //* get the mail domain + $domain_rec = $app->db->queryOneRecord("SELECT * FROM mail_domain WHERE domain = '".$rec['domain']."'"); + + if(is_array($domain_rec)) { + $sql = "(`sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `server_id`, `source`, `destination`, `type`, `active`) + VALUES(".$domain_rec['sys_userid'].", ".$domain_rec['sys_groupid'].", 'riud', 'riud', '', $local_server_id, '".$app->db->quote($email)."', '".$app->db->quote($target)."', 'forward', 'y')"; + $app->db->datalogInsert('mail_forwarding', $sql, 'forwarding_id'); + } + $msg .= "Imported alias $email.
"; + } else { + $msg .= "Skipped alias $email as it exists already.
"; + } + } + } + +} + + +?> diff --git a/interface/web/tools/lib/lang/de.lng b/interface/web/tools/lib/lang/de.lng index 62e0debc46..5a1c501cb5 100644 --- a/interface/web/tools/lib/lang/de.lng +++ b/interface/web/tools/lib/lang/de.lng @@ -11,4 +11,3 @@ $wb['Import'] = 'Importieren'; $wb['ISPConfig 3 mail'] = 'ISPConfig 3 E-Mail'; $wb['PDNS Tupa'] = 'PowerDNS Tupa'; ?> - diff --git a/interface/web/tools/lib/lang/de_import_ispconfig.lng b/interface/web/tools/lib/lang/de_import_ispconfig.lng index eb3a8cf012..d8ae6cf1a7 100644 --- a/interface/web/tools/lib/lang/de_import_ispconfig.lng +++ b/interface/web/tools/lib/lang/de_import_ispconfig.lng @@ -21,4 +21,3 @@ $wb['import_forward_txt'] = 'Weiterleitungen importieren'; $wb['import_user_filter_txt'] = 'Benutzer Filter importieren'; $wb['import_spamfilter_txt'] = 'Spamfilter importieren'; ?> - diff --git a/interface/web/tools/lib/lang/de_index.lng b/interface/web/tools/lib/lang/de_index.lng index 0bfbcc7c13..8cde04515e 100644 --- a/interface/web/tools/lib/lang/de_index.lng +++ b/interface/web/tools/lib/lang/de_index.lng @@ -2,4 +2,3 @@ $wb['page_head_txt'] = 'ISPConfig Einstellungen'; $wb['page_desc_txt'] = 'Benutzereinstellungen ändern'; ?> - diff --git a/interface/web/tools/lib/lang/de_interface.lng b/interface/web/tools/lib/lang/de_interface.lng index 4ec5d9d870..2af008f763 100644 --- a/interface/web/tools/lib/lang/de_interface.lng +++ b/interface/web/tools/lib/lang/de_interface.lng @@ -5,4 +5,3 @@ $wb['language_txt'] = 'Sprache'; $wb['startmodule_txt'] = 'Startmodul'; $wb['app_theme_txt'] = 'Design'; ?> - diff --git a/interface/web/tools/lib/lang/de_resync.lng b/interface/web/tools/lib/lang/de_resync.lng index cf858b7df1..0387ae6265 100644 --- a/interface/web/tools/lib/lang/de_resync.lng +++ b/interface/web/tools/lib/lang/de_resync.lng @@ -11,4 +11,3 @@ $wb['resync_dns_txt'] = 'DNS Einträge'; $wb['btn_start_txt'] = 'Start'; $wb['btn_cancel_txt'] = 'Zurück'; ?> - diff --git a/interface/web/tools/lib/lang/de_tpl_default.lng b/interface/web/tools/lib/lang/de_tpl_default.lng index 40cfdc02aa..45de148b39 100644 --- a/interface/web/tools/lib/lang/de_tpl_default.lng +++ b/interface/web/tools/lib/lang/de_tpl_default.lng @@ -5,4 +5,3 @@ $wb['btn_cancel_txt'] = 'Zurück'; $wb['list_head_txt'] = 'Standard Design Einstellungen'; $wb['list_desc_txt'] = 'Spezielle Optionen des standard Designs ändern'; ?> - diff --git a/interface/web/tools/lib/lang/de_usersettings.lng b/interface/web/tools/lib/lang/de_usersettings.lng index 167a0f7dfe..908bbf6d5b 100644 --- a/interface/web/tools/lib/lang/de_usersettings.lng +++ b/interface/web/tools/lib/lang/de_usersettings.lng @@ -10,4 +10,3 @@ $wb['repeat_password_txt'] = 'Passwort wiederholen'; $wb['password_mismatch_txt'] = 'Die Passwörter stimmen nicht überein.'; $wb['password_match_txt'] = 'Die Passwörter stimmen überein.'; ?> - diff --git a/interface/web/tools/lib/lang/en_import_vpopmail.lng b/interface/web/tools/lib/lang/en_import_vpopmail.lng new file mode 100644 index 0000000000..1e4dd281f7 --- /dev/null +++ b/interface/web/tools/lib/lang/en_import_vpopmail.lng @@ -0,0 +1,8 @@ + diff --git a/interface/web/tools/templates/import_vpopmail.htm b/interface/web/tools/templates/import_vpopmail.htm new file mode 100644 index 0000000000..ade9476943 --- /dev/null +++ b/interface/web/tools/templates/import_vpopmail.htm @@ -0,0 +1,53 @@ +

+

+ +
+ +
+
{tmpl_var name="legend_txt"} +
+

Database Hostname

+
+ +
+
+
+

Database Name

+
+ +
+
+
+

Database User

+
+ +
+
+
+

Database password

+
+ +
+
+
+

Server ID of local mailserver

+
+ +
+
+
+
+ + +

+
+ +

ERROR

+
+ + +
+ + +
+
diff --git a/interface/web/vm/lib/lang/de.lng b/interface/web/vm/lib/lang/de.lng index a68f43f784..cc6559f220 100644 --- a/interface/web/vm/lib/lang/de.lng +++ b/interface/web/vm/lib/lang/de.lng @@ -5,4 +5,3 @@ $wb['VM Templates'] = 'VM Templates'; $wb['IP addresses'] = 'IP Adressen'; $wb['OpenVZ'] = 'OpenVZ'; ?> - diff --git a/interface/web/vm/lib/lang/de_openvz_action.lng b/interface/web/vm/lib/lang/de_openvz_action.lng index c0a5c0e519..f40d2f28b1 100644 --- a/interface/web/vm/lib/lang/de_openvz_action.lng +++ b/interface/web/vm/lib/lang/de_openvz_action.lng @@ -14,4 +14,3 @@ $wb['ostemplate_name_error'] = 'Der Name des OSTemplates enthält ungültige Zei $wb['ostemplate_name_unique_error'] = 'Es existiert bereits ein OSTemplate mit diesem Namen.'; $wb['ostemplate_exec_txt'] = 'Der Befehl um das OSTemplate zu erstellen wurde an den VM-Host gesendet. Es kann einige Minuten dauern bis das OSTemplate verfügbar ist.'; ?> - diff --git a/interface/web/vm/lib/lang/de_openvz_ip.lng b/interface/web/vm/lib/lang/de_openvz_ip.lng index b7b1498b78..48c9a520c4 100644 --- a/interface/web/vm/lib/lang/de_openvz_ip.lng +++ b/interface/web/vm/lib/lang/de_openvz_ip.lng @@ -7,4 +7,3 @@ $wb['ip_error_wrong'] = 'Bitte tragen Sie eine gültige IPv4-Adresse ein.'; $wb['ip_error_unique'] = 'Diese IP-Adresse existiert bereits.'; $wb['IP address'] = 'IP-Adresse'; ?> - diff --git a/interface/web/vm/lib/lang/de_openvz_ip_list.lng b/interface/web/vm/lib/lang/de_openvz_ip_list.lng index d214e95158..f4302d813a 100644 --- a/interface/web/vm/lib/lang/de_openvz_ip_list.lng +++ b/interface/web/vm/lib/lang/de_openvz_ip_list.lng @@ -5,4 +5,3 @@ $wb['vm_id_txt'] = 'VM'; $wb['ip_address_txt'] = 'IP-Adresse'; $wb['reserved_txt'] = 'Reserviert'; ?> - diff --git a/interface/web/vm/lib/lang/de_openvz_ostemplate.lng b/interface/web/vm/lib/lang/de_openvz_ostemplate.lng index e0fb9396db..8e4cfcb977 100644 --- a/interface/web/vm/lib/lang/de_openvz_ostemplate.lng +++ b/interface/web/vm/lib/lang/de_openvz_ostemplate.lng @@ -9,4 +9,3 @@ $wb['template_name_error_empty'] = 'Template-Name ist leer.'; $wb['template_file_error_empty'] = 'Template-Dateiname ist leer.'; $wb['Template'] = 'Template'; ?> - diff --git a/interface/web/vm/lib/lang/de_openvz_ostemplate_list.lng b/interface/web/vm/lib/lang/de_openvz_ostemplate_list.lng index 09a174ee8a..dff6bd2ded 100644 --- a/interface/web/vm/lib/lang/de_openvz_ostemplate_list.lng +++ b/interface/web/vm/lib/lang/de_openvz_ostemplate_list.lng @@ -6,4 +6,3 @@ $wb['server_id_txt'] = 'Server'; $wb['allservers_txt'] = 'Existiert auf allen Servern'; $wb['ostemplate_id_txt'] = 'ID'; ?> - diff --git a/interface/web/vm/lib/lang/de_openvz_template.lng b/interface/web/vm/lib/lang/de_openvz_template.lng index 9e76ecaac4..329a10601d 100644 --- a/interface/web/vm/lib/lang/de_openvz_template.lng +++ b/interface/web/vm/lib/lang/de_openvz_template.lng @@ -91,4 +91,3 @@ $wb['swappages_error_empty'] = 'Swappages ist leer.'; $wb['Template'] = 'Template'; $wb['Advanced'] = 'Erweitert'; ?> - diff --git a/interface/web/vm/lib/lang/de_openvz_template_list.lng b/interface/web/vm/lib/lang/de_openvz_template_list.lng index 682f2cc3c1..9e32b341b5 100644 --- a/interface/web/vm/lib/lang/de_openvz_template_list.lng +++ b/interface/web/vm/lib/lang/de_openvz_template_list.lng @@ -3,4 +3,3 @@ $wb['list_head_txt'] = 'OpenVZ Virtual Machine Template'; $wb['active_txt'] = 'Aktiv'; $wb['template_name_txt'] = 'Template-Name'; ?> - diff --git a/interface/web/vm/lib/lang/de_openvz_vm.lng b/interface/web/vm/lib/lang/de_openvz_vm.lng index b45a79fef2..c773885c69 100644 --- a/interface/web/vm/lib/lang/de_openvz_vm.lng +++ b/interface/web/vm/lib/lang/de_openvz_vm.lng @@ -38,4 +38,3 @@ $wb['template_nameserver_error_empty'] = 'Nameserver ist leer.'; $wb['Virtual server'] = 'Virtueller Server'; $wb['Advanced'] = 'Erweitert'; ?> - diff --git a/interface/web/vm/lib/lang/de_openvz_vm_list.lng b/interface/web/vm/lib/lang/de_openvz_vm_list.lng index aecb4621e7..0b3ac30c7f 100644 --- a/interface/web/vm/lib/lang/de_openvz_vm_list.lng +++ b/interface/web/vm/lib/lang/de_openvz_vm_list.lng @@ -8,4 +8,3 @@ $wb['hostname_txt'] = 'Hostname'; $wb['ip_address_txt'] = 'IP-Adresse'; $wb['veid_txt'] = 'VEID'; ?> - diff --git a/server/cron_daily.php b/server/cron_daily.php index 19fe2ad5b3..1e0f238212 100644 --- a/server/cron_daily.php +++ b/server/cron_daily.php @@ -2,4 +2,4 @@ # the cron daily file is no longer used and was replaced by cron.php -?> +?> \ No newline at end of file diff --git a/server/lib/classes/aps_installer.inc.php b/server/lib/classes/aps_installer.inc.php index 6cb922f674..f7944875f2 100644 --- a/server/lib/classes/aps_installer.inc.php +++ b/server/lib/classes/aps_installer.inc.php @@ -445,11 +445,11 @@ class ApsInstaller extends ApsBase $this->file_owner_user = $owner_res['system_user']; $this->file_owner_group = $owner_res['system_group']; exec('chown -R '.$this->file_owner_user.':'.$this->file_owner_group.' '.escapeshellarg($this->local_installpath)); - - //* Chown stats directory back - if(is_dir($this->local_installpath.'stats')) { - exec('chown -R root:root '.escapeshellarg($this->local_installpath.'stats')); - } + + //* Chown stats directory back + if(is_dir($this->local_installpath.'stats')) { + exec('chown -R root:root '.escapeshellarg($this->local_installpath.'stats')); + } } } catch(Exception $e) @@ -717,4 +717,4 @@ class ApsInstaller extends ApsBase unset($sxe); } } -?> \ No newline at end of file +?> diff --git a/server/lib/classes/monitor_tools.inc.php b/server/lib/classes/monitor_tools.inc.php index 59c2c7ca42..42ef73ff8e 100644 --- a/server/lib/classes/monitor_tools.inc.php +++ b/server/lib/classes/monitor_tools.inc.php @@ -455,6 +455,9 @@ class monitor_tools { $logfile = '/var/log/fail2ban.log'; } break; + case 'log_mongodb': + $logfile = '/var/log/mongodb/mongodb.log'; + break; case 'log_ispconfig': if ($dist == 'debian') { $logfile = $conf['ispconfig_log_dir'] . '/ispconfig.log'; diff --git a/server/mods-available/rescue_core_module.inc.php b/server/mods-available/rescue_core_module.inc.php index 49012d50a0..d3d3621ad1 100644 --- a/server/mods-available/rescue_core_module.inc.php +++ b/server/mods-available/rescue_core_module.inc.php @@ -35,7 +35,7 @@ class rescue_core_module { /* No actions at this time. maybe later... */ var $actions_available = array(); /** - * The monitoring-Data of this module. + * The monitoring-Data of this module. * [0] are the actual data, [1] are the data 1 minnute ago [2] are teh data 2 minuntes... */ private $_monitoringData = array(); diff --git a/server/plugins-available/apache2_plugin.inc.php b/server/plugins-available/apache2_plugin.inc.php index 2e1e80ce85..fb741dc48e 100644 --- a/server/plugins-available/apache2_plugin.inc.php +++ b/server/plugins-available/apache2_plugin.inc.php @@ -88,8 +88,97 @@ class apache2_plugin { $app->plugins->registerEvent('ftp_user_delete',$this->plugin_name,'ftp_user_delete'); + $app->plugins->registerAction('php_ini_changed', $this->plugin_name, 'php_ini_changed'); } + + // check for php.ini changes + + + // Handle php.ini changes + function php_ini_changed($event_name, $data) { + global $app, $conf; + + $app->uses('getconf'); + $web_config = $app->getconf->get_server_config($conf['server_id'], 'web'); + $fastcgi_config = $app->getconf->get_server_config($conf['server_id'], 'fastcgi'); + + /* $data contains an array with these keys: + * file -> full path of changed php_ini + * mode -> web_domain php modes to change (mod, fast-cgi, php-fpm or '' for all except 'mod') + * php_version -> php ini path that changed (additional php versions) + */ + + $qrystr = "SELECT * FROM web_domain WHERE custom_php_ini != ''"; + if($data['mode'] == 'mod') { + $qrystr .= " AND php = 'mod'"; + } elseif($data['mode'] == 'fast-cgi') { + $qrystr .= " AND php = 'fast-cgi'"; + if($data['php_version']) { + $qrystr .= " AND fastcgi_php_version LIKE '%:" . $app->db->quote($data['php_version']) . "'"; + } + } elseif($data['mode'] == 'php-fpm') { + $qrystr .= " AND php = 'php-fpm'"; + if($data['php_version']) { + $qrystr .= " AND fastcgi_php_version LIKE '%:" . $app->db->quote($data['php_version']) . ":%'"; + } + } else { + $qrystr .= " AND php != 'mod' AND php != 'fast-cgi'"; + } + + + //** Get all the webs + $web_domains = $app->db->queryAllRecords($qrystr); + foreach($web_domains as $web_data) { + $custom_php_ini_dir = $web_config['website_basedir'].'/conf/'.$web_data['system_user']; + $web_folder = 'web'; + if($web_data['type'] == 'vhostsubdomain') { + $web_folder = $web_data['web_folder']; + $custom_php_ini_dir .= '_' . $web_folder; + } + if(!is_dir($web_config['website_basedir'].'/conf')) $app->system->mkdir($web_config['website_basedir'].'/conf'); + + if(!is_dir($custom_php_ini_dir)) $app->system->mkdir($custom_php_ini_dir); + $php_ini_content = ''; + if($web_data['php'] == 'mod') { + $master_php_ini_path = $web_config['php_ini_path_apache']; + } else { + if($web_data['php'] == 'fast-cgi' && file_exists($fastcgi_config["fastcgi_phpini_path"])) { + $master_php_ini_path = $fastcgi_config["fastcgi_phpini_path"]; + } else { + $master_php_ini_path = $web_config['php_ini_path_cgi']; + } + } + if($master_php_ini_path != '' && substr($master_php_ini_path,-7) == 'php.ini' && is_file($master_php_ini_path)) { + $php_ini_content .= $app->system->file_get_contents($master_php_ini_path)."\n"; + } + $php_ini_content .= str_replace("\r",'',trim($web_data['custom_php_ini'])); + $app->system->file_put_contents($custom_php_ini_dir.'/php.ini',$php_ini_content); + $app->log('Info: rewrote custom php.ini for web ' . $web_data['domain_id'] . ' (' . $web_data['domain'] . ').',LOGLEVEL_DEBUG); + } + + if(count($web_domains) > 0) { + //* We do not check the apache config here - we only changed the php.ini + //* Check if this is a chrooted setup + if($web_config['website_basedir'] != '' && @is_file($web_config['website_basedir'].'/etc/passwd')) { + $apache_chrooted = true; + $app->log('Info: Apache is chrooted.',LOGLEVEL_DEBUG); + } else { + $apache_chrooted = false; + } + + $app->log('Info: rewrote all php.ini and reloading apache now.',LOGLEVEL_DEBUG); + if($apache_chrooted) { + $app->services->restartServiceDelayed('httpd','restart'); + } else { + // request a httpd reload when all records have been processed + $app->services->restartServiceDelayed('httpd','reload'); + } + } else { + $app->log('Info: No webs affected by php.ini change.',LOGLEVEL_DEBUG); + } + } + // Handle the creation of SSL certificates function ssl($event_name,$data) { global $app, $conf; @@ -1339,23 +1428,23 @@ class apache2_plugin { if(count($ipv4_ssl_alias_seo_redirects) > 0) $tmp_vhost_arr = $tmp_vhost_arr + array('alias_seo_redirects' => $ipv4_ssl_alias_seo_redirects); $vhosts[] = $tmp_vhost_arr; unset($tmp_vhost_arr, $ipv4_ssl_alias_seo_redirects); - $app->log('Enable SSL for: '.$domain,LOGLEVEL_DEBUG); - } - - //* Add vhost for IPv6 IP - if($data['new']['ipv6_address'] != '') { - if ($conf['serverconfig']['web']['vhost_rewrite_v6'] == 'y') { - if (isset($conf['serverconfig']['server']['v6_prefix']) && $conf['serverconfig']['server']['v6_prefix'] <> '') { - $explode_v6prefix=explode(':',$conf['serverconfig']['server']['v6_prefix']); - $explode_v6=explode(':',$data['new']['ipv6_address']); - - for ( $i = 0; $i <= count($explode_v6prefix)-3; $i++ ) { - $explode_v6[$i] = $explode_v6prefix[$i]; - } - $data['new']['ipv6_address'] = implode(':',$explode_v6); - } - } - + $app->log('Enable SSL for: '.$domain,LOGLEVEL_DEBUG); + } + + //* Add vhost for IPv6 IP + if($data['new']['ipv6_address'] != '') { + if ($conf['serverconfig']['web']['vhost_rewrite_v6'] == 'y') { + if (isset($conf['serverconfig']['server']['v6_prefix']) && $conf['serverconfig']['server']['v6_prefix'] <> '') { + $explode_v6prefix=explode(':',$conf['serverconfig']['server']['v6_prefix']); + $explode_v6=explode(':',$data['new']['ipv6_address']); + + for ( $i = 0; $i <= count($explode_v6prefix)-3; $i++ ) { + $explode_v6[$i] = $explode_v6prefix[$i]; + } + $data['new']['ipv6_address'] = implode(':',$explode_v6); + } + } + $tmp_vhost_arr = array('ip_address' => '['.$data['new']['ipv6_address'].']', 'ssl_enabled' => 0, 'port' => 80); if(count($rewrite_rules) > 0) $tmp_vhost_arr = $tmp_vhost_arr + array('redirects' => $rewrite_rules); if(count($alias_seo_redirects) > 0) $tmp_vhost_arr = $tmp_vhost_arr + array('alias_seo_redirects' => $alias_seo_redirects); diff --git a/server/plugins-available/backup_plugin.inc.php b/server/plugins-available/backup_plugin.inc.php index 78be959e6d..5da8fc072a 100644 --- a/server/plugins-available/backup_plugin.inc.php +++ b/server/plugins-available/backup_plugin.inc.php @@ -80,7 +80,33 @@ class backup_plugin { $app->log('cp '.$backup_dir.'/'.$backup['filename'].' '.$web['document_root'].'/backup/'.$backup['filename'],LOGLEVEL_DEBUG); } } - + + //* Restore a MongoDB backup + if($action_name == 'backup_restore' && $backup['backup_type'] == 'mongodb') { + if(file_exists($backup_dir.'/'.$backup['filename'])) { + //$parts = explode('_',$backup['filename']); + //$db_name = $parts[1]; + preg_match('@^db_(.+)_\d{4}-\d{2}-\d{2}_\d{2}-\d{2}\.tar\.gz$@', $backup['filename'], $matches); + $db_name = $matches[1]; + + // extract tar.gz archive + $dump_directory = str_replace(".tar.gz", "", $backup['filename']); + $extracted = "/usr/local/ispconfig/server/temp"; + exec("tar -xzvf ".escapeshellarg($backup_dir.'/'.$backup['filename'])." --directory=".escapeshellarg($extracted)); + $restore_directory = $extracted."/".$dump_directory."/".$db_name; + + // mongorestore -h 127.0.0.1 -u root -p 123456 --authenticationDatabase admin -d c1debug --drop ./toRestore + $command = "mongorestore -h 127.0.0.1 --port 27017 -u root -p 123456 --authenticationDatabase admin -d ".$db_name." --drop ".escapeshellarg($restore_directory); + exec($command); + exec("rm -rf ".escapeshellarg($extracted."/".$dump_directory)); + } + + unset($clientdb_host); + unset($clientdb_user); + unset($clientdb_password); + $app->log('Restored MongoDB backup '.$backup_dir.'/'.$backup['filename'],LOGLEVEL_DEBUG); + } + //* Restore a mysql backup if($action_name == 'backup_restore' && $backup['backup_type'] == 'mysql') { //* Load sql dump into db diff --git a/server/plugins-available/mongo_clientdb_plugin.inc.php b/server/plugins-available/mongo_clientdb_plugin.inc.php new file mode 100644 index 0000000000..545fe9e4bd --- /dev/null +++ b/server/plugins-available/mongo_clientdb_plugin.inc.php @@ -0,0 +1,820 @@ +plugins->registerEvent('database_insert',$this->plugin_name,'db_insert'); + $app->plugins->registerEvent('database_update',$this->plugin_name,'db_update'); + $app->plugins->registerEvent('database_delete',$this->plugin_name,'db_delete'); + + //* Database users + $app->plugins->registerEvent('database_user_insert',$this->plugin_name,'db_user_insert'); + $app->plugins->registerEvent('database_user_update',$this->plugin_name,'db_user_update'); + $app->plugins->registerEvent('database_user_delete',$this->plugin_name,'db_user_delete'); + } + + + /** + * MongoDB + * ------------------------------------------------------------------------ + * The following needs to be done before using this plugin: + * - 1. install MongoDB server from 10gen sources (or another one with >= 2.4) + * - 2. install php5-dev package (apt-get install php5-dev) + * - 3. install mongo PECL extension (pecl install mongo) + * - 4. enable mongo (echo "extension=mongo.so" > /etc/php5/mods-available/mongo.ini && php5enmod mongo) + * - 5. create administrative user manager in Mongo (mongo -> use admin -> db.addUser({user: "root", pwd: "123456", roles: [ "userAdminAnyDatabase", "readWriteAnyDatabase", "dbAdminAnyDatabase", "clusterAdmin" ]})) + * - 6. enable auth for Mongo (nano /etc/mongodb.conf -> auth = true) + * - 7. restart MongoDB (service mongodb restart) + * + * Unlike MySQL, MongoDB manages users per database. + * Therefor we cannot use one user for multiple databases. Instead, we have to add him each time via the admin user. + */ + + /** + * Stores the MongoDB connection. + * @var object + */ + private $_connection = null; + + /** + * Stores the MongoDB admin user. + * @var string + */ + const USER = "root"; + + /** + * Stores the MongoDB admin password. + * @var string + */ + const PW = "123456"; + + /** + * Stores the MongoDB host address. + * @var string + */ + const HOST = "127.0.0.1"; + + /** + * Stores the MongoDB port. + * @var int + */ + const PORT = 27017; + + /** + * Adds the user to given database. + * If no connection exists, the user already exists or the database doesn't exist, + * null is returned. + * + * @param string $db the database to use + * @param array $user the user to add + * @return bool true if user added + */ + private function addUser($db, $user) { + if ($this->isConnected() && !$this->userExists($db, $user)) { + $roles = ""; + + foreach ($user['roles'] as $index => $role) { + $roles .= "\"".$role."\""; + + if ($index !== count($user['roles']) - 1) { + $roles .= ", "; + } + } + + return $this->exec($db, "db.system.users.insert({ user: \"".$user['username']."\", pwd: \"".$user['password']."\", roles: [ ".$roles." ] })"); + //return $this->exec($db, "db.addUser({ user: \"".$user['username']."\", pwd: \"".$user['password']."\", roles: [ ".$roles." ] })"); + } + + return null; + } + + /** + * Changes the users password in given DB. + * If no connection exists, the user doesn't exist or the DB doesn't exist, + * null is returned. + * + * @param string $db the database name + * @param string $user the user to change + * @param string $password the new password + * @return bool true if password changes + */ + private function changePassword($db, $user, $password) { + if ($this->isConnected() && $this->dbExists($db) && $this->userExists($db, $user)) { + $old_user = $this->getUser($db, $user); + + if ($this->dropUser($user, $db)) { + return $this->addUser($db, array( + 'username' => $user, + 'password' => $password, + 'roles' => $old_user['roles'] + )); + } + + return false; + } + + return null; + } + + /** + * Connects to the server and authentificates. + * If the authentificaten goes wrong or another error encounters, + * false is returned. + * If we already have an open connection we try to disconnect and connect again. + * If this fails, false is returned. + * + * @return object $connection the MongoDB connection + */ + private function connect() { + try { + if ($this->isConnected() && !$this->disconnect()) { + return false; + } + + $this->_connection = new MongoClient("mongodb://".self::USER.":".self::PW."@".self::HOST.":".self::PORT."/admin"); + + return $this->_connection; + } catch (MongoConnnectionException $e) { + $app->log('Unable to connect to MongoDB: '.$e, LOGLEVEL_ERROR); + $this->_connection = null; + + return false; + } + } + + /** + * Checks if the database exists. + * If no connection exists, + * null is returned. + * + * @param string $db the database name + * @return bool true if exists + */ + private function dbExists($db) { + if ($this->isConnected()) { + return in_array($db, $this->getDBs()); + } + + return null; + } + + /** + * Closes the MongoDB connection. + * If no connection exists and nothing is done, + * null is returned. + * + * @return bool true if closed + */ + private function disconnect() { + if ($this->isConnected()) { + $status = $this->_connection->close(); + + if ($status) { + $this->_connection = null; + } + + return $status; + } + + return null; + } + + /** + * Drops the given database. + * If no connection exists or the database doesn't exist, + * null is returned. + * + * @param string $db the database's to drop name + */ + private function dropDB($db) { + if ($this->isConnected() && $this->dbExists($db)) { + return (bool) $this->_connection->dropDB($db)['ok']; + } + + return null; + } + + /** + * Drops the given user from database. + * If no DB is defined, the user is dropped from all databases. + * If there's an error when dropping the user from all DBs, an array containing the + * names of the failed DBs is returned. + * If no connection exists, the database doesn't exist or the user is not in DB, + * null is returned. + * + * @param string $user the user to drop + * @param string $db the database name + * @return bool true if dropped + */ + private function dropUser($user, $db = null) { + if ($this->isConnected()) { + if ($db !== null && $this->dbExists($db) && $this->userExists($db, $user)) { + return $this->exec($db, "db.removeUser(\"".$user."\")"); + } else { + $dbs = $this->getDBs(); + + if ((bool) $dbs) { + $failures = array(); + + foreach ($dbs as $db) { + $exists = $this->userExists($db, $user); + + if ($exists) { + if (!$this->dropUser($user, $db)) { + $failures[] = $db; + } + } + } + } + + return (bool) $failures ? $failures : true; + } + } + + return null; + } + + /** + * Executed the command on the MongoDB server. + * If no connection exists and thus nothing can be done, + * null is returned. + * + * @param string $db the database to query + * @param string $query the command to execute + * @return array the result of the query + */ + private function exec($db, $query) { + if ($this->isConnected()) { + $db = $this->selectDB($db); + $result = $db->execute($query); + + if ((bool) $result['ok']) { + return $result; + } + + return false; + } + + return null; + } + + /** + * Checks if the connection exists. + * + * @return true if connected + */ + private function isConnected() { + return $this->_connection !== null; + } + + /** + * Generates a MongoDB compatible password. + * + * @param string $user the username + * @param string $password the user password + * @return string the MD5 string + */ + private function generatePassword($user, $password) { + return md5($user.":mongo:".$password); + } + + /** + * Returns the databases found on connection. + * If no connection exists and therefor no DBs can be found, + * null is returned. + * + * @return array $names the databases's name + */ + private function getDBs() { + if ($this->isConnected()) { + $dbs = $this->_connection->listDBs(); + + if ((bool) $dbs && isset($dbs['databases'])) { + $names = array(); + + foreach ($dbs['databases'] as $db) { + $names[] = $db['name']; + } + + return $names; + } + } + + return null; + } + + /** + * Returns the user entry for given database. + * If no connection exists, the database doesn't exist or the user doesn't exist + * null is returned. + * + * @param string $db the database name + * @param string $user the user to return + * @return array $user the user in DB + */ + private function getUser($db, $user) { + if ($this->isConnected() && $this->dbExists($db) && $this->userExists($db, $user)) { + $result = $this->selectDB($db)->selectCollection("system.users")->find(array( 'user' => $user )); + + // ugly fix to return user + foreach ($result as $user) { + return $user; + } + } + + return null; + } + + /** + * Returns the users for given database. + * If no connection exists or the database doesn't exist, + * null is returned. + * + * @param string $db the database name + * @return array $users the users in DB + */ + private function getUsers($db) { + if ($this->isConnected() && $this->dbExists($db)) { + $result = $this->selectDB($db)->selectCollection("system.users")->find(); + + $users = array(); + + foreach ($result as $record) { + $users[] = $record['user']; + } + + return $users; + } + + return null; + } + + /** + * Checks if the given user exists in given database. + * If no connection exists or the given database doesn't exist + * null is returned. + * + * @param string $db the database name + * @param string $user the user to check + * @return bool true if user exists + */ + private function userExists($db, $user) { + if ($this->isConnected() && $this->dbExists($db)) { + $users = $this->getUsers($db); + + return in_array($user, $users); + } + + return null; + } + + /** + * Renames the MongoDB database to provided name. + * If no connection exists, the source DB doesn't exist or the target DB already exists, + * null is returned. + * + * @param string $old_name the old database name + * @param string $new_name the new database name + * @return bool true if renamed + */ + private function renameDB($old_name, $new_name) { + if ($this->isConnected() && $this->dbExists($old_name) && !$this->dbExists($new_name)) { + if ($this->exec($old_name, "db.copyDatabase(\"".$old_name."\", \"".$new_name."\", \"".self::HOST."\", \"".self::USER."\", \"".self::PW."\")")) { + $this->dropDB($old_name); + + return true; + } + + return false; + } + + return null; + } + + /** + * Switched the selected database. + * MongoDB acts on a per-DB level (user management) and we always need to + * ensure we have the right DB selected. + * If no connection exists and thus nothing is done, + * null is returned. + * + * @param string $db the database to use + * @return object the MongoDB database object + */ + private function selectDB($db) { + if ($this->isConnected()) { + return $this->_connection->selectDB($db); + } + + return null; + } + + + /** + * This function is called when a DB is created from within the ISPConfig3 interface. + * We need to create the DB and allow all users to connect to it that are choosen. + * Since MongoDB doesn't create a DB before any data is stored in it, it's important + * to store the users so it contains data -> is created. + * + * @param string $event_name the name of the event (insert, update, delete) + * @param array $data the event data (old and new) + * @return only if something is wrong + */ + function db_insert($event_name, $data) { + global $app, $conf; + + // beside checking for MongoDB we also check if the DB is active because only then we add users + // -> MongoDB needs users to create the DB + if ($data['new']['type'] == 'mongo' && $data['new']['active'] == 'y') { + if ($this->connect() === false) { + $app->log("Unable to connect to MongoDB: Connecting using connect() failed.", LOGLEVEL_ERROR); + return; + } + + $db_user = $app->db->queryOneRecord("SELECT `database_user`, `database_password_mongo` FROM `web_database_user` WHERE `database_user_id` = '" . intval($data['new']['database_user_id']) . "'"); + $db_ro_user = $app->db->queryOneRecord("SELECT `database_user`, `database_password_mongo` FROM `web_database_user` WHERE `database_user_id` = '" . intval($data['new']['database_ro_user_id']) . "'"); + + $user = $db_user['database_user']; + $password = $db_user['database_password_mongo']; + + $ro_user = $db_ro_user['database_user']; + $ro_password = $db_ro_user['database_password_mongo']; + + $db = $data['new']['database_name']; + + if ((bool) $db_user) { + if ($user == 'root') { + $app->log("User root not allowed for client databases", LOGLEVEL_WARNING); + } else { + if (!$this->addUser($db, array( + 'username' => $user, + 'password' => $password, + 'roles' => array( + "readWrite", + "dbAdmin" + ) + ))) { + $app->log("Error while adding user: ".$user." to DB: ".$db, LOGLEVEL_WARNING); + } + } + } + + if ($db_ro_user && $data['new']['database_user_id'] != $data['new']['database_ro_user_id']) { + if ($user == 'root') { + $app->log("User root not allowed for client databases", LOGLEVEL_WARNING); + } else { + if (!$this->addUser($db, array( + 'username' => $ro_user, + 'password' => $ro_password, + 'roles' => array( + "read" + ) + ))) { + $app->log("Error while adding read-only user: ".$user." to DB: ".$db, LOGLEVEL_WARNING); + } + } + } + + $this->disconnect(); + } + } + + /** + * This function is called when a DB is updated from within the ISPConfig interface. + * Updating the DB needs a lot of changes. First, we need to recheck all users that + * have permissions to access the DB. Maybe we also need to rename the DB and change + * it's type (MySQL, MongoDB etc.)...hard work here :) + * + * @param string $event_name the name of the event (insert, update, delete) + * @param array $data the event data (old and new) + * @return only if something is wrong + */ + function db_update($event_name,$data) { + global $app, $conf; + + if ($data['old']['active'] == 'n' && $data['new']['active'] == 'n') { + return; + } + + // currently switching from MongoDB <-> MySQL isn't supported + if ($data['old']['type'] == 'mongo' && $data['new']['type'] == 'mongo') { + if ($this->connect() === false) { + $app->log("Unable to connect to MongoDB: Connecting using connect() failed.", LOGLEVEL_ERROR); + return; + } + + $db_user = $app->db->queryOneRecord("SELECT `database_user`, `database_password_mongo` FROM `web_database_user` WHERE `database_user_id` = '" . intval($data['new']['database_user_id']) . "'"); + $db_ro_user = $app->db->queryOneRecord("SELECT `database_user`, `database_password_mongo` FROM `web_database_user` WHERE `database_user_id` = '" . intval($data['new']['database_ro_user_id']) . "'"); + + $user = $db_user['database_user']; + $password = $db_user['database_password_mongo']; + + $ro_user = $db_ro_user['database_user']; + $ro_password = $db_ro_user['database_password_mongo']; + + $db = $data['new']['database_name']; + + // create the database user if database was disabled before + if ($data['new']['active'] == 'y' && $data['old']['active'] == 'n') { + // since MongoDB creates DBs on-the-fly we can use the db_insert method which takes care of adding + // users to a given DB + $this->db_insert($event_name, $data); + } else if ($data['new']['active'] == 'n' && $data['old']['active'] == 'y') { + $users = $this->getUsers($db); + + if ((bool) $users) { + foreach ($users as $user) { + $this->dropUser($user, $db); + } + } + } else { + // selected user has changed -> drop old one + if ($data['new']['database_user_id'] != $data['old']['database_user_id']) { + $old_db_user = $app->db->queryOneRecord("SELECT `database_user`, `database_password_mongo` FROM `web_database_user` WHERE `database_user_id` = '" . intval($data['old']['database_user_id']) . "'"); + + if ((bool) $old_db_user) { + if ($old_db_user['database_user'] == 'root') { + $app->log("User root not allowed for client databases", LOGLEVEL_WARNING); + } else { + $this->dropUser($old_db_user['database_user'], $db); + } + } + } + + // selected read-only user has changed -> drop old one + if ($data['new']['database_ro_user_id'] != $data['old']['database_ro_user_id']) { + $old_db_user = $app->db->queryOneRecord("SELECT `database_user`, `database_password_mongo` FROM `web_database_user` WHERE `database_user_id` = '" . intval($data['old']['database_ro_user_id']) . "'"); + + if ((bool) $old_db_user) { + if ($old_db_user['database_user'] == 'root') { + $app->log("User root not allowed for client databases",LOGLEVEL_WARNING); + } else { + $this->dropUser($old_db_user['database_user'], $db); + } + } + } + + // selected user has changed -> add new one + if ($data['new']['database_user_id'] != $data['old']['database_user_id']) { + if ((bool) $db_user) { + if ($user == 'root') { + $app->log("User root not allowed for client databases", LOGLEVEL_WARNING); + } else { + $this->addUser($db, array( + 'username' => $user, + 'password' => $password, + 'roles' => array( + "readWrite", + "dbAdmin" + ) + )); + } + } + } + + // selected read-only user has changed -> add new one + if ($data['new']['database_ro_user_id'] != $data['old']['database_ro_user_iduser_id']) { + if ((bool) $db_ro_user && $data['new']['database_user_id'] != $data['new']['database_ro_user_id']) { + if ($ro_user == 'root') { + $app->log("User root not allowed for client databases", LOGLEVEL_WARNING); + } else { + $this->addUser($db, array( + 'username' => $ro_user, + 'password' => $ro_password, + 'roles' => array( + "read" + ) + )); + } + } + } + + // renamed? + /* + if ($data['old']['database_name'] != $data['new']['database_name']) { + $old_name = $data['old']['database_name']; + $new_name = $data['new']['database_name']; + + if ($this->renameDB($oldName, $newName)) { + $app->log("Renamed MongoDB database: ".$old_name." -> ".$new_name, LOGLEVEL_DEBUG); + } else { + $app->log("Renaming MongoDB database failed: ".$old_name." -> ".$new_name, LOGLEVEL_WARNING); + } + } + */ + } + + // switching from MySQL <-> Mongo isn't supported + // no idea what we should do here...would be best to permit in interface? + + // remote access isn't supported by MongoDB (limiting to IP), + // we therefor don't listen for it's changes + } + + $this->disconnect(); + } + + /** + * This function is called when a DB is deleted from within the ISPConfig interface. + * All we need to do is to delete the database. + * + * @param string $event_name the name of the event (insert, update, delete) + * @param array $data the event data (old and new) + * @return only if something is wrong + */ + function db_delete($event_name,$data) { + global $app, $conf; + + if ($data['old']['type'] == 'mongo') { + if ($this->connect() === false) { + $app->log("Unable to connect to MongoDB: Connecting using connect() failed.", LOGLEVEL_ERROR); + return; + } + + $db_to_drop = $data['old']['database_name']; + + if ($this->dropDB($db_to_drop)) { + $app->log("Dropping MongoDB database: ".$db_to_drop, LOGLEVEL_DEBUG); + } else { + $app->log("Error while dropping MongoDB database: ".$db_to_drop, LOGLEVEL_WARNING); + } + + $this->disconnect(); + } + } + + + /** + * This function is called when a user is inserted from within the ISPConfig interface. + * Since users are separated from databases we don't do anything here. + * As soon as an user is associated to a DB, we add him there. + * + * @param string $event_name the name of the event (insert, update, delete) + * @param array $data the event data (old and new) + */ + function db_user_insert($event_name,$data) {} + + /** + * This function is called when a user is updated from within the ISPConfig interface. + * The only thing we need to listen for here are password changes. + * We than need to change those in all databases the user uses. + * + * @param string $event_name the name of the event (insert, update, delete) + * @param array $data the event data (old and new) + * @return only if something is wrong + */ + function db_user_update($event_name,$data) { + global $app, $conf; + + if ($data['old']['database_user'] == $data['new']['database_user'] + && ($data['old']['database_password'] == $data['new']['database_password'] + || $data['new']['database_password'] == '')) { + return; + } + + if ($this->connect() === false) { + $app->log("Unable to connect to MongoDB: Connecting using connect() failed.", LOGLEVEL_ERROR); + return; + } + + if ($data['old']['database_user'] != $data['new']['database_user']) { + // username has changed + $dbs = $this->getDBs(); + + if ((bool) $dbs) { + foreach ($dbs as $db) { + if ($this->userExists($db, $data['old']['database_user'])) { + if (!$this->userExists($db, $data['new']['database_user'])) { + $user = $this->getUser($db, $data['old']['database_user']); + + if ($this->dropUser($data['old']['database_user'], $db)) { + if ($this->addUser($db, array( + 'username' => $data['new']['database_user'], + 'password' => md5($data['new']['database_password_mongo']), + 'roles' => $user['roles'] + ))) { + $app->log("Created user: ".$data['new']['database_user']." in DB: ".$db, LOGLEVEL_DEBUG); + } else { + $app->log("Couldn't create user: ".$data['new']['database_user']." in DB: ".$db, LOGLEVEL_WARNING); + } + } else { + $app->log("Couldn't drop user: ".$data['old']['database_user']." in DB: ".$db, LOGLEVEL_WARNING); + } + } else { + $app->log("User: ".$data['new']['database_user']." already exists in DB: ".$db, LOGLEVEL_WARNING); + } + } + } + } + } + + if ($data['old']['database_password'] != $data['new']['database_password'] + || $data['old']['database_user'] != $data['new']['database_user']) { + // password only has changed + $dbs = $this->getDBs(); + + if ((bool) $dbs) { + foreach ($dbs as $db) { + if ($this->userExists($db, $data['new']['database_user'])) { + if ($this->changePassword($db, $data['new']['database_user'], md5($data['new']['database_password_mongo']))) { + $app->log("Changed user's: ".$data['new']['database_user']." password in DB: ".$db, LOGLEVEL_DEBUG); + } else { + $app->log("Couldn't change user's: ".$data['new']['database_user']." password in DB: ".$db, LOGLEVEL_WARNING); + } + } + } + } + } + + $this->disconnect(); + } + + /** + * This function is called when a user is deleted from within the ISPConfig interface. + * Since MongoDB uses per-DB user management, we have to find every database where the user is + * activated and delete him there. + * + * @param string $event_name the name of the event (insert, update, delete) + * @param array $data the event data (old and new) + * @return only if something is wrong + */ + function db_user_delete($event_name, $data) { + global $app, $conf; + + if ($this->connect() === false) { + $app->log("Unable to connect to MongoDB: Connecting using connect() failed.", LOGLEVEL_ERROR); + return; + } + + if ($this->dropUser($data['old']['database_user']) === true) { + $app->log("Dropped MongoDB user: ".$data['old']['database_user'], LOGLEVEL_DEBUG); + } else { + $app->log("Error while dropping MongoDB user: ".$data['old']['database_user'], LOGLEVEL_WARNING); + } + + $this->disconnect(); + } + +} diff --git a/server/plugins-available/webserver_plugin.inc.php b/server/plugins-available/webserver_plugin.inc.php new file mode 100644 index 0000000000..0fcdf13c16 --- /dev/null +++ b/server/plugins-available/webserver_plugin.inc.php @@ -0,0 +1,166 @@ +plugins->registerAction('server_plugins_loaded', $this->plugin_name, 'check_phpini_changes'); + } + + /** + * This function is called when a change in one of the registered tables is detected. + * The function then raises the events for the plugins. + */ + public function process($tablename, $action, $data) { + // not needed + } + + /** + * The method checks for a change of a php.ini file + */ + public function check_phpini_changes() { + global $app, $conf; + + //** check if the main php.ini of the system changed so we need to regenerate all custom php.inis + $app->uses('getconf'); + + //** files to check + $check_files = array(); + + $web_config = $app->getconf->get_server_config($conf['server_id'], 'web'); + $fastcgi_config = $app->getconf->get_server_config($conf['server_id'], 'fastcgi'); + + if($web_config['php_ini_check_minutes'] == 0 || @date('i') % $web_config['php_ini_check_minutes'] != 0) { + $app->log('Info: php.ini change checking not enabled or not in this minute: ' . $web_config['php_ini_check_minutes'],LOGLEVEL_DEBUG); + return; // do not process + } + + //** add default php.ini files to check + $check_files[] = array('file' => $web_config['php_ini_path_apache'], + 'mode' => 'mod', + 'php_version' => ''); // default; + + $check_files[] = array('file' => $web_config['php_ini_path_cgi'], + 'mode' => '', // all but 'mod' and 'fast-cgi' + 'php_version' => ''); // default; + + if($fastcgi_config["fastcgi_phpini_path"] && $fastcgi_config["fastcgi_phpini_path"] != $web_config['php_ini_path_cgi']) { + $check_files[] = array('file' => $fastcgi_config["fastcgi_phpini_path"], + 'mode' => 'fast-cgi', + 'php_version' => ''); // default; + } else { + $check_files[] = array('file' => $web_config['php_ini_path_cgi'], + 'mode' => 'fast-cgi', // all but 'mod' + 'php_version' => ''); // default; + } + + + //** read additional php versions of this server + $php_versions = $app->db->queryAllRecords('SELECT server_php_id, php_fastcgi_ini_dir, php_fpm_ini_dir FROM server_php WHERE server_id = ' . intval($conf['server_id'])); + foreach($php_versions as $php) { + if($php['php_fastcgi_ini_dir'] && $php['php_fastcgi_ini_dir'] . '/php.ini' != $web_config['php_ini_path_cgi']) { + $check_files[] = array('file' => $php['php_fastcgi_ini_dir'] . '/php.ini', + 'mode' => 'fast-cgi', + 'php_version' => $php['php_fastcgi_ini_dir']); + } elseif($php['php_fpm_ini_dir'] && $php['php_fpm_ini_dir'] . '/php.ini' != $web_config['php_ini_path_cgi']) { + $check_files[] = array('file' => $php['php_fpm_ini_dir'] . '/php.ini', + 'mode' => 'php-fpm', + 'php_version' => $php['php_fpm_ini_dir']); + } + } + unset($php_versions); + + //** read md5sum status file + $new_php_ini_md5 = array(); + $php_ini_md5 = array(); + $php_ini_changed = false; + $rewrite_ini_files = false; + + if(file_exists(SCRIPT_PATH . '/temp/php.ini.md5sum')) { + $rewrite_ini_files = true; + $php_ini_md5 = unserialize(base64_decode(trim($app->system->file_get_contents(SCRIPT_PATH . '/temp/php.ini.md5sum')))); + } + if(!is_array($php_ini_md5)) $php_ini_md5 = array(); + + $processed = array(); + foreach($check_files as $file) { + $file_path = $file['file']; + if(substr($file_path, -8) !== '/php.ini') $file_path .= (substr($file_path, -1) !== '/' ? '/' : '') . 'php.ini'; + if(!file_exists($file_path)) continue; + + //** check if this php.ini file was already processed (if additional php version uses same php.ini) + $ident = $file_path . '::' . $file['mode'] . '::' . $file['php_version']; + if(in_array($ident, $processed) == true) continue; + $processed[] = $ident; + + //** check if md5sum of file changed + $file_md5 = md5_file($file_path); + if(array_key_exists($file_path, $php_ini_md5) == false || $php_ini_md5[$file_path] != $file_md5) { + $php_ini_changed = true; + + $app->log('Info: PHP.ini changed: ' . $file_path . ', mode ' . $file['mode'] . ' vers ' . $file['php_version'] . '.',LOGLEVEL_DEBUG); + // raise action for this file + if($rewrite_ini_files == true) $app->plugins->raiseAction('php_ini_changed', $file); + } + + $new_php_ini_md5[$file_path] = $file_md5; + } + + //** write new md5 sums if something changed + if($php_ini_changed == true) $app->system->file_put_contents(SCRIPT_PATH . '/temp/php.ini.md5sum', base64_encode(serialize($new_php_ini_md5))); + unset($new_php_ini_md5); + unset($php_ini_md5); + unset($processed); + } +} + +?> diff --git a/server/server.php b/server/server.php index 3415f6e6b9..2ead490432 100644 --- a/server/server.php +++ b/server/server.php @@ -170,6 +170,9 @@ if ($app->db->connect_error == NULL && $app->dbmaster->connect_error == NULL) { $app->modules->loadModules('all'); //** Load the plugins that are in the plugins-enabled folder $app->plugins->loadPlugins('all'); + + $app->plugins->raiseAction('server_plugins_loaded', ''); + if ($tmp_num_records > 0) { $app->log("Found $tmp_num_records changes, starting update process.", LOGLEVEL_DEBUG); //** Go through the sys_datalog table and call the processing functions -- GitLab