From bd68aae78a5d696e4ccb9c0d267486c283a6d9d2 Mon Sep 17 00:00:00 2001
From: Marius Cramer <m.cramer@pixcept.de>
Date: Fri, 18 Oct 2013 08:49:59 -0400
Subject: [PATCH] Resolved differences from svn merge to trunk and git master

---
 interface/web/admin/templates/server_config_web_edit.htm       |   36 
 interface/web/sites/lib/lang/de_webdav_user_list.lng           |    1 
 interface/web/mail/lib/lang/de_spamfilter_whitelist_list.lng   |    1 
 interface/web/monitor/lib/module.conf.php                      |    5 
 interface/web/vm/lib/lang/de_openvz_ip.lng                     |    1 
 interface/web/admin/templates/system_config_mail_edit.htm      |   20 
 interface/web/admin/lib/lang/de_server_config.lng              |    2 
 interface/web/mailuser/lib/lang/de_mail_user_spamfilter.lng    |    1 
 interface/web/login/lib/lang/de.lng                            |    1 
 interface/web/mail/lib/lang/de_mail_content_filter_list.lng    |    1 
 interface/web/tools/lib/lang/de_import_ispconfig.lng           |    1 
 interface/web/sites/lib/lang/de_ftp_user.lng                   |    3 
 server/plugins-available/backup_plugin.inc.php                 |   28 
 interface/web/mail/lib/lang/de_spamfilter_config.lng           |    1 
 interface/web/tools/lib/lang/de_resync.lng                     |    1 
 server/plugins-available/webserver_plugin.inc.php              |  166 ++
 interface/web/dns/lib/lang/de_dns_aaaa.lng                     |    1 
 interface/web/sites/lib/lang/de_web_domain.lng                 |    1 
 interface/web/admin/lib/lang/pl_remote_action.lng              |    2 
 interface/web/mail/lib/lang/de_mail_transport.lng              |    1 
 interface/web/admin/templates/server_config_mail_edit.htm      |    6 
 interface/web/designer/lib/lang/de_form_list.lng               |    1 
 interface/web/mail/lib/lang/de_mail_domain.lng                 |    1 
 interface/web/vm/lib/lang/de.lng                               |    1 
 interface/web/designer/lib/lang/de.lng                         |    1 
 interface/web/dns/lib/lang/de_dns_ns.lng                       |    1 
 server/server.php                                              |    3 
 interface/web/dns/lib/lang/de_dns_soa.lng                      |    1 
 server/lib/classes/monitor_tools.inc.php                       |    3 
 interface/web/mailuser/lib/lang/de.lng                         |    1 
 install/tpl/system.ini.master                                  |    1 
 interface/web/monitor/lib/lang/en.lng                          |    3 
 interface/web/admin/lib/lang/de_language_export.lng            |    1 
 interface/web/mail/form/mail_domain.tform.php                  |   29 
 interface/web/mail/lib/lang/de.lng                             |    1 
 interface/web/sites/lib/lang/de_webdav_user.lng                |    1 
 interface/web/tools/templates/import_vpopmail.htm              |   53 
 interface/web/admin/templates/server_config_server_edit.htm    |   29 
 interface/web/dns/lib/lang/de_dns_cname.lng                    |    1 
 interface/web/dns/lib/lang/de_dns_mx.lng                       |    1 
 interface/web/mailuser/lib/lang/de_mail_user_password.lng      |    1 
 interface/web/dashboard/lib/lang/de_dashlet_quota.lng          |    5 
 interface/web/mail/lib/lang/de_mail_spamfilter_list.lng        |    1 
 interface/web/sites/form/database.tform.php                    |    7 
 interface/web/tools/lib/lang/de_interface.lng                  |    1 
 interface/web/admin/lib/lang/br_remote_action.lng              |    2 
 interface/web/mail/lib/lang/de_spamfilter_blacklist_list.lng   |    1 
 interface/web/sites/lib/lang/de_web_folder.lng                 |    1 
 server/lib/classes/aps_installer.inc.php                       |   12 
 interface/web/sites/templates/database_list.htm                |    7 
 interface/web/mail/lib/lang/de_mail_user_list.lng              |    1 
 interface/web/dns/lib/lang/de_dns_alias.lng                    |    1 
 interface/web/sites/form/web_vhost_subdomain.tform.php         |    6 
 interface/web/admin/lib/lang/de_tpl_default_admin.lng          |    1 
 interface/web/mail/lib/lang/de_mail_user_filter.lng            |    1 
 interface/web/client/lib/lang/de_clients_list.lng              |    1 
 interface/web/vm/lib/lang/de_openvz_action.lng                 |    1 
 interface/web/admin/lib/lang/en_server_config.lng              |    9 
 interface/web/mail/lib/lang/de_mail_whitelist_list.lng         |    1 
 interface/web/admin/lib/lang/ro_remote_action.lng              |    2 
 interface/web/mail/lib/lang/de_spamfilter_policy.lng           |    1 
 interface/web/admin/lib/lang/de_software_package_list.lng      |    1 
 install/install.php                                            |   30 
 interface/web/mail/lib/lang/de_mail_user_stats_list.lng        |    1 
 interface/web/data.sql                                         |  800 ++++++++++++
 interface/web/mail/lib/lang/de_mail_alias.lng                  |    1 
 interface/web/admin/lib/lang/de_language_complete.lng          |    1 
 interface/web/sites/lib/lang/de_web_vhost_subdomain.lng        |    1 
 interface/web/dashboard/lib/lang/de_dashlet_mailquota.lng      |    1 
 interface/web/sites/lib/lang/de_aps_packages_list.lng          |    1 
 interface/web/admin/lib/lang/it_remote_action.lng              |    2 
 interface/web/admin/lib/lang/de_server.lng                     |    1 
 interface/web/admin/lib/lang/de_language_add.lng               |    1 
 interface/web/sites/lib/lang/de_aps_instances_list.lng         |    1 
 interface/web/mail/lib/lang/de_user_quota_stats_list.lng       |    1 
 interface/web/admin/lib/lang/de_package_install.lng            |    1 
 interface/web/dns/form/dns_template.tform.php                  |    9 
 interface/web/mail/lib/lang/de_mail_domain_list.lng            |    1 
 interface/web/mailuser/lib/lang/de_mail_user_autoresponder.lng |    1 
 interface/web/mail/lib/lang/en_mail_domain.lng                 |    9 
 install/sql/ispconfig3.sql                                     |   28 
 interface/web/tools/lib/lang/en_import_vpopmail.lng            |    8 
 server/plugins-available/apache2_plugin.inc.php                |  123 +
 interface/web/dns/dns_wizard.php                               |   10 
 interface/web/mailuser/lib/lang/de_mail_user_filter_list.lng   |    1 
 interface/web/sites/database_user_edit.php                     |   62 
 interface/web/sites/lib/lang/de.lng                            |    1 
 interface/web/admin/lib/lang/ar_remote_action.lng              |    2 
 interface/web/strengthmeter/lib/lang/de_strengthmeter.lng      |    1 
 interface/web/dns/lib/lang/de_dns_import.lng                   |    1 
 interface/web/mail/lib/lang/de_mail_blacklist_list.lng         |    1 
 interface/web/client/lib/lang/de_domain_list.lng               |    1 
 interface/web/sites/web_vhost_subdomain_edit.php               |   49 
 interface/web/admin/templates/server_config_rescue_edit.htm    |   16 
 interface/web/admin/lib/lang/de_software_package.lng           |    1 
 interface/web/dns/lib/lang/de.lng                              |    1 
 interface/web/admin/lib/lang/de_system_config.lng              |    9 
 interface/web/dns/lib/lang/de_dns_a_list.lng                   |    1 
 interface/web/mailuser/lib/lang/de_mail_user_filter.lng        |    1 
 install/autoupdate.php                                         |    2 
 interface/web/admin/lib/lang/tr_remote_action.lng              |    2 
 interface/web/dns/lib/lang/de_dns_template.lng                 |    1 
 interface/web/sites/lib/lang/de_web_folder_user.lng            |    1 
 interface/web/sites/lib/lang/de_database_admin_list.lng        |    1 
 interface/web/sites/lib/lang/de_cron_list.lng                  |    1 
 interface/web/sites/lib/lang/de_database_user.lng              |    1 
 interface/web/sites/lib/lang/de_web_backup_list.lng            |    2 
 interface/web/dashboard/lib/lang/de_dashlet_limits.lng         |    1 
 interface/web/mail/lib/lang/de_mail_blacklist.lng              |    1 
 interface/web/mail/lib/lang/de_mail_content_filter.lng         |    1 
 interface/web/mail/lib/lang/de_mail_domain_admin_list.lng      |    1 
 interface/web/admin/lib/lang/sk_remote_action.lng              |    2 
 interface/web/help/lib/lang/de_faq_form.lng                    |    1 
 interface/web/admin/lib/lang/nl_system_config.lng              |    3 
 interface/web/mail/lib/lang/de_spamfilter_users.lng            |    1 
 interface/web/dns/lib/lang/de_dns_slave.lng                    |    1 
 interface/web/client/lib/lang/de_domain.lng                    |    1 
 interface/web/monitor/lib/lang/de.lng                          |    4 
 interface/web/admin/lib/lang/id_remote_action.lng              |    2 
 interface/web/admin/lib/lang/de_groups.lng                     |    1 
 interface/web/admin/form/server_config.tform.php               |  105 
 interface/web/mail/lib/lang/de_spamfilter_config_list.lng      |    1 
 interface/web/mail/lib/lang/de_mail_spamfilter.lng             |    1 
 interface/web/dns/lib/lang/de_dns_rp.lng                       |    1 
 interface/web/mailuser/lib/lang/de_mail_user_cc.lng            |    1 
 interface/web/admin/lib/lang/de_firewall_list.lng              |    1 
 interface/web/monitor/lib/lang/de_datalog_list.lng             |    1 
 interface/web/mail/lib/lang/de_spamfilter_policy_list.lng      |    1 
 interface/web/monitor/show_data.php                            |    7 
 server/cron_daily.php                                          |    2 
 interface/web/admin/lib/lang/bg_remote_action.lng              |    2 
 interface/web/vm/lib/lang/de_openvz_ostemplate_list.lng        |    1 
 interface/lib/shelluser_blacklist                              |    3 
 interface/web/admin/lib/lang/de_iptables.lng                   |    1 
 install/sql/incremental/upd_0049.sql                           |    3 
 interface/web/admin/lib/lang/ru_remote_action.lng              |    2 
 interface/web/mail/lib/lang/de_mail_aliasdomain_list.lng       |    1 
 interface/web/mail/lib/lang/de_spamfilter_users_list.lng       |    1 
 interface/web/mail/lib/lang/de_mail_get_list.lng               |    1 
 interface/web/dns/lib/lang/de_dns_txt.lng                      |    1 
 interface/web/sites/lib/lang/en_database_list.lng              |    1 
 interface/web/mail/lib/lang/de_mail_relay_recipient_list.lng   |    1 
 interface/web/sites/lib/lang/de_web_vhost_subdomain_list.lng   |    1 
 interface/web/admin/lib/lang/de_server_ip_list.lng             |    1 
 interface/web/sites/aps_installedpackages_list.php             |    2 
 interface/web/admin/lib/lang/de_software_repo.lng              |    1 
 interface/web/dns/lib/lang/de_dns_wizard.lng                   |    1 
 interface/web/vm/lib/lang/de_openvz_ostemplate.lng             |    1 
 interface/web/sites/lib/lang/de_web_aliasdomain.lng            |    1 
 interface/web/admin/lib/lang/de_login_as.lng                   |    1 
 interface/web/dashboard/lib/lang/de.lng                        |    1 
 interface/web/admin/lib/lang/hu_remote_action.lng              |    2 
 interface/web/vm/lib/lang/de_openvz_vm_list.lng                |    1 
 interface/web/sites/lib/lang/de_ftp_user_list.lng              |    1 
 install/sql/incremental/upd_0055.sql                           |    4 
 interface/web/sites/lib/lang/de_database.lng                   |    1 
 interface/web/client/lib/lang/de_resellers_list.lng            |    1 
 interface/web/sites/lib/lang/de_web_subdomain_list.lng         |    1 
 interface/web/mail/lib/lang/de_mail_get.lng                    |    3 
 interface/web/admin/lib/lang/de_language_import.lng            |    2 
 interface/web/dashboard/lib/lang/de_dashlet_modules.lng        |    1 
 interface/web/dns/templates/dns_wizard.htm                     |    5 
 interface/web/dns/lib/lang/de_dns_hinfo.lng                    |    1 
 interface/web/admin/lib/lang/de_server_config_list.lng         |    1 
 interface/web/admin/lib/lang/de_remote_user.lng                |    1 
 interface/web/sites/lib/lang/de_web_folder_user_list.lng       |    1 
 interface/lib/classes/tools_monitor.inc.php                    |   34 
 interface/web/sites/lib/lang/de_aps_update_packagelist.lng     |    1 
 install/tpl/amavisd_user_config.master                         |    6 
 interface/web/mail/lib/lang/de_mail_mailinglist.lng            |    1 
 interface/web/admin/form/system_config.tform.php               |   36 
 interface/web/admin/lib/lang/de_server_list.lng                |    1 
 interface/web/mail/lib/lang/de_mail_user.lng                   |    1 
 interface/web/sites/lib/lang/de_web_domain_list.lng            |    1 
 server/plugins-available/mongo_clientdb_plugin.inc.php         |  820 ++++++++++++
 interface/web/sites/lib/lang/de_web_folder_list.lng            |    1 
 interface/web/client/lib/lang/de_client_template.lng           |    1 
 interface/web/dns/lib/lang/de_dns_template_list.lng            |    1 
 interface/web/admin/lib/lang/de_groups_list.lng                |    1 
 interface/web/sites/lib/lang/de_web_domain_admin_list.lng      |    1 
 interface/web/sites/templates/database_admin_list.htm          |    5 
 interface/web/admin/lib/lang/ja_remote_action.lng              |    2 
 interface/web/designer/lib/lang/de_module_nav_edit.lng         |    1 
 interface/web/tools/lib/lang/de_tpl_default.lng                |    1 
 interface/web/admin/lib/lang/de_server_php.lng                 |    1 
 interface/web/client/lib/lang/de_client_template_list.lng      |    1 
 interface/web/sites/templates/aps_install_package.htm          |    2 
 interface/web/tools/import_plesk.php                           |  243 +++
 interface/web/tools/import_vpopmail.php                        |  267 ++++
 interface/web/mail/lib/lang/de_spamfilter_whitelist.lng        |    1 
 interface/web/sites/lib/lang/en_web_backup_list.lng            |    4 
 interface/web/tools/lib/lang/de_index.lng                      |    1 
 interface/web/admin/lib/lang/fr_remote_action.lng              |    2 
 interface/web/dns/lib/lang/de_dns_slave_list.lng               |    1 
 interface/web/help/lib/lang/de_faq_sections_form.lng           |    1 
 interface/web/designer/lib/lang/de_module_edit.lng             |    1 
 interface/lib/lang/de.lng                                      |    4 
 interface/web/mail/lib/lang/de_mail_forward_list.lng           |    1 
 interface/web/mailuser/lib/lang/de_index.lng                   |    1 
 interface/web/monitor/show_log.php                             |   15 
 interface/web/sites/templates/web_backup_list.htm              |    4 
 interface/web/sites/lib/lang/de_shell_user.lng                 |    1 
 interface/web/client/lib/lang/de_client_del.lng                |    1 
 interface/lib/classes/tform.inc.php                            |   16 
 interface/web/admin/lib/lang/pt_remote_action.lng              |    2 
 interface/web/client/lib/lang/de_reseller.lng                  |    6 
 interface/web/sites/web_domain_edit.php                        |   47 
 interface/web/mail/lib/lang/de_mail_aliasdomain.lng            |    1 
 interface/web/sites/lib/lang/de_aps.lng                        |    3 
 interface/web/mail/lib/lang/de_mail_transport_list.lng         |    1 
 interface/web/admin/lib/lang/de_language_edit.lng              |    1 
 interface/web/tools/lib/lang/de.lng                            |    1 
 interface/web/admin/lib/lang/de_server_php_list.lng            |    1 
 interface/web/admin/lib/lang/de_directive_snippets_list.lng    |    1 
 interface/web/sites/lib/lang/en_database_admin_list.lng        |    3 
 interface/web/admin/lib/lang/fi_remote_action.lng              |    2 
 interface/web/admin/lib/lang/de_firewall.lng                   |    1 
 interface/web/sites/form/database_user.tform.php               |   10 
 interface/web/client/lib/lang/de_client_circle_list.lng        |    1 
 install/update.php                                             |   11 
 interface/web/dns/templates/dns_a_list.htm                     |    1 
 interface/web/vm/lib/lang/de_openvz_template_list.lng          |    1 
 interface/web/admin/lib/lang/de_software_repo_list.lng         |    1 
 interface/web/help/lib/lang/de_faq_manage_questions_list.lng   |    1 
 interface/web/help/lib/lang/de_support_message_list.lng        |    1 
 interface/web/help/lib/lang/de_support_message.lng             |    1 
 install/lib/installer_base.lib.php                             |    6 
 interface/web/mail/lib/lang/de_mail_user_filter_list.lng       |    1 
 interface/web/mail/lib/lang/de_mail_whitelist.lng              |    1 
 interface/web/help/lib/lang/de_help_faq_list.lng               |    1 
 interface/web/vm/lib/lang/de_openvz_template.lng               |    1 
 install/sql/incremental/upd_0052.sql                           |    6 
 interface/web/sites/form/web_domain.tform.php                  |    6 
 interface/web/admin/lib/lang/de_directive_snippets.lng         |    3 
 interface/web/designer/lib/lang/de_module_show.lng             |    1 
 interface/web/dns/lib/lang/de_dns_soa_list.lng                 |    1 
 interface/web/mail/lib/lang/de_mail_alias_list.lng             |    1 
 interface/web/mail/lib/lang/de_spamfilter_blacklist.lng        |    1 
 interface/web/vm/lib/lang/de_openvz_vm.lng                     |    1 
 interface/web/admin/lib/lang/de_software_package_install.lng   |    1 
 interface/web/dns/lib/lang/de_dns_a.lng                        |    1 
 interface/web/admin/lib/lang/de_users_list.lng                 |    1 
 server/mods-available/rescue_core_module.inc.php               |    2 
 install/tpl/opensuse_amavisd_conf.master                       |    6 
 interface/web/sites/lib/lang/de_database_user_admin_list.lng   |    1 
 interface/web/client/lib/lang/de_client.lng                    |    6 
 interface/web/admin/lib/lang/de_remote_action.lng              |    1 
 interface/web/mail/lib/lang/de_mail_relay_recipient.lng        |    1 
 interface/web/sites/lib/lang/de_database_user_list.lng         |    1 
 interface/web/sites/lib/lang/de_shell_user_list.lng            |    1 
 interface/web/client/lib/lang/de_client_message.lng            |    3 
 interface/web/sites/lib/lang/de_web_sites_stats_list.lng       |    1 
 interface/web/mail/form/mail_user.tform.php                    |  223 +-
 interface/web/sites/list/database.list.php                     |   15 
 interface/web/admin/lib/lang/de.lng                            |    1 
 interface/web/admin/lib/lang/de_server_ip.lng                  |    7 
 install/sql/incremental/upd_0058.sql                           |    1 
 interface/lib/lang/cz.lng                                      |    2 
 interface/web/help/lib/lang/de.lng                             |    1 
 interface/web/mail/lib/lang/de_mail_domain_catchall_list.lng   |    1 
 interface/web/designer/lib/lang/de_module_nav_item_edit.lng    |    1 
 interface/web/sites/lib/lang/de_user_quota_stats_list.lng      |    1 
 interface/web/client/lib/lang/de_client_circle.lng             |    1 
 interface/web/admin/lib/lang/se_remote_action.lng              |    2 
 interface/web/admin/lib/lang/de_remote_user_list.lng           |    1 
 interface/web/designer/lib/lang/de_form_edit.lng               |    1 
 interface/web/help/lib/lang/de_help_faq_sections_list.lng      |    1 
 interface/web/sites/lib/lang/de_cron.lng                       |    1 
 interface/web/dns/lib/lang/de_dns_srv.lng                      |    1 
 interface/web/admin/lib/lang/de_language_list.lng              |    1 
 interface/web/admin/lib/lang/de_users.lng                      |    1 
 install/tpl/server.ini.master                                  |   27 
 interface/web/dns/lib/lang/de_dns_ptr.lng                      |    1 
 interface/web/sites/lib/lang/de_database_list.lng              |    2 
 interface/web/sites/lib/lang/de_web_aliasdomain_list.lng       |    1 
 interface/web/mail/lib/lang/de_mail_forward.lng                |    1 
 interface/web/admin/lib/lang/de_software_update_list.lng       |    1 
 interface/web/designer/lib/lang/de_module_list.lng             |    1 
 interface/web/mail/lib/lang/de_mail_domain_catchall.lng        |    1 
 interface/web/admin/lib/lang/nl_remote_action.lng              |    2 
 interface/web/tools/lib/lang/de_usersettings.lng               |    1 
 interface/web/admin/templates/system_config_sites_edit.htm     |   10 
 interface/web/admin/lib/lang/en_system_config.lng              |    3 
 interface/web/sites/lib/lang/de_web_subdomain.lng              |    1 
 interface/web/client/lib/lang/de.lng                           |    1 
 interface/web/dns/lib/lang/en_dns_wizard.lng                   |    1 
 interface/web/admin/lib/lang/de_iptables_list.lng              |    1 
 interface/web/vm/lib/lang/de_openvz_ip_list.lng                |    1 
 interface/web/mail/lib/lang/de_mail_mailinglist_list.lng       |    1 
 289 files changed, 3,236 insertions(+), 584 deletions(-)

diff --git a/install/autoupdate.php b/install/autoupdate.php
index e43cd51..de53b24 100644
--- a/install/autoupdate.php
+++ b/install/autoupdate.php
@@ -285,7 +285,7 @@
 //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 505426e..cbdf5d1 100644
--- a/install/install.php
+++ b/install/install.php
@@ -260,10 +260,17 @@
 	$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($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 @@
 	
 	//** 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 cd7ec0e..d77ab21 100644
--- a/install/lib/installer_base.lib.php
+++ b/install/lib/installer_base.lib.php
@@ -132,7 +132,7 @@
 		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 @@
 		exec('chown root:root '.$conf["squid"]["config_dir"].'/'.$configfile);
 	}
 
-	/*
 	public function configure_ufw_firewall()
 	{
 		$configfile = 'ufw.conf';
@@ -1397,9 +1396,8 @@
 		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 55eff84..d37d1a5 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 7ad62b2..5f4a1b6 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 6f7a2e7..3a7c5d5 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 087b499..906f6b1 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 0bffe0b..eb0d199 100644
--- a/install/sql/ispconfig3.sql
+++ b/install/sql/ispconfig3.sql
@@ -267,7 +267,7 @@
   `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 @@
   `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 @@
 -- --------------------------------------------------------
 
 --
--- 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 @@
   `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 @@
   `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 @@
   `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 c89f875..f377955 100644
--- a/install/tpl/amavisd_user_config.master
+++ b/install/tpl/amavisd_user_config.master
@@ -75,6 +75,12 @@
 # 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 d0d8a87..5f9f867 100644
--- a/install/tpl/opensuse_amavisd_conf.master
+++ b/install/tpl/opensuse_amavisd_conf.master
@@ -778,5 +778,11 @@
 $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 7450882..d27a3e2 100644
--- a/install/tpl/server.ini.master
+++ b/install/tpl/server.ini.master
@@ -5,12 +5,13 @@
 
 
 [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_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 @@
 [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 @@
 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 14a75e4..abb8931 100644
--- a/install/tpl/system.ini.master
+++ b/install/tpl/system.ini.master
@@ -23,6 +23,7 @@
 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 1999bc0..3fd346a 100644
--- a/install/update.php
+++ b/install/update.php
@@ -344,10 +344,15 @@
 
 	
 	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($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 01ac269..b3e679c 100644
--- a/interface/lib/classes/tform.inc.php
+++ b/interface/lib/classes/tform.inc.php
@@ -7,14 +7,14 @@
 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 e2612dd..cb389c8 100644
--- a/interface/lib/classes/tools_monitor.inc.php
+++ b/interface/lib/classes/tools_monitor.inc.php
@@ -491,6 +491,40 @@
         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 =
+                    '<div class="systemmonitor-state state-'.$record['state'].'">
+                <div class="systemmonitor-content icons32 ico-'.$record['state'].'">';
+
+            /*
+             * 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 .= '<p>'.
+                        'MongoDB is not installed at this server.<br />' .
+                        'See more (for debian) <a href="http://www.howtoforge.com/fail2ban_debian_etch" target="htf">here...</a>'.
+                        '</p>';
+            }
+            else {
+                $html .= nl2br($data);
+            }
+            $html .= '</div></div>';
+
+        } else {
+            $html = '<p>There is no data available at the moment.</p>';
+        }
+
+        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 1683c6e..747c0c0 100644
--- a/interface/lib/lang/cz.lng
+++ b/interface/lib/lang/cz.lng
@@ -71,7 +71,7 @@
 $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 a528176..8a1a971 100644
--- a/interface/lib/lang/de.lng
+++ b/interface/lib/lang/de.lng
@@ -133,5 +133,7 @@
 $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 c49d825..4913b64 100644
--- a/interface/lib/shelluser_blacklist
+++ b/interface/lib/shelluser_blacklist
@@ -31,4 +31,5 @@
 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 298894a..05764fc 100644
--- a/interface/web/admin/form/server_config.tform.php
+++ b/interface/web/admin/form/server_config.tform.php
@@ -83,22 +83,20 @@
 					'errmsg' => 'netmask_error_wrong'),
 			),
 			'value' => '',
-			'width' => '15',
-			'maxlength' => '255'
+			'width' => '15',
+			'maxlength' => '255'
 		),
-		/*
-		'v6_prefix' => array(
-			'datatype' => 'VARCHAR',
-			'formtype' => 'TEXT',
-                        'validators' => array(0 => array('type' => 'ISV6PREFIX',
-                                        'errmsg' => 'v6_prefix_wrong'),
-                        ),
-		'default' => ''
+		'v6_prefix' => array(
+			'datatype' => 'VARCHAR',
+			'formtype' => 'TEXT',
+						'validators' => array(0 => array('type' => 'ISV6PREFIX',
+										'errmsg' => 'v6_prefix_wrong'),
+						),
+		'default' => ''
 		),
-		*/
-		'gateway' => array(
-			'datatype' => 'VARCHAR',
-			'formtype' => 'TEXT',
+		'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 @@
 			'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 @@
 			'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 @@
 			'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 @@
 			'formtype' => 'TEXT',
 			'default' => '7',
 			'value' => '',
-            'width' => '20',
-            'maxlength' => '255'
+			'width' => '20',
+			'maxlength' => '255'
 		),
 		'overquota_notify_onok' => array(
 			'datatype' => 'VARCHAR',
@@ -519,20 +517,20 @@
 			'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 @@
 			'formtype' => 'TEXT',
 			'default' => '7',
 			'value' => '',
-            'width' => '20',
-            'maxlength' => '255'
+			'width' => '20',
+			'maxlength' => '255'
 		),
 		'overquota_notify_onok' => array(
 			'datatype' => 'VARCHAR',
@@ -818,6 +816,17 @@
 			'value' => '',
 			'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',
@@ -1297,6 +1306,12 @@
 			'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 d04923b..f09d4db 100644
--- a/interface/web/admin/form/system_config.tform.php
+++ b/interface/web/admin/form/system_config.tform.php
@@ -160,6 +160,12 @@
 			'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 @@
 	##################################
 	# 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 f268527..3fc3eaf 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['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<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Click here for detailed update instructins</a>';
+$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Click here for detailed update instructions</a>';
 ?>
diff --git a/interface/web/admin/lib/lang/bg_remote_action.lng b/interface/web/admin/lib/lang/bg_remote_action.lng
index e9aa121..48f3505 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['action_scheduled'] = 'Това действие е насрочено за изпълнение';
 $wb['select_all_server'] = 'Целия сървър';
 $wb['ispconfig_update_title'] = 'ISPConfig ъпдейт инструкции';
-$wb['ispconfig_update_text'] = 'Логнете се като root потребител през шелла на вашият сървър използвайте командата<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />за да стартирате ISPConfig обновяване.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Click here for detailed update instructins</a>';
+$wb['ispconfig_update_text'] = 'Логнете се като root потребител през шелла на вашият сървър използвайте командата<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />за да стартирате ISPConfig обновяване.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Click here for detailed update instructions</a>';
 ?>
diff --git a/interface/web/admin/lib/lang/br_remote_action.lng b/interface/web/admin/lib/lang/br_remote_action.lng
index d6578c9..420f2cc 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['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<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Click here for detailed update instructins</a>';
+$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Click here for detailed update instructions</a>';
 ?>
diff --git a/interface/web/admin/lib/lang/de.lng b/interface/web/admin/lib/lang/de.lng
index 152c829..0a7af75 100644
--- a/interface/web/admin/lib/lang/de.lng
+++ b/interface/web/admin/lib/lang/de.lng
@@ -48,4 +48,3 @@
 $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 9c93c4c..7a9b756 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['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 d3109a1..a19d5e8 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['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 a475290..92b7327 100644
--- a/interface/web/admin/lib/lang/de_firewall.lng
+++ b/interface/web/admin/lib/lang/de_firewall.lng
@@ -9,4 +9,3 @@
 $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 77172d0..aefad61 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['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 b29c099..80abd65 100644
--- a/interface/web/admin/lib/lang/de_groups.lng
+++ b/interface/web/admin/lib/lang/de_groups.lng
@@ -3,4 +3,3 @@
 $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 23492f1..2447431 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['add_new_record_txt'] = 'Neue Gruppe hinzufügen';
 $wb['warning_txt'] = '<b>WARNUNG:</b> 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 9d0a395..78adf1f 100644
--- a/interface/web/admin/lib/lang/de_iptables.lng
+++ b/interface/web/admin/lib/lang/de_iptables.lng
@@ -11,4 +11,3 @@
 $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 467368f..378db79 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['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 7d7234a..2973bf1 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['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 015bd17..7e32e8a 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['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 139b679..2a54886 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['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 2674634..c8b4a86 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['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 bd79ce6..2c3eff5 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['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 6d4a7ae..bf75420 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['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 2388e2e..1edec36 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['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 f54fbfe..bbacc85 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_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 3fdfbb8..786f03e 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['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<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />um das ISPConfig Update zu starten.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Klicken Sie hier um eine detailierte Beschreibung zu erhalten</a>';
 ?>
-
diff --git a/interface/web/admin/lib/lang/de_remote_user.lng b/interface/web/admin/lib/lang/de_remote_user.lng
index 9f2bdf5..1458d22 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['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 a0485a9..4a3c6fe 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['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 12d2ba7..50f8090 100644
--- a/interface/web/admin/lib/lang/de_server.lng
+++ b/interface/web/admin/lib/lang/de_server.lng
@@ -13,4 +13,3 @@
 $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 327f4e2..14ba6fe 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['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'] = '<b>Information:</b> 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_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 9ff7f9b..191b2c8 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 26aff5d..5757b16 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 @@
 <?php
 $wb['server_id_txt'] = 'Server';
 $wb['ip_address_txt'] = 'IP Adresse';
-$wb['virtualhost_txt'] = 'NameVirtualHost';
+$wb['virtualhost_txt'] = 'HTTP NameVirtualHost';
 $wb['ip_error_wrong'] = 'Die IP Adresse ist ungültig';
 $wb['ip_error_unique'] = 'Die IP Adresse muss einzigartig sein';
 $wb['client_id_txt'] = 'Kunde';
 $wb['ip_type_txt'] = 'Typ';
-$wb['virtualhost_port_txt'] = 'Ports';
-$wb['error_port_syntax'] = 'Ungültige Zeichen im Ports Feld. Bitte geben Sie nur Komma separierte Nummern an. Beispiel: 80,443';
+$wb['virtualhost_port_txt'] = 'HTTP Ports';
+$wb['error_port_syntax'] = 'Ungültige Zeichen im Ports Feld. Bitte geben Sie nur komma-separierte Nummern an. Beispiel: 80,443';
 ?>
-
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 9b36a5a..37f237c 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_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 193dbc9..e38a5db 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['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 30f527a..9b26ea3 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_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 712beda..d775fc6 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['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 7f15045..13b3d99 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['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 842846d..f8ef069 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['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 3d05553..b68e7d9 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['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 50e5019..ec67243 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['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 133ef3a..ccde58d 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['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 e5a3ca7..cf31e88 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['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 2490768..1ba5ca8 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_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 fda3af0..9767400 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_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 fd09475..413a402 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_match_txt'] = 'Die Passwörter stimmen überein.';
 $wb['username_error_collision'] = 'Der Benutzername darf nicht <b>web<b> oder <b>web<b> 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 8cb2a46..c635ba7 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['add_new_record_txt'] = 'Neuen Benutzer hinzufügen';
 $wb['warning_txt'] = '<b>WARNUNG:</b> 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 36a6791..1f1ad0d 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["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_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"] = '<b>Information:</b> If you want to shut down mysql you have to select the "Disable MySQL monitor" checkbox and then wait 2-3 minutes.<br>If you do not wait 2-3 minutes, rescue will try to restart mysql!';
@@ -167,8 +170,8 @@
 $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_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 1b370b4..7c5fe6e 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["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 f268527..3fc3eaf 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['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<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Click here for detailed update instructins</a>';
+$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Click here for detailed update instructions</a>';
 ?>
diff --git a/interface/web/admin/lib/lang/fr_remote_action.lng b/interface/web/admin/lib/lang/fr_remote_action.lng
index 3df14f3..58fb499 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['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<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=\'http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/\' target=\'_blank\'>Click here for detailed update instructins</a>';
+$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=\'http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/\' target=\'_blank\'>Click here for detailed update instructions</a>';
 ?>
diff --git a/interface/web/admin/lib/lang/hu_remote_action.lng b/interface/web/admin/lib/lang/hu_remote_action.lng
index 8fe6314..6ef0ebe 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['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<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Click here for detailed update instructins</a>';
+$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Click here for detailed update instructions</a>';
 ?>
diff --git a/interface/web/admin/lib/lang/id_remote_action.lng b/interface/web/admin/lib/lang/id_remote_action.lng
index 3a1b851..bfe758a 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['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<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Click here for detailed update instructins</a>';
+$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Click here for detailed update instructions</a>';
 ?>
diff --git a/interface/web/admin/lib/lang/it_remote_action.lng b/interface/web/admin/lib/lang/it_remote_action.lng
index f268527..3fc3eaf 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['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<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Click here for detailed update instructins</a>';
+$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Click here for detailed update instructions</a>';
 ?>
diff --git a/interface/web/admin/lib/lang/ja_remote_action.lng b/interface/web/admin/lib/lang/ja_remote_action.lng
index f268527..3fc3eaf 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['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<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Click here for detailed update instructins</a>';
+$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Click here for detailed update instructions</a>';
 ?>
diff --git a/interface/web/admin/lib/lang/nl_remote_action.lng b/interface/web/admin/lib/lang/nl_remote_action.lng
index c0046ff..ae286d9 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['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<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Click here for detailed update instructins</a>';
+$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Click here for detailed update instructions</a>';
 ?>
diff --git a/interface/web/admin/lib/lang/nl_system_config.lng b/interface/web/admin/lib/lang/nl_system_config.lng
index b49eb07..766ead2 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['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 7d03089..83fbc9e 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['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<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Click here for detailed update instructins</a>';
+$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Click here for detailed update instructions</a>';
 ?>
diff --git a/interface/web/admin/lib/lang/pt_remote_action.lng b/interface/web/admin/lib/lang/pt_remote_action.lng
index f268527..3fc3eaf 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['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<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Click here for detailed update instructins</a>';
+$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Click here for detailed update instructions</a>';
 ?>
diff --git a/interface/web/admin/lib/lang/ro_remote_action.lng b/interface/web/admin/lib/lang/ro_remote_action.lng
index f268527..3fc3eaf 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['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<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Click here for detailed update instructins</a>';
+$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Click here for detailed update instructions</a>';
 ?>
diff --git a/interface/web/admin/lib/lang/ru_remote_action.lng b/interface/web/admin/lib/lang/ru_remote_action.lng
index f268527..3fc3eaf 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['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<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Click here for detailed update instructins</a>';
+$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Click here for detailed update instructions</a>';
 ?>
diff --git a/interface/web/admin/lib/lang/se_remote_action.lng b/interface/web/admin/lib/lang/se_remote_action.lng
index f268527..3fc3eaf 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['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<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Click here for detailed update instructins</a>';
+$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Click here for detailed update instructions</a>';
 ?>
diff --git a/interface/web/admin/lib/lang/sk_remote_action.lng b/interface/web/admin/lib/lang/sk_remote_action.lng
index f268527..3fc3eaf 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['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<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Click here for detailed update instructins</a>';
+$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Click here for detailed update instructions</a>';
 ?>
diff --git a/interface/web/admin/lib/lang/tr_remote_action.lng b/interface/web/admin/lib/lang/tr_remote_action.lng
index f268527..3fc3eaf 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['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<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Click here for detailed update instructins</a>';
+$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Click here for detailed update instructions</a>';
 ?>
diff --git a/interface/web/admin/templates/server_config_mail_edit.htm b/interface/web/admin/templates/server_config_mail_edit.htm
index 752bc22..6ab03eb 100644
--- a/interface/web/admin/templates/server_config_mail_edit.htm
+++ b/interface/web/admin/templates/server_config_mail_edit.htm
@@ -20,6 +20,10 @@
                 <input name="homedir_path" id="homedir_path" value="{tmpl_var name='homedir_path'}" size="40" maxlength="255" type="text" class="textInput" />
             </div>
             <div class="ctrlHolder">
+                <label for="dkim_path">{tmpl_var name='dkim_path_txt'}</label>
+                <input name="dkim_path" id="dkim_path" value="{tmpl_var name='dkim_path'}" size="40" maxlength="255" type="text" class="textInput" />
+            </div>
+            <div class="ctrlHolder">
                 <p class="label">{tmpl_var name='pop3_imap_daemon_txt'}</p>
                 <div class="multiField">
                     <select name="pop3_imap_daemon" id="pop3_imap_daemon" class="selectInput">
@@ -113,4 +117,4 @@
         </div>
     </div>
     
-</div>
\ No newline at end of file
+</div>
diff --git a/interface/web/admin/templates/server_config_rescue_edit.htm b/interface/web/admin/templates/server_config_rescue_edit.htm
index 778225b..28b5cb4 100644
--- a/interface/web/admin/templates/server_config_rescue_edit.htm
+++ b/interface/web/admin/templates/server_config_rescue_edit.htm
@@ -18,6 +18,12 @@
                 </div>
             </div>
             <div class="ctrlHolder">
+                <p class="label" style="width:300px">{tmpl_var name='do_not_try_rescue_mongodb_txt'}</p>
+                <div class="multiField" style="width:100px">
+                    {tmpl_var name='do_not_try_rescue_mongodb'}
+                </div>
+            </div>
+            <div class="ctrlHolder">
                 <p class="label" style="width:300px">{tmpl_var name='do_not_try_rescue_mysql_txt'}</p>
                 <div class="multiField" style="width:100px">
                     {tmpl_var name='do_not_try_rescue_mysql'}
@@ -30,15 +36,15 @@
                 </div>
             </div>
         </fieldset>
-            
+
         <tmpl_var name="rescue_description_txt">
-            
+
             <input type="hidden" name="id" value="{tmpl_var name='id'}">
-                
+
             <div class="buttonHolder buttons">
                 <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onclick="submitForm('pageForm','admin/server_config_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
                 <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onclick="loadContent('admin/server_config_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
             </div>
     </div>
-  
-</div>
\ No newline at end of file
+
+</div>
diff --git a/interface/web/admin/templates/server_config_server_edit.htm b/interface/web/admin/templates/server_config_server_edit.htm
index 93158d7..6dab52f 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 @@
                 <input name="ip_address" id="ip_address" value="{tmpl_var name='ip_address'}" size="15" maxlength="255" type="text" class="textInput formLengthIPv4" />
             </div>
             <div class="ctrlHolder">
-                <label for="netmask">{tmpl_var name='netmask_txt'}</label>
-                <input name="netmask" id="netmask" value="{tmpl_var name='netmask'}" size="15" maxlength="255" type="text" class="textInput formLengthIPv4" />
-            </div>
-	   <!--<div class="ctrlHolder">
-		<label for="v6_prefix">{tmpl_var name='v6_prefix_txt'}</label>
-		<input name="v6_prefix" id="v6_prefix" value="{tmpl_var name='v6_prefix'}" size="15" maxlength="255" type="text" class="textInput formLengthIPv4" />
-           </div>
-		   -->
-            <div class="ctrlHolder">
-                <label for="gateway">{tmpl_var name='gateway_txt'}</label>
-                <input name="gateway" id="gateway" value="{tmpl_var name='gateway'}" size="15" maxlength="255" type="text" class="textInput formLengthIPv4" />
+                <label for="netmask">{tmpl_var name='netmask_txt'}</label>
+                <input name="netmask" id="netmask" value="{tmpl_var name='netmask'}" size="15" maxlength="255" type="text" class="textInput formLengthIPv4" />
+            </div>
+	    <div class="ctrlHolder">
+		<label for="v6_prefix">{tmpl_var name='v6_prefix_txt'}</label>
+		<input name="v6_prefix" id="v6_prefix" value="{tmpl_var name='v6_prefix'}" size="15" maxlength="255" type="text" class="textInput formLengthIPv4" />
+            </div>
+            <div class="ctrlHolder">
+                <label for="gateway">{tmpl_var name='gateway_txt'}</label>
+                <input name="gateway" id="gateway" value="{tmpl_var name='gateway'}" size="15" maxlength="255" type="text" class="textInput formLengthIPv4" />
             </div>
             <div class="ctrlHolder">
                 <label for="hostname">{tmpl_var name='hostname_txt'}</label>
@@ -96,7 +95,7 @@
         <div class="buttonHolder buttons">
             <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onclick="submitForm('pageForm','admin/server_config_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
             <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onclick="loadContent('admin/server_config_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-  
-</div>
+        </div>
+    </div>
+  
+</div>
diff --git a/interface/web/admin/templates/server_config_web_edit.htm b/interface/web/admin/templates/server_config_web_edit.htm
index 7e75f50..6656634 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 @@
                 </div>
             </div>
             <div class="ctrlHolder">
-                <label for="website_autoalias">{tmpl_var name='website_autoalias_txt'}</label>
-                <input name="website_autoalias" id="website_autoalias" value="{tmpl_var name='website_autoalias'}" size="40" maxlength="255" type="text" class="textInput" />&nbsp;{tmpl_var name='website_autoalias_note_txt'} <a href="javascript:void(0);" class="addPlaceholder">[client_id]</a>, <a href="javascript:void(0);" class="addPlaceholder">[client_username]</a>, <a href="javascript:void(0);" class="addPlaceholder">[website_id]</a>, <a href="javascript:void(0);" class="addPlaceholder">[website_domain]</a>
+                <label for="website_autoalias">{tmpl_var name='website_autoalias_txt'}</label>
+                <input name="website_autoalias" id="website_autoalias" value="{tmpl_var name='website_autoalias'}" size="40" maxlength="255" type="text" class="textInput" />&nbsp;{tmpl_var name='website_autoalias_note_txt'} <a href="javascript:void(0);" class="addPlaceholder">[client_id]</a>, <a href="javascript:void(0);" class="addPlaceholder">[client_username]</a>, <a href="javascript:void(0);" class="addPlaceholder">[website_id]</a>, <a href="javascript:void(0);" class="addPlaceholder">[website_domain]</a>
             </div>
-			<!--
-		<div class="ctrlHolder apache">
-			<label for="vhost_rewrite_v6">{tmpl_var name='vhost_rewrite_v6_txt'}</label>
-			<div class="multiField">
-				{tmpl_var name='vhost_rewrite_v6'}
-			</div>
+			<!--
+		<div class="ctrlHolder apache">
+			<label for="vhost_rewrite_v6">{tmpl_var name='vhost_rewrite_v6_txt'}</label>
+			<div class="multiField">
+				{tmpl_var name='vhost_rewrite_v6'}
+			</div>
 		</div>
-			-->
-            <div class="ctrlHolder apache">
-                <label for="vhost_conf_dir">{tmpl_var name='vhost_conf_dir_txt'}</label>
-                <input name="vhost_conf_dir" id="vhost_conf_dir" value="{tmpl_var name='vhost_conf_dir'}" size="40" maxlength="255" type="text" class="textInput" />
+			-->
+            <div class="ctrlHolder apache">
+                <label for="vhost_conf_dir">{tmpl_var name='vhost_conf_dir_txt'}</label>
+                <input name="vhost_conf_dir" id="vhost_conf_dir" value="{tmpl_var name='vhost_conf_dir'}" size="40" maxlength="255" type="text" class="textInput" />
             </div>
             <div class="ctrlHolder apache">
                 <label for="vhost_conf_enabled_dir">{tmpl_var name='vhost_conf_enabled_dir_txt'}</label>
@@ -219,6 +219,10 @@
                     <label for="php_open_basedir">{tmpl_var name='php_open_basedir_txt'}</label>
                     <input name="php_open_basedir" id="php_open_basedir" value="{tmpl_var name='php_open_basedir'}" size="40" type="text" class="textInput" />
                 </div>
+                <div class="ctrlHolder">
+                    <label for="php_ini_check_minutes">{tmpl_var name='php_ini_check_minutes_txt'}</label>
+                    <input name="php_ini_check_minutes" id="php_ini_check_minutes" value="{tmpl_var name='php_ini_check_minutes'}" size="40" type="text" class="textInput" /> {tmpl_var name='php_ini_check_minutes_info_txt'}
+                </div>
             </div>
             <div class="subsectiontoggle"><span></span>{tmpl_var name='apps_vhost_settings_txt'}<em></em></div>
             <div style="display:none;">
@@ -280,7 +284,7 @@
             jQuery('.apache').hide();
         } else {
             jQuery('.nginx').hide();
-            jQuery('.apache').show();
-        }
-    }
-</script>
+            jQuery('.apache').show();
+        }
+    }
+</script>
diff --git a/interface/web/admin/templates/system_config_mail_edit.htm b/interface/web/admin/templates/system_config_mail_edit.htm
index 3c8cf2b..e9c0c0e 100644
--- a/interface/web/admin/templates/system_config_mail_edit.htm
+++ b/interface/web/admin/templates/system_config_mail_edit.htm
@@ -12,6 +12,24 @@
                 </div>
             </div>
             <div class="ctrlHolder">
+                <p class="label">{tmpl_var name='mailbox_show_autoresponder_tab_txt'}</p>
+                <div class="multiField">
+                    {tmpl_var name='mailbox_show_autoresponder_tab'}
+                </div>
+            </div>
+            <div class="ctrlHolder">
+                <p class="label">{tmpl_var name='mailbox_show_mail_filter_tab_txt'}</p>
+                <div class="multiField">
+                    {tmpl_var name='mailbox_show_mail_filter_tab'}
+                </div>
+            </div>
+            <div class="ctrlHolder">
+                <p class="label">{tmpl_var name='mailbox_show_custom_rules_tab_txt'}</p>
+                <div class="multiField">
+                    {tmpl_var name='mailbox_show_custom_rules_tab'}
+                </div>
+            </div>
+            <div class="ctrlHolder">
                 <p class="label">{tmpl_var name='mailboxlist_webmail_link_txt'}</p>
                 <div class="multiField">
                     {tmpl_var name='mailboxlist_webmail_link'}
@@ -77,4 +95,4 @@
         </div>
     </div>
   
-</div>
\ No newline at end of file
+</div>
diff --git a/interface/web/admin/templates/system_config_sites_edit.htm b/interface/web/admin/templates/system_config_sites_edit.htm
index 78c51b0..65f37b7 100644
--- a/interface/web/admin/templates/system_config_sites_edit.htm
+++ b/interface/web/admin/templates/system_config_sites_edit.htm
@@ -45,10 +45,16 @@
                     {tmpl_var name='vhost_subdomains'}&nbsp;{tmpl_var name='vhost_subdomains_note_txt'}
                 </div>
             </div>
-			<div class="ctrlHolder">
+            <div class="ctrlHolder">
                 <p class="label">{tmpl_var name='client_username_web_check_disabled_txt'}</p>
                 <div class="multiField">
                     {tmpl_var name='client_username_web_check_disabled'}
+                </div>
+            </div>
+            <div class="ctrlHolder">
+                <p class="label">{tmpl_var name='reseller_can_use_options_txt'}</p>
+                <div class="multiField">
+                    {tmpl_var name='reseller_can_use_options'}
                 </div>
             </div>
         </fieldset>
@@ -61,4 +67,4 @@
         </div>
     </div>
   
-</div>
\ No newline at end of file
+</div>
diff --git a/interface/web/client/lib/lang/de.lng b/interface/web/client/lib/lang/de.lng
index 9e28df2..fea2cee 100644
--- a/interface/web/client/lib/lang/de.lng
+++ b/interface/web/client/lib/lang/de.lng
@@ -23,4 +23,3 @@
 $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<br>';
 ?>
-
diff --git a/interface/web/client/lib/lang/de_client.lng b/interface/web/client/lib/lang/de_client.lng
index 985be6d..0bb6524 100644
--- a/interface/web/client/lib/lang/de_client.lng
+++ b/interface/web/client/lib/lang/de_client.lng
@@ -144,5 +144,9 @@
 $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&uuml;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 c13e9a2..b6aee46 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['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 2e7e25e..f69b755 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['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 54a9621..d13fcfa 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_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 457cf6c..1538136 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['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 c67a423..506c61e 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['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 5e62e72..552035f 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_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 65604d8..a6bdd6a 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['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 339c6ff..eb4276a 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_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 4198e90..b066bff 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['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 ee35eda..9bc4d53 100644
--- a/interface/web/client/lib/lang/de_reseller.lng
+++ b/interface/web/client/lib/lang/de_reseller.lng
@@ -143,5 +143,9 @@
 $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&uuml;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 890b484..0f688c5 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['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 896b1f1..debf754 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 746b38b..fe1d573 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_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 02a3fff..65984f2 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['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 d898ac6..3d2c6c6 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 @@
 <?php
 $wb['available_modules_txt'] = 'Verfügbare Module';
 ?>
-
diff --git a/interface/web/dashboard/lib/lang/de_dashlet_quota.lng b/interface/web/dashboard/lib/lang/de_dashlet_quota.lng
index daed0db..c694f1e 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 @@
 <?php
-$wb['quota_txt'] = 'Webseiten Speicherplatz';
-$wb['domain_txt'] = 'Domain';
+$wb['quota_txt'] = 'Webseiten-Speicherplatz';
+$wb['domain_txt'] = 'Domain / Webseite';
 $wb['used_txt'] = 'Verwendet';
 $wb['hard_txt'] = 'Hard Limit';
 $wb['soft_txt'] = 'Soft Limit';
 $wb['no_sites_txt'] = 'Keine Webseite gefunden.';
 ?>
-
diff --git a/interface/web/data.sql b/interface/web/data.sql
new file mode 100644
index 0000000..67234bd
--- /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&uuml;r diese Datenbank ein Zugriff von au&szlig;erhalb des Servers erm&ouml;glicht werden? Dann m&uuml;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&ouml;chten Sie mit einem Passwort sch&uuml;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&ouml;nnen Sie die Unterst&uuml;tzung f&uuml;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&ouml;nnen Sie die Unterst&uuml;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&ouml;nnen Sie die Unterst&uuml;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&ouml;nnen Sie die Unterst&uuml;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&ouml;nnen Sie die Unterst&uuml;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&uuml;r PHP aktiviert. Diese Einstellung wird aus Sicherheitsgr&uuml;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&ouml;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&uuml;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&uuml;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&uuml;r welchen Ordner m&ouml;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&uuml;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 29f4a51..acb6c35 100644
--- a/interface/web/designer/lib/lang/de.lng
+++ b/interface/web/designer/lib/lang/de.lng
@@ -1,3 +1,2 @@
 <?php
 ?>
-
diff --git a/interface/web/designer/lib/lang/de_form_edit.lng b/interface/web/designer/lib/lang/de_form_edit.lng
index 4eb8e93..74bf458 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_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 853ce10..998a64f 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['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 09d9f39..6eacd64 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['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 a09b513..6040630 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['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 25e2085..d5142f0 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['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 6353a73..8c0c33c 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['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 d0c4d4b..f4b2ad1 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['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 ad26c43..8ce27ea 100644
--- a/interface/web/dns/dns_wizard.php
+++ b/interface/web/dns/dns_wizard.php
@@ -195,6 +195,14 @@
 	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->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 1f020da..3822719 100644
--- a/interface/web/dns/form/dns_template.tform.php
+++ b/interface/web/dns/form/dns_template.tform.php
@@ -74,7 +74,12 @@
 			'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 @@
 
 
 
-?>
\ 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 65f6646..822fcd6 100644
--- a/interface/web/dns/lib/lang/de.lng
+++ b/interface/web/dns/lib/lang/de.lng
@@ -20,4 +20,3 @@
 $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 dd809c3..4098649 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_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 0fc4419..6e8f195 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_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 c2d0e35..854d623 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['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 48da14f..e950909 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['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 48efdef..a074194 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_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 e0393c6..5fb182c 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['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 e6ca3bb..183809d 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['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 63f99c6..4920806 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_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 0f61c16..01662d2 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['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 5ff80e3..020c7a3 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['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 e7cd528..8a398d4 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['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 de3411f..1b58088 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['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 50b8369..dc60207 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['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 41570e2..8ff7141 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['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 a6df1ee..8281fbd 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['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 7dbeb8e..91eba84 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['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 77cf996..33d1090 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['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 3557292..a0f2d9a 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['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 39a5dbf..c063867 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['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 4b00991..5a8158b 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_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 f7057b4..860464c 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_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 549f0c3..14a5689 100644
--- a/interface/web/dns/templates/dns_a_list.htm
+++ b/interface/web/dns/templates/dns_a_list.htm
@@ -21,6 +21,7 @@
             <button class="button iconstxt icoAdd" type="button" onclick="loadContent('dns/dns_aaaa_edit.php?zone={tmpl_var name='parent_id'}');"><span>AAAA</span></button>
             <button class="button iconstxt icoAdd" type="button" onclick="loadContent('dns/dns_alias_edit.php?zone={tmpl_var name='parent_id'}');"><span>ALIAS</span></button>
             <button class="button iconstxt icoAdd" type="button" onclick="loadContent('dns/dns_cname_edit.php?zone={tmpl_var name='parent_id'}');"><span>CNAME</span></button>
+            <button class="button iconstxt icoAdd" type="button" onclick="loadContent('dns/dns_dkim_edit.php?zone={tmpl_var name='parent_id'}');"><span>DKIM</span></button>
             <button class="button iconstxt icoAdd" type="button" onclick="loadContent('dns/dns_hinfo_edit.php?zone={tmpl_var name='parent_id'}');"><span>HINFO</span></button>
             <button class="button iconstxt icoAdd" type="button" onclick="loadContent('dns/dns_mx_edit.php?zone={tmpl_var name='parent_id'}');"><span>MX</span></button>
             <button class="button iconstxt icoAdd" type="button" onclick="loadContent('dns/dns_ns_edit.php?zone={tmpl_var name='parent_id'}');"><span>NS</span></button>
diff --git a/interface/web/dns/templates/dns_wizard.htm b/interface/web/dns/templates/dns_wizard.htm
index 849c5b4..da2c918 100644
--- a/interface/web/dns/templates/dns_wizard.htm
+++ b/interface/web/dns/templates/dns_wizard.htm
@@ -67,6 +67,11 @@
                     <input name="email" id="email" value="{tmpl_var name='email'}" size="30" maxlength="255" type="text" class="textInput" />
                 </div>
             </tmpl_if>
+            <tmpl_if name="DKIM_VISIBLE">
+		    <label for="dkim">{tmpl_var name='dkim_txt'}</label>
+                    <input name="dkim" type="hidden" maxlength="255" type="text"/>
+            </tmpl_if>
+
         </fieldset>
             
         <input type="hidden" name="create" value="0" />
diff --git a/interface/web/help/lib/lang/de.lng b/interface/web/help/lib/lang/de.lng
index 606b4f0..f9deb20 100644
--- a/interface/web/help/lib/lang/de.lng
+++ b/interface/web/help/lib/lang/de.lng
@@ -12,4 +12,3 @@
 $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 90c6a44..35042fa 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_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 f3be08c..b47a695 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_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 f9f7cd4..873dab2 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 @@
 <?php
 $wb['faq_section_name_txt'] = 'Kategorie Name';
 ?>
-
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 66fd26c..3a240f4 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 @@
 <?php
 $wb['edit_txt'] = 'Bearbeiten';
 ?>
-
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 5d52ec8..190f85a 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_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 48a66b9..881b271 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['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 f6265d2..74fbeb2 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['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 744643b..439fa02 100644
--- a/interface/web/login/lib/lang/de.lng
+++ b/interface/web/login/lib/lang/de.lng
@@ -23,4 +23,3 @@
 $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.<br />Es wurde nun automatisch das Standard Design aktiviert.';
 $wb['back_txt'] = 'Zur&uuml;ck';
 ?>
-
diff --git a/interface/web/mail/form/mail_domain.tform.php b/interface/web/mail/form/mail_domain.tform.php
index 506f934..caf48d5 100644
--- a/interface/web/mail/form/mail_domain.tform.php
+++ b/interface/web/mail/form/mail_domain.tform.php
@@ -98,6 +98,33 @@
 			'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 @@
 );
 
 
-?>
\ 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 5ec0cbc..ddccdbf 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"]['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')
-		),
-	##################################
-	# 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"
-			)
-        )
-	)
-);
-
-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 ($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
+		##################################
+		)
+	);
 }
 
 
-?>
\ No newline at end of file
+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
+		##################################
+		),
+		'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' && $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
+		##################################
+		)
+	);
+}
+
+?>
diff --git a/interface/web/mail/lib/lang/de.lng b/interface/web/mail/lib/lang/de.lng
index 12b6ba7..9141897 100644
--- a/interface/web/mail/lib/lang/de.lng
+++ b/interface/web/mail/lib/lang/de.lng
@@ -46,4 +46,3 @@
 $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 572c09a..c11499e 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['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 7c0c114..e741d02 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['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 38d775f..f75bd16 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_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 d7ae9ae..c386d42 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['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 474d1ad..4611dad 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['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 03b1b46..b169909 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['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 48348b2..9ea5422 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['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 930f1e5..126f23c 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['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 ae0c822..3d1b150 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['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 3f5bde4..403bb90 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['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 6c63bf2..9f37e56 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['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 7ce05d3..558cb5c 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['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 3a7a393..ff25a58 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['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 56a82af..a392ac4 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['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 01b2950..99b6ab5 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['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 4100c38..fd4e10e 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['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 a0ee458..d192358 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['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 04320e0..1d143b6 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['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 c9959f0..3eee785 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['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 1ab7da8..37a2401 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['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 ec6574a..fc5d6f4 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['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 f8c0778..b133a41 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['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 7ccd9f5..95c7d40 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['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 578afe8..873036f 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['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 213b3d2..6c9f865 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['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 d97af7b..87a5563 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['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 9a8d7dc..38c324e 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['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 695e404..003ed0e 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_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 50580a9..a56fb6d 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['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 3291ae4..e9a1983 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['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 d09be9a..1506deb 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['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 cf511a5..bcd4ccb 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['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 9be7f06..1dd4c6e 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['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 a0fe072..7ba623b 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['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 d00b2b1..2cf2232 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['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 579d315..db92a4b 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['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 60f8b86..32acca4 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['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 02083ef..b5ec8e9 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['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 cf9f0cd..b7f6cd4 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['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 89a5983..8e53193 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['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 bb82781..d388432 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['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 ed8a220..4d7769d 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['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 372c7b3..beb9c18 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['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 ad93100..8d33cc0 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["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)<br><br>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 7a40aa4..b373d45 100644
--- a/interface/web/mailuser/lib/lang/de.lng
+++ b/interface/web/mailuser/lib/lang/de.lng
@@ -7,4 +7,3 @@
 $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 d8eec65..522ddbc 100644
--- a/interface/web/mailuser/lib/lang/de_index.lng
+++ b/interface/web/mailuser/lib/lang/de_index.lng
@@ -10,4 +10,3 @@
 $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 ce28da0..f8d4e46 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['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 6292bb5..b85077e 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['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 53cd51e..fd93e64 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['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 a0b80bd..9abd40d 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_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 062ba6b..5e5fe5e 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['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 019679a..47ac53a 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['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 304ac73..a46050e 100644
--- a/interface/web/monitor/lib/lang/de.lng
+++ b/interface/web/monitor/lib/lang/de.lng
@@ -122,6 +122,7 @@
 $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_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.<br>We cant find any of them at your server.<br><br>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_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['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 8939cab..0b6bf9a 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['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 755ea31..aa6472e 100644
--- a/interface/web/monitor/lib/lang/en.lng
+++ b/interface/web/monitor/lib/lang/en.lng
@@ -47,6 +47,7 @@
 $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_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_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 e177413..ca68ade 100644
--- a/interface/web/monitor/lib/module.conf.php
+++ b/interface/web/monitor/lib/module.conf.php
@@ -195,6 +195,11 @@
                   '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 1e85d90..42f4766 100644
--- a/interface/web/monitor/show_data.php
+++ b/interface/web/monitor/show_data.php
@@ -131,6 +131,13 @@
         $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 ec10a98..cb9e4c1 100644
--- a/interface/web/monitor/show_log.php
+++ b/interface/web/monitor/show_log.php
@@ -125,7 +125,20 @@
 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 .= "<div class='logerror'>$val</div>";   
+    } elseif (strpos($val, 'WARN') !== FALSE) {
+      $logDataHtml .= "<div class='logwarn'>$val</div>";   
+    } elseif (strpos($val, 'INFO') !== FALSE) {
+      $logDataHtml .= "<div class='loginfo'>$val</div>";   
+    } else {
+      $logDataHtml .= "<div class='log'>$val</div>";   
+    }
+  }
 
 	$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 00d7b25..f1c43b0 100644
--- a/interface/web/sites/aps_installedpackages_list.php
+++ b/interface/web/sites/aps_installedpackages_list.php
@@ -139,4 +139,4 @@
 $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 1b71196..4f6979f 100644
--- a/interface/web/sites/database_user_edit.php
+++ b/interface/web/sites/database_user_edit.php
@@ -57,17 +57,17 @@
 		 * 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 @@
 			}
 			$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 @@
 		$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"].'<br />';
 
 		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"]).'<br />';
-		
+
 		//* 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.').'<br />';
 		}
-		
+
 		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"].'<br />';
 
@@ -162,11 +167,11 @@
 		$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"]).'<br />';
-		
+
 		//* 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 @@
 		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 @@
 			$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 e390f72..2a9da3f 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 @@
 			'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 fa2b2d3..d2a2def 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 @@
 			'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 f2c6fa7..233b464 100644
--- a/interface/web/sites/form/web_domain.tform.php
+++ b/interface/web/sites/form/web_domain.tform.php
@@ -72,6 +72,9 @@
     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 @@
 
 // }
 
-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 116428c..e71d580 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($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 @@
 
 // }
 
-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 7f956ef..544824a 100644
--- a/interface/web/sites/lib/lang/de.lng
+++ b/interface/web/sites/lib/lang/de.lng
@@ -33,4 +33,3 @@
 $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 b97d0a0..aab6f4e 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_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 753ba3b..e5f8b7b 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['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 ab21a14..6cada81 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['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 4ca36cf..3b5a161 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_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 8fd1958..57d8ca3 100644
--- a/interface/web/sites/lib/lang/de_cron.lng
+++ b/interface/web/sites/lib/lang/de_cron.lng
@@ -19,4 +19,3 @@
 $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 029cd59..687505b 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['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 a38dd8d..2108673 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_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 ad742ff..b479d06 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['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 93dc277..7cfe035 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 d81bc52..ab46017 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_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 4cbdc9d..82c09fc 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['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 d746d2f..7ee8222 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['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 897f700..2a3a98b 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['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['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 d39ff1f..8d1b081 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['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 8a825b4..4f04562 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['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 176a4e5..c953cf6 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['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 c207ad7..679e16a 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['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 d568bd2..5f0fb3a 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['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 1fe7f84..9e27e3c 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_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 87fb0aa..5d39ebe 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_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 18fd6db..79fe726 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['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 276696c..d9dc65c 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['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 b722783..ce56a1c 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['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 615e340..8defc36 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['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 2ac8f03..5491202 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['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 6ab959c..6983dc1 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_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 cd41dbf..5357760 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['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 84a2676..611b829 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['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 29de073..c74bf92 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['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 9197076..042b9f0 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['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 d128a5e..9dc798f 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['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 9197076..042b9f0 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['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 25c7b09..8e38b87 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['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 84b9fad..927bfbb 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['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 fdafd68..e68d993 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 e87ad2a..13bb304 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 74bcbd9..47ca0cb 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['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_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 56bf15d..76dbec5 100644
--- a/interface/web/sites/list/database.list.php
+++ b/interface/web/sites/list/database.list.php
@@ -70,6 +70,19 @@
 							'width'		=> "",
 							'value'		=> array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>Yes</span></div>",'n' => "<div class=\"swap\" id=\"ir-No\"><span>No</span></div>"));
 
+$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 @@
                             '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 4e0c9bd..331a2a6 100644
--- a/interface/web/sites/templates/aps_install_package.htm
+++ b/interface/web/sites/templates/aps_install_package.htm
@@ -53,4 +53,4 @@
         </div>
     </div>
     
-</div>
\ No newline at end of file
+</div>
diff --git a/interface/web/sites/templates/database_admin_list.htm b/interface/web/sites/templates/database_admin_list.htm
index a702165..d7fecea 100644
--- a/interface/web/sites/templates/database_admin_list.htm
+++ b/interface/web/sites/templates/database_admin_list.htm
@@ -19,6 +19,7 @@
                     <tr class="caption">
                         <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
                         <th class="tbl_col_remote_access" scope="col"><tmpl_var name="remote_access_txt"></th>
+                        <th class="tbl_col_type" scope="col"><tmpl_var name="type_txt"></th>
                         <th class="tbl_col_sys_groupid" scope="col"><tmpl_var name="sys_groupid_txt"></th>
                         <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
 						<th class="tbl_col_parent_domain_id" scope="col"><tmpl_var name="parent_domain_id_txt"></th>
@@ -29,6 +30,7 @@
                     <tr class="filter">
                         <td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td>
                         <td class="tbl_col_remote_access"><select name="search_remote_access">{tmpl_var name='search_remote_access'}</select></td>
+                        <td class="tbl_col_type"><select name="search_type">{tmpl_var name='search_type'}</select></td>
                         <td class="tbl_col_sys_groupid"><select name="search_sys_groupid">{tmpl_var name='search_sys_groupid'}</select></td>
                         <td class="tbl_col_server_id"><select name="search_server_id">{tmpl_var name='search_server_id'}</select></td>
 						<td class="tbl_col_parent_domain_id"><select name="search_parent_domain_id">{tmpl_var name='search_parent_domain_id'}</select></td>
@@ -44,6 +46,7 @@
                         <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
                             <td class="tbl_col_active"><a href="#" onclick="loadContent('sites/database_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
                             <td class="tbl_col_remote_access"><a href="#" onclick="loadContent('sites/database_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="remote_access"}</a></td>
+                            <td class="tbl_col_type"><a href="#" onclick="loadContent('sites/database_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="type"}</a></td>
                             <td class="tbl_col_sys_groupid"><a href="#" onclick="loadContent('sites/database_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="sys_groupid"}</a></td>
                             <td class="tbl_col_server_id"><a href="#" onclick="loadContent('sites/database_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
 							<td class="tbl_col_parent_domain_id"><a href="#" onclick="loadContent('sites/database_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="parent_domain_id"}</a></td>
@@ -54,7 +57,7 @@
                                     <a class="button icons16 icoDbAdmin" href="sites/database_phpmyadmin.php?id={tmpl_var name='id'}" target="phpmyadmin"><span>{tmpl_var name='admin_txt'}</span></a>
                                 </tmpl_if>
                                 <a class="button icons16 icoEdit" href="javascript: loadContent('sites/database_edit.php?id={tmpl_var name='id'}');"><span>{tmpl_var name='edit_txt'}</span></a>
-                                <a class="button icons16 icoDelete" href="javascript: del_record('sites/database_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
+                                <a class="button icons16 icoDelete" href="javascript: del_record('sites/database_del.php?id={tmpl_var name='id'}&amp;phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
                             </td>
                         </tr>
                     </tmpl_loop>
diff --git a/interface/web/sites/templates/database_list.htm b/interface/web/sites/templates/database_list.htm
index ec2d55f..15a8ae7 100644
--- a/interface/web/sites/templates/database_list.htm
+++ b/interface/web/sites/templates/database_list.htm
@@ -36,6 +36,7 @@
                     <tr class="caption">
                         <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
                         <th class="tbl_col_remote_access" scope="col"><tmpl_var name="remote_access_txt"></th>
+                        <th class="tbl_col_type" scope="col"><tmpl_var name="type_txt"></th>
                         <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
 						<th class="tbl_col_parent_domain_id" scope="col"><tmpl_var name="parent_domain_id_txt"></th>
                         <th class="tbl_col_database_user_id" scope="col"><tmpl_var name="database_user_txt"></th>
@@ -45,6 +46,7 @@
                     <tr class="filter">
                         <td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td>
                         <td class="tbl_col_remote_access"><select name="search_remote_access">{tmpl_var name='search_remote_access'}</select></td>
+                        <td class="tbl_col_type"><select name="search_type">{tmpl_var name='search_type'}</select></td>
                         <td class="tbl_col_server_id"><select name="search_server_id">{tmpl_var name='search_server_id'}</select></td>
 						<td class="tbl_col_parent_domain_id"><select name="search_parent_domain_id">{tmpl_var name='search_parent_domain_id'}</select></td>
                         <td class="tbl_col_database_user_id"><select name="search_database_user_id">{tmpl_var name='search_database_user_id'}</select></td>
@@ -59,6 +61,7 @@
                         <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
                             <td class="tbl_col_active"><a href="#" onclick="loadContent('sites/database_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
                             <td class="tbl_col_remote_access"><a href="#" onclick="loadContent('sites/database_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="remote_access"}</a></td>
+                            <td class="tbl_col_type"><a href="#" onclick="loadContent('sites/database_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="type"}</a></td>
                             <td class="tbl_col_server_id"><a href="#" onclick="loadContent('sites/database_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
 							<td class="tbl_col_parent_domain_id"><a href="#" onclick="loadContent('sites/database_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="parent_domain_id"}</a></td>
                             <td class="tbl_col_database_user"><a href="#" onclick="loadContent('sites/database_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="database_user_id"}</a></td>
@@ -68,7 +71,7 @@
                                     <a class="button icons16 icoDbAdmin" href="sites/database_phpmyadmin.php?id={tmpl_var name='id'}" target="phpmyadmin"><span>{tmpl_var name='admin_txt'}</span></a>
                                 </tmpl_if>
                                 <a class="button icons16 icoEdit" href="javascript: loadContent('sites/database_edit.php?id={tmpl_var name='id'}');"><span>{tmpl_var name='edit_txt'}</span></a>
-                                <a class="button icons16 icoDelete" href="javascript: del_record('sites/database_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
+                                <a class="button icons16 icoDelete" href="javascript: del_record('sites/database_del.php?id={tmpl_var name='id'}&amp;phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
                             </td>
                         </tr>
                     </tmpl_loop>
@@ -87,4 +90,4 @@
         </fieldset>
     </div>
 
-</div>
\ No newline at end of file
+</div>
diff --git a/interface/web/sites/templates/web_backup_list.htm b/interface/web/sites/templates/web_backup_list.htm
index 3248812..780897d 100644
--- a/interface/web/sites/templates/web_backup_list.htm
+++ b/interface/web/sites/templates/web_backup_list.htm
@@ -16,6 +16,7 @@
                         <th class="tbl_col_date" scope="col"><tmpl_var name="date_txt"></th>
                         <th class="tbl_col_date" scope="col"><tmpl_var name="backup_type_txt"></th>
                         <th class="tbl_col_filename" scope="col"><tmpl_var name="filename_txt"></th>
+                        <th class="tbl_col_filename" scope="col"><tmpl_var name="filesize_txt"></th>
                         <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
                     </tr>
                 </thead>
@@ -25,6 +26,7 @@
                             <td class="tbl_col_date">{tmpl_var name="date"}</td>
                             <td class="tbl_col_date">{tmpl_var name="backup_type"}</td>
                             <td class="tbl_col_filename">{tmpl_var name="filename"}</td>
+                            <td class="tbl_col_filesize">{tmpl_var name="filesize"}</td>
                             <td class="tbl_col_buttons">
                                 <div class="buttons">
                                     <button class="button iconstxt icoRestore" type="button" onclick="confirm_action('sites/web_domain_edit.php?id={tmpl_var name='parent_id'}&next_tab=backup&backup_action=restore&backup_id={tmpl_var name='backup_id'}','{tmpl_var name='restore_confirm_txt'}');"><span>{tmpl_var name="restore_backup_txt"}</span></button>
@@ -43,4 +45,4 @@
         </fieldset>
     </div>
     
-</div>
\ No newline at end of file
+</div>
diff --git a/interface/web/sites/web_domain_edit.php b/interface/web/sites/web_domain_edit.php
index ffc29e8..062529fda 100644
--- a/interface/web/sites/web_domain_edit.php
+++ b/interface/web/sites/web_domain_edit.php
@@ -259,6 +259,53 @@
             // 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 .= '<a href="javascript:void(0);" class="addPlaceholderContent">['.$php_directive_snippet['name'].']<pre class="addPlaceholderContent" style="display:none;">'.htmlentities($php_directive_snippet['snippet']).'</pre></a> ';
+                        }
+                }
+                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 .= '<a href="javascript:void(0);" class="addPlaceholderContent">['.$apache_directive_snippet['name'].']<pre class="addPlaceholderContent" style="display:none;">'.htmlentities($apache_directive_snippet['snippet']).'</pre></a> ';
+                            }
+                    }
+                    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 .= '<a href="javascript:void(0);" class="addPlaceholderContent">['.$nginx_directive_snippet['name'].']<pre class="addPlaceholderContent" style="display:none;">'.htmlentities($nginx_directive_snippet['snippet']).'</pre></a> ';
+                            }
+                    }
+                    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 .= '<a href="javascript:void(0);" class="addPlaceholderContent">['.$proxy_directive_snippet['name'].']<pre class="addPlaceholderContent" style="display:none;">'.htmlentities($proxy_directive_snippet['snippet']).'</pre></a> ';
+                        }
+                }
+                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 0322726..a2c9da0 100644
--- a/interface/web/sites/web_vhost_subdomain_edit.php
+++ b/interface/web/sites/web_vhost_subdomain_edit.php
@@ -164,6 +164,53 @@
             // 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 .= '<a href="javascript:void(0);" class="addPlaceholderContent">['.$php_directive_snippet['name'].']<pre class="addPlaceholderContent" style="display:none;">'.$php_directive_snippet['snippet'].'</pre></a> ';
+                        }
+                }
+                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 .= '<a href="javascript:void(0);" class="addPlaceholderContent">['.$apache_directive_snippet['name'].']<pre class="addPlaceholderContent" style="display:none;">'.$apache_directive_snippet['snippet'].'</pre></a> ';
+                            }
+                    }
+                    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 .= '<a href="javascript:void(0);" class="addPlaceholderContent">['.$nginx_directive_snippet['name'].']<pre class="addPlaceholderContent" style="display:none;">'.$nginx_directive_snippet['snippet'].'</pre></a> ';
+                            }
+                    }
+                    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 .= '<a href="javascript:void(0);" class="addPlaceholderContent">['.$proxy_directive_snippet['name'].']<pre class="addPlaceholderContent" style="display:none;">'.$proxy_directive_snippet['snippet'].'</pre></a> ';
+                        }
+                }
+                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 @@
 $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 dbfdce3..52f1018 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_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 a06505c..de8fe7a 100644
--- a/interface/web/tools/import_plesk.php
+++ b/interface/web/tools/import_plesk.php
@@ -122,6 +122,21 @@
     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 @@
             $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($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 @@
         
         $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 @@
                 $msg .= "&nbsp; Error: " . $importer->getFault() . "<br />";
             } else {
                 $msg .= "Domain " . $entry['id'] . " (" . $entry['name'] . ") inserted -> " . $new_id . ".<br />";
+                
+                $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 @@
                 $new_id = $old_domain['domain_id'];
                 $params = array_merge($old_domain, $params);
                 $msg .= "Found mail domain with id " . $new_id . ", updating it.<br />";
-                $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 .= "&nbsp; Error: " . $importer->getFault() . "<br />";
             } else {
                 $new_id = $importer->mail_domain_add($session_id, $plesk_ispc_ids[$domain_owners[$entry['dom_id']]], $params);
@@ -548,11 +573,155 @@
             }
         }
         
-        // 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.<br />";
+                $ok = $importer->sites_web_vhost_subdomain_update($session_id, $plesk_ispc_ids[$parent_domain['cl_id']], $new_id, $params);
+                if($ok === false) $msg .= "&nbsp; Error: " . $importer->getFault() . "<br />";
+            } 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.<br />";
+                $msg .= "&nbsp; Error: " . $importer->getFault() . "<br />";
+            } else {
+                $msg .= "Subdomain " . $entry['id'] . " (" . $entry['name'] . ") inserted.<br />";
+                
+                $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 @@
              * 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 @@
                 $msg .= "&nbsp; Error: " . $importer->getFault() . "<br />";
             } else {
                 $msg .= "Subdomain " . $entry['id'] . " (" . $entry['name'] . ") inserted.<br />";
+                
+                $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 @@
                             '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 @@
             $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.<br />';
+                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 @@
         $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 @@
                     $msg .= "FTP Account conflicts with other domain!<br />";
                 } 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 .= "&nbsp; Error: " . $importer->getFault() . "<br />";
                 }
             } else {
@@ -1011,7 +1200,7 @@
                 $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 .= "&nbsp; Error: " . $importer->getFault() . "<br />";
                 } else {
                     $new_id = $importer->mail_user_add($session_id, $client_id, $params);
@@ -1023,6 +1212,13 @@
                     $msg .= "&nbsp; Error: " . $importer->getFault() . "<br />";
                 } else {
                     $msg .= "Mail " . $entry['id'] . " (" . $entry['mail_name'] . "@" . $parent_domain['name'] . ") inserted/updated.<br />";
+                    
+                    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 @@
                 $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 .= "&nbsp; Error: " . $importer->getFault() . "<br />";
                 } else {
                     $new_id = $importer->mail_forward_add($session_id, $client_id, $params);
@@ -1080,7 +1276,7 @@
             $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 .= "&nbsp; Error: " . $importer->getFault() . "<br />";
             } else {
                 $new_id = $importer->mail_alias_add($session_id, $client_id, $params);
@@ -1108,12 +1304,15 @@
         
         $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($db_userids[$db_user['db_id']])) $db_userids[$db_user['db_id']] = $db_user_id;
             $msg .= 'Created / updated database user: ' . $db_user['login'] . '<br />';
         }
+         
+        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 @@
                             '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));
@@ -1148,6 +1351,9 @@
             } else {
                 $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'] . '<br />';
          }
@@ -1187,6 +1393,13 @@
         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!<br />';
         $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 0000000..cb99794
--- /dev/null
+++ b/interface/web/tools/import_vpopmail.php
@@ -0,0 +1,267 @@
+<?php
+/*
+Copyright (c) 2012, Till Brehm, projektfarm Gmbh, ISPConfig UG
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+    * Redistributions of source code must retain the above copyright notice,
+      this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright notice,
+      this list of conditions and the following disclaimer in the documentation
+      and/or other materials provided with the distribution.
+    * Neither the name of ISPConfig nor the names of its contributors
+      may be used to endorse or promote products derived from this software without
+      specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+set_time_limit(0);
+
+require_once('../../lib/config.inc.php');
+require_once('../../lib/app.inc.php');
+
+//* Check permissions for module
+$app->auth->check_module_permissions('admin');
+
+//* This is only allowed for administrators
+if(!$app->auth->is_admin()) die('only allowed for administrators.');
+
+$app->uses('tpl,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<br />';
+		
+		$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.<br />';
+		}
+		
+	} else {
+		$msg .= 'Database connection failed<br />';
+	}
+	
+} 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.<br />";
+			} else {
+				$msg .= "Client $username exists, skipped.<br />";
+			}
+		}
+	}
+	
+	//* 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 <br />";
+			} else {
+				$msg .= "Skipped domain $domain <br />";
+			}
+		}
+	}
+	
+	//* 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 <br />";
+				}
+			}else {
+				$msg .= "Skipped mailbox $email <br />";
+			}
+		}
+	}
+	
+	//* 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.<br />";
+			} 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.<br />";
+			}
+			
+			//* 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.<br />";
+			} else {
+				$msg .= "Skipped alias $email as it exists already.<br />";
+			}
+		}
+	}
+	
+}
+
+
+?>
diff --git a/interface/web/tools/lib/lang/de.lng b/interface/web/tools/lib/lang/de.lng
index 62e0deb..5a1c501 100644
--- a/interface/web/tools/lib/lang/de.lng
+++ b/interface/web/tools/lib/lang/de.lng
@@ -11,4 +11,3 @@
 $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 eb3a8cf..d8ae6cf 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_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 0bfbcc7..8cde045 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 4ec5d9d..2af008f 100644
--- a/interface/web/tools/lib/lang/de_interface.lng
+++ b/interface/web/tools/lib/lang/de_interface.lng
@@ -5,4 +5,3 @@
 $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 cf858b7..0387ae6 100644
--- a/interface/web/tools/lib/lang/de_resync.lng
+++ b/interface/web/tools/lib/lang/de_resync.lng
@@ -11,4 +11,3 @@
 $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 40cfdc0..45de148 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['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 167a0f7..908bbf6 100644
--- a/interface/web/tools/lib/lang/de_usersettings.lng
+++ b/interface/web/tools/lib/lang/de_usersettings.lng
@@ -10,4 +10,3 @@
 $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 0000000..1e4dd28
--- /dev/null
+++ b/interface/web/tools/lib/lang/en_import_vpopmail.lng
@@ -0,0 +1,8 @@
+<?php
+$wb['head_txt'] = 'Import email configuration from Vpopmail';
+$wb['legend_txt'] = 'Remote database server connection details';
+$wb['btn_start_txt'] = 'Start Import';
+$wb['btn_connect_txt'] = 'Connect to remote server';
+$wb['btn_cancel_txt'] = 'Cancel';
+
+?>
diff --git a/interface/web/tools/templates/import_vpopmail.htm b/interface/web/tools/templates/import_vpopmail.htm
new file mode 100644
index 0000000..ade9476
--- /dev/null
+++ b/interface/web/tools/templates/import_vpopmail.htm
@@ -0,0 +1,53 @@
+<h2><tmpl_var name="head_txt"></h2>
+<p><tmpl_var name="list_desc_txt"></p>
+
+<div class="panel panel_language_import">
+  
+    <div class="pnl_formsarea">
+        <fieldset class="inlineLabels"><legend>{tmpl_var name="legend_txt"}</legend>
+            <div class="ctrlHolder">
+                <p class="label">Database Hostname</p>
+                <div class="multiField">
+                    <input id="db_hostname" type="text" value="{tmpl_var name='db_hostname'}" name="db_hostname" />
+                </div>
+            </div>
+			<div class="ctrlHolder">
+                <p class="label">Database Name</p>
+                <div class="multiField">
+                    <input id="db_name" type="text" value="{tmpl_var name='db_name'}" name="db_name" />
+                </div>
+            </div>
+            <div class="ctrlHolder">
+                <p class="label">Database User</p>
+                <div class="multiField">
+                    <input id="db_user" type="text" value="{tmpl_var name='db_user'}" name="db_user" />
+                </div>
+            </div>
+            <div class="ctrlHolder">
+                <p class="label">Database password</p>
+                <div class="multiField">
+                    <input id="db_password" type="text" value="{tmpl_var name='db_password'}" name="db_password" />
+                </div>
+            </div>
+			<div class="ctrlHolder">
+                <p class="label">Server ID of local mailserver</p>
+                <div class="multiField">
+                    <input id="local_server_id" type="text" value="{tmpl_var name='local_server_id'}" name="local_server_id" />
+                </div>
+            </div>
+        </fieldset>
+    </div>
+	 
+    <tmpl_if name="msg">
+        <div id="OKMsg"><p><tmpl_var name="msg"></p></div>
+    </tmpl_if>
+    <tmpl_if name="error">
+        <div id="errorMsg"><h3>ERROR</h3><ol><tmpl_var name="error"></ol></div>
+    </tmpl_if>
+	
+    <input type="hidden" name="remote_session_id" value="{tmpl_var name='remote_session_id'}">
+        <div class="buttonHolder buttons">
+            <button class="positive iconstxt icoPositive" type="button" value="Import" onClick="submitForm('pageForm','tools/import_vpopmail.php');"><span>{tmpl_var name="btn_start_txt"}</span></button>
+            <button class="negative iconstxt icoNegative" type="button" value="Cancel" onClick="loadContent('tools/index.php');"><span>{tmpl_var name="btn_cancel_txt"}</span></button>
+        </div>
+  </div>
diff --git a/interface/web/vm/lib/lang/de.lng b/interface/web/vm/lib/lang/de.lng
index a68f43f..cc6559f 100644
--- a/interface/web/vm/lib/lang/de.lng
+++ b/interface/web/vm/lib/lang/de.lng
@@ -5,4 +5,3 @@
 $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 c0a5c0e..f40d2f2 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_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 b7b1498..48c9a52 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_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 d214e95..f4302d8 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['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 e0fb939..8e4cfcb 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_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 09a174e..dff6bd2 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['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 9e76eca..329a106 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['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 682f2cc..9e32b34 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['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 b45a79f..c773885 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['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 aecb462..0b3ac30 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['ip_address_txt'] = 'IP-Adresse';
 $wb['veid_txt'] = 'VEID';
 ?>
-
diff --git a/server/cron_daily.php b/server/cron_daily.php
index 19fe2ad..1e0f238 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 6cb922f..f794487 100644
--- a/server/lib/classes/aps_installer.inc.php
+++ b/server/lib/classes/aps_installer.inc.php
@@ -445,11 +445,11 @@
                 $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 @@
         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 59c2c7c..42ef73f 100644
--- a/server/lib/classes/monitor_tools.inc.php
+++ b/server/lib/classes/monitor_tools.inc.php
@@ -455,6 +455,9 @@
 					$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 49012d5..d3d3621 100644
--- a/server/mods-available/rescue_core_module.inc.php
+++ b/server/mods-available/rescue_core_module.inc.php
@@ -35,7 +35,7 @@
 	/* 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 2e1e80c..fb741dc 100644
--- a/server/plugins-available/apache2_plugin.inc.php
+++ b/server/plugins-available/apache2_plugin.inc.php
@@ -88,8 +88,97 @@
 		
 		$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 @@
 			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 78be959..5da8fc0 100644
--- a/server/plugins-available/backup_plugin.inc.php
+++ b/server/plugins-available/backup_plugin.inc.php
@@ -80,7 +80,33 @@
 					$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 0000000..545fe9e
--- /dev/null
+++ b/server/plugins-available/mongo_clientdb_plugin.inc.php
@@ -0,0 +1,820 @@
+<?php
+
+/*
+Copyright (c) 2007, Till Brehm, projektfarm Gmbh
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+    * Redistributions of source code must retain the above copyright notice,
+      this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright notice,
+      this list of conditions and the following disclaimer in the documentation
+      and/or other materials provided with the distribution.
+    * Neither the name of ISPConfig nor the names of its contributors
+      may be used to endorse or promote products derived from this software without
+      specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+/**
+ * The MongoDB client plugin is used by ISPConfig to control the management of MongoDB.
+ * If handles everything from creating DBs/Users, update them or delete them.
+ */
+class mongo_clientdb_plugin {
+
+	/**
+	 * ISPConfig internal identifiers.
+	 */
+	var $plugin_name = 'mongo_clientdb_plugin';
+	var $class_name  = 'mongo_clientdb_plugin';
+
+
+	/**
+	 * This function is called during ISPConfig installation.
+	 * It determines if a symlink shall be created for this plugin.
+	 *
+	 * @return bool true if symlink should be created
+	 */
+	function onInstall() {
+		global $conf;
+
+		return (bool) $conf['services']['db'];
+	}
+
+	/**
+	 * This function is called when the plugin is loaded.
+	 * Each plugin/module needs to register itself to ISPConfig events from which
+	 * it want to receive changes/get notified.
+	 *
+	 * Since this is a MongoDB plugin we are interested in DB changes and everything related
+	 * to it, like users.
+	 */
+	function onLoad() {
+		global $app;
+
+		//* Databases
+		$app->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 0000000..0fcdf13
--- /dev/null
+++ b/server/plugins-available/webserver_plugin.inc.php
@@ -0,0 +1,166 @@
+<?php
+
+/*
+  Copyright (c) 2007-2011, Till Brehm, projektfarm Gmbh and Oliver Vogel www.muv.com
+  All rights reserved.
+
+  Redistribution and use in source and binary forms, with or without modification,
+  are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright notice,
+  this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice,
+  this list of conditions and the following disclaimer in the documentation
+  and/or other materials provided with the distribution.
+ * Neither the name of ISPConfig nor the names of its contributors
+  may be used to endorse or promote products derived from this software without
+  specific prior written permission.
+
+  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+  INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+  BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+  OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+class webserver_plugin {
+
+	var $plugin_name = 'webserver_plugin';
+	var $class_name = 'webserver_plugin';
+	
+	/**
+	 * This function is called during ispconfig installation to determine
+	 * if a symlink shall be created for this plugin.
+	 */
+	public function onInstall() {
+		global $conf;
+        
+		if($conf['services']['web'] == true) {
+			return true;
+		} else {
+			return false;
+		}
+	}
+
+	/**
+	 * This function is called when the module is loaded
+	 */
+	public function onLoad() {
+		global $app;
+
+        $app->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 3415f6e..2ead490 100644
--- a/server/server.php
+++ b/server/server.php
@@ -170,6 +170,9 @@
 	$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

--
Gitblit v1.9.1