diff --git a/install/autoupdate.php b/install/autoupdate.php
index e43cd5198510c4bf9a73f1d1b960d22b16d4ec0d..de53b241f69be9036df03cfdffd07a84d6970d67 100644
--- a/install/autoupdate.php
+++ b/install/autoupdate.php
@@ -285,7 +285,7 @@ $inst->configure_dbserver();
 //if(@is_dir('/etc/Bastille')) {
 //* Configure Firewall
 swriteln('Configuring Firewall');
-$inst->configure_firewall();
+$inst->configure_bastille_firewall();
 //}
 
 //** Configure ISPConfig
diff --git a/install/install.php b/install/install.php
index 505426eee3f9052afd314bc506dbf6ae637e656f..cbdf5d1c55df492f279009452470aaab3420b359 100644
--- a/install/install.php
+++ b/install/install.php
@@ -260,10 +260,17 @@ if($install_mode == 'standard') {
 	$inst->configure_apps_vhost();
     
 	//* Configure Firewall
-	//* Configure Bastille Firewall
-	$conf['services']['firewall'] = true;
-	swriteln('Configuring Bastille Firewall');
-	$inst->configure_firewall();
+	if($conf['ufw']['installed'] == true) { 
+		//* Configure Ubuntu Firewall
+		$conf['services']['firewall'] = true;
+		swriteln('Configuring Ubuntu Firewall');
+		$inst->configure_ufw_firewall();
+	} else {
+		//* Configure Bastille Firewall
+		$conf['services']['firewall'] = true;
+		swriteln('Configuring Bastille Firewall');
+		$inst->configure_bastille_firewall();
+	}
 
     //* Configure Fail2ban
     if($conf['fail2ban']['installed'] == true) {
@@ -331,7 +338,7 @@ if($install_mode == 'standard') {
 	if($conf['bind']['installed'] == true && $conf['bind']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['bind']['init_script']))					system($conf['init_scripts'].'/'.$conf['bind']['init_script'].' restart &> /dev/null');
 	//if($conf['squid']['installed'] == true && $conf['squid']['init_script'] != '' && is_file($conf['init_scripts'].'/'.$conf['squid']['init_script']))					system($conf['init_scripts'].'/'.$conf['squid']['init_script'].' restart &> /dev/null');
 	if($conf['nginx']['installed'] == true && $conf['nginx']['init_script'] != '' && is_file($conf['init_scripts'].'/'.$conf['nginx']['init_script']))					system($conf['init_scripts'].'/'.$conf['nginx']['init_script'].' restart &> /dev/null');
-	//if($conf['ufw']['installed'] == true && $conf['ufw']['init_script'] != '' && is_file($conf['init_scripts'].'/'.$conf['ufw']['init_script']))					system($conf['init_scripts'].'/'.$conf['ufw']['init_script'].' restart &> /dev/null');
+	if($conf['ufw']['installed'] == true && $conf['ufw']['init_script'] != '' && is_file($conf['init_scripts'].'/'.$conf['ufw']['init_script']))					system($conf['init_scripts'].'/'.$conf['ufw']['init_script'].' restart &> /dev/null');
 }else{
 	
 	//* In expert mode, we select the services in the following steps, only db is always available
@@ -547,18 +554,17 @@ if($install_mode == 'standard') {
 	
 	//** Configure Firewall
 	if(strtolower($inst->simple_query('Configure Firewall Server',array('y','n'),'y')) == 'y') {	
-		//if($conf['bastille']['installed'] == true) {
-			//* Configure Bastille Firewall
-			$conf['services']['firewall'] = true;
-			swriteln('Configuring Bastille Firewall');
-			$inst->configure_firewall();
-		/*} elseif($conf['ufw']['installed'] == true) {
+		if($conf['ufw']['installed'] == true) {
 			//* Configure Ubuntu Firewall
 			$conf['services']['firewall'] = true;
 			swriteln('Configuring Ubuntu Firewall');
 			$inst->configure_ufw_firewall();
+		} else {
+			//* Configure Bastille Firewall
+			$conf['services']['firewall'] = true;
+			swriteln('Configuring Bastille Firewall');
+			$inst->configure_bastille_firewall();
 		}
-		*/
 	}
 	
 	//** Configure Firewall
diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php
index cd7ec0eb949eb06c4236e2d9b9ee55a247e84dad..d77ab2170c0d11490b219de7cc1ab903c874a2f9 100644
--- a/install/lib/installer_base.lib.php
+++ b/install/lib/installer_base.lib.php
@@ -132,7 +132,7 @@ class installer_base {
 		if(is_installed('named') || is_installed('bind') || is_installed('bind9')) $conf['bind']['installed'] = true;
 		if(is_installed('squid')) $conf['squid']['installed'] = true;
 		if(is_installed('nginx')) $conf['nginx']['installed'] = true;
-		// if(is_installed('iptables') && is_installed('ufw')) $conf['ufw']['installed'] = true;
+		if(is_installed('iptables') && is_installed('ufw')) $conf['ufw']['installed'] = true;
 		if(is_installed('fail2ban-server')) $conf['fail2ban']['installed'] = true;
 		if(is_installed('vzctl')) $conf['openvz']['installed'] = true;
 		if(is_dir("/etc/Bastille")) $conf['bastille']['installed'] = true;
@@ -1387,7 +1387,6 @@ class installer_base {
 		exec('chown root:root '.$conf["squid"]["config_dir"].'/'.$configfile);
 	}
 
-	/*
 	public function configure_ufw_firewall()
 	{
 		$configfile = 'ufw.conf';
@@ -1397,9 +1396,8 @@ class installer_base {
 		exec('chmod 600 /etc/ufw/ufw.conf');
 		exec('chown root:root /etc/ufw/ufw.conf');
 	}
-	*/
 
-	public function configure_firewall() {
+	public function configure_bastille_firewall() {
 		global $conf;
 
 		$dist_init_scripts = $conf['init_scripts'];
diff --git a/install/sql/incremental/upd_0049.sql b/install/sql/incremental/upd_0049.sql
index 55eff842e0e4a278bb3afa02ba131738d395e867..d37d1a5b4a14a227ce5b4c6329a461d5d4f60ab8 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 7ad62b2d6b760f2bcdb9456af17021f378dbc2ab..5f4a1b66da0efe793c49afcccf41c3a3fd78c553 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 6f7a2e79ec1e79c1c64f90a540f415eea13ed486..3a7c5d58638f1166ea43118a79a9525505161d5d 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 087b499c4753b6aa69c8c92641b2a704c2db3940..906f6b137fb6e61a6aa5df4ae6e21bb546cc42b9 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 0bffe0bfaef5e2e64d77009ff32cc915a1c50bb4..eb0d1992c4fbb54fb9ddfbe00abe8097fd0317ff 100644
--- a/install/sql/ispconfig3.sql
+++ b/install/sql/ispconfig3.sql
@@ -267,7 +267,7 @@ CREATE TABLE `client_template` (
   `sys_groupid` int(11) unsigned NOT NULL default '0',
   `sys_perm_user` varchar(5) default NULL,
   `sys_perm_group` varchar(5) default NULL,
-  `sys_perm_other` varchar(5) default NULL,  
+  `sys_perm_other` varchar(5) default NULL,
   `template_name` varchar(64) NOT NULL,
   `template_type` varchar(1) NOT NULL default 'm',
   `limit_maildomain` int(11) NOT NULL default '-1',
@@ -682,6 +682,9 @@ CREATE TABLE `mail_domain` (
   `sys_perm_other` varchar(5) NOT NULL default '',
   `server_id` int(11) unsigned NOT NULL default '0',
   `domain` varchar(255) NOT NULL default '',
+  `dkim` ENUM( 'n', 'y' ) NOT NULL default 'n',
+  `dkim_private` mediumtext NOT NULL default '',
+  `dkim_public` mediumtext NOT NULL default '',
   `active` enum('n','y') NOT NULL,
   PRIMARY KEY  (`domain_id`),
   KEY `server_id` (`server_id`,`domain`),
@@ -1447,23 +1450,8 @@ CREATE TABLE IF NOT EXISTS `sys_cron` (
 -- --------------------------------------------------------
 
 --
--- Table structure for table `sys_cron`
---
-
-CREATE TABLE IF NOT EXISTS `sys_cron` (
-  `name` varchar(50) NOT NULL,
-  `last_run` datetime NULL DEFAULT NULL,
-  `next_run` datetime NULL DEFAULT NULL,
-  `running` tinyint(1) UNSIGNED NOT NULL DEFAULT '0',
-  PRIMARY KEY (`name`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-
--- --------------------------------------------------------
-
--- 
 -- Table structure for table  `sys_datalog`
--- 
+--
 
 CREATE TABLE `sys_datalog` (
   `datalog_id` int(11) unsigned NOT NULL auto_increment,
@@ -1643,7 +1631,7 @@ CREATE TABLE `sys_user` (
   `default_group` int(11) unsigned NOT NULL default '0',
   `client_id` int(11) unsigned NOT NULL default '0',
   `id_rsa` VARCHAR( 2000 ) NOT NULL default '',
-  `ssh_rsa` VARCHAR( 600 ) NOT NULL default '', 
+  `ssh_rsa` VARCHAR( 600 ) NOT NULL default '',
   PRIMARY KEY  (`userid`)
 ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
 
@@ -1680,10 +1668,11 @@ CREATE TABLE `web_backup` (
   `backup_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
   `server_id` int(10) unsigned NOT NULL,
   `parent_domain_id` int(10) unsigned NOT NULL,
-  `backup_type` enum('web','mysql') NOT NULL DEFAULT 'web',
+  `backup_type` enum('web','mongodb','mysql') NOT NULL DEFAULT 'web',
   `backup_mode` varchar(64) NOT NULL DEFAULT  '',
   `tstamp` int(10) unsigned NOT NULL,
   `filename` varchar(255) NOT NULL,
+  `filesize` VARCHAR(10) NOT NULL,
   PRIMARY KEY (`backup_id`)
 ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
 
@@ -1735,6 +1724,7 @@ CREATE TABLE IF NOT EXISTS `web_database_user` (
   `database_user` varchar(64) DEFAULT NULL,
   `database_user_prefix` varchar(50) NOT NULL default '',
   `database_password` varchar(64) DEFAULT NULL,
+  `database_password_mongo` varchar(32) DEFAULT NULL,
   PRIMARY KEY (`database_user_id`)
 ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
 
diff --git a/install/tpl/amavisd_user_config.master b/install/tpl/amavisd_user_config.master
index c89f8758833b7dfeb5f7a3ed1ae4860431291759..f37795501dcd1559873c03e037ac94bd8b830f08 100644
--- a/install/tpl/amavisd_user_config.master
+++ b/install/tpl/amavisd_user_config.master
@@ -75,6 +75,12 @@ $LOGFILE = "/var/log/amavis.log";  # (defaults to empty, no log)
 # Set the log_level to 5 for debugging
 $log_level = 0;                # (defaults to 0)
 
+# DKIM
+
+$enable_dkim_verification = 1;
+$enable_dkim_signing = 1; # load DKIM signing code,
+@dkim_signature_options_bysender_maps = (
+{ '.' => { ttl => 21*24*3600, c => 'relaxed/simple' } } );
 
 #------------ Do not modify anything below this line -------------
 1;  # insure a defined return
diff --git a/install/tpl/opensuse_amavisd_conf.master b/install/tpl/opensuse_amavisd_conf.master
index d0d8a8777314210d030e37b22b639547a2bb2fdf..5f9f867dc3363ac81e59895732d2e9e862845742 100644
--- a/install/tpl/opensuse_amavisd_conf.master
+++ b/install/tpl/opensuse_amavisd_conf.master
@@ -778,5 +778,11 @@ $spam_admin = undef;
 $DO_SYSLOG = 1;
 $LOGFILE = "/var/log/amavis.log";  # (defaults to empty, no log)
 
+# DKIM
+
+$enable_dkim_verification = 1;
+$enable_dkim_signing = 1; # load DKIM signing code,
+@dkim_signature_options_bysender_maps = (
+{ '.' => { ttl => 21*24*3600, c => 'relaxed/simple' } } );
 
 1;  # insure a defined return
diff --git a/install/tpl/server.ini.master b/install/tpl/server.ini.master
index 74508820cb1ee5d737c7949f3e0afb83d6296afe..d27a3e2cea353e6f46af193b3501a84dc7850b93 100644
--- a/install/tpl/server.ini.master
+++ b/install/tpl/server.ini.master
@@ -5,12 +5,13 @@ dnsserver=mydns
 
 
 [server]
-auto_network_configuration=n
-ip_address=0.0.0.0
-netmask=255.255.255.0
-gateway=0.0.0.0
-hostname=server1.domain.tld
-nameservers=8.8.8.8,8.8.4.4
+auto_network_configuration=n
+ip_address=0.0.0.0
+netmask=255.255.255.0
+v6_prefix=
+gateway=0.0.0.0
+hostname=server1.domain.tld
+nameservers=8.8.8.8,8.8.4.4
 firewall=bastille
 loglevel=2
 admin_notify_events=1
@@ -45,6 +46,7 @@ overquota_notify_admin=y
 overquota_notify_client=y
 overquota_notify_freq=7
 overquota_notify_onok=n
+sendmail_path=/usr/sbin/sendmail
 
 [getmail]
 getmail_config_dir=/etc/getmail
@@ -52,12 +54,12 @@ getmail_config_dir=/etc/getmail
 [web]
 server_type=apache
 website_basedir=/var/www
-website_path=/var/www/clients/client[client_id]/web[website_id]
-website_symlinks=/var/www/[website_domain]/:/var/www/clients/client[client_id]/[website_domain]/
-website_symlinks_rel=n
-vhost_conf_dir=/etc/apache2/sites-available
-vhost_conf_enabled_dir=/etc/apache2/sites-enabled
-nginx_vhost_conf_dir=/etc/nginx/sites-available
+website_path=/var/www/clients/client[client_id]/web[website_id]
+website_symlinks=/var/www/[website_domain]/:/var/www/clients/client[client_id]/[website_domain]/
+website_symlinks_rel=n
+vhost_conf_dir=/etc/apache2/sites-available
+vhost_conf_enabled_dir=/etc/apache2/sites-enabled
+nginx_vhost_conf_dir=/etc/nginx/sites-available
 nginx_vhost_conf_enabled_dir=/etc/nginx/sites-enabled
 security_level=20
 user=www-data
@@ -91,6 +93,7 @@ add_web_users_to_sshusers_group=y
 connect_userid_to_webid=n
 connect_userid_to_webid_start=10000
 web_folder_protection=y
+php_ini_check_minutes=1
 overquota_notify_admin=y
 overquota_notify_client=y
 overquota_notify_freq=7
diff --git a/install/tpl/system.ini.master b/install/tpl/system.ini.master
index 14a75e42d2937497c3d15e0f3dac92bf53e5bb5a..abb89311cda7c023659b22e2001974e36ced87e6 100644
--- a/install/tpl/system.ini.master
+++ b/install/tpl/system.ini.master
@@ -23,6 +23,7 @@ dblist_phpmyadmin_link=y
 phpmyadmin_url=/phpmyadmin
 webftp_url=
 client_username_web_check_disabled=n
+reseller_can_use_options=n
 
 [tools]
 
diff --git a/install/update.php b/install/update.php
index 1999bc0c2db9f30c84cff63c42825eac69cb8e8b..3fd346a78b827abcc2f9ac6f4ef876344816cc3e 100644
--- a/install/update.php
+++ b/install/update.php
@@ -344,10 +344,15 @@ if($reconfigure_services_answer == 'yes') {
 
 	
 	if($conf['services']['firewall']) {
-		if($conf['bastille']['installed'] == true) {
+		if($conf['ufw']['installed'] == true) {
+			//* Configure Ubuntu Firewall
+			$conf['services']['firewall'] = true;
+			swriteln('Configuring Ubuntu Firewall');
+			$inst->configure_ufw_firewall();
+		} else {
 			//* Configure Bastille Firewall
 			swriteln('Configuring Bastille Firewall');
-			$inst->configure_firewall();
+			$inst->configure_bastille_firewall();
 		}
 	}
 	
@@ -429,7 +434,7 @@ if($reconfigure_services_answer == 'yes') {
 	}
 	
 	if($conf['services']['firewall']) {
-		//if($conf['ufw']['installed'] == true && $conf['ufw']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['ufw']['init_script']))					system($conf['init_scripts'].'/'.$conf['ufw']['init_script'].' restart &> /dev/null');
+		if($conf['ufw']['installed'] == true && $conf['ufw']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['ufw']['init_script']))					system($conf['init_scripts'].'/'.$conf['ufw']['init_script'].' restart &> /dev/null');
 	}
 }
 
diff --git a/interface/lib/classes/tform.inc.php b/interface/lib/classes/tform.inc.php
index 01ac2694af47f619290977aa04a0af5b2b657a73..b3e679c7229329586bc24cca5390786937b18450 100644
--- a/interface/lib/classes/tform.inc.php
+++ b/interface/lib/classes/tform.inc.php
@@ -7,14 +7,14 @@ All rights reserved.
 Redistribution and use in source and binary forms, with or without modification,
 are permitted provided that the following conditions are met:
 
-    * Redistributions of source code must retain the above copyright notice,
-      this list of conditions and the following disclaimer.
-    * Redistributions in binary form must reproduce the above copyright notice,
-      this list of conditions and the following disclaimer in the documentation
-      and/or other materials provided with the distribution.
-    * Neither the name of ISPConfig nor the names of its contributors
-      may be used to endorse or promote products derived from this software without
-      specific prior written permission.
+	* Redistributions of source code must retain the above copyright notice,
+	  this list of conditions and the following disclaimer.
+	* Redistributions in binary form must reproduce the above copyright notice,
+	  this list of conditions and the following disclaimer in the documentation
+	  and/or other materials provided with the distribution.
+	* Neither the name of ISPConfig nor the names of its contributors
+	  may be used to endorse or promote products derived from this software without
+	  specific prior written permission.
 
 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
diff --git a/interface/lib/classes/tools_monitor.inc.php b/interface/lib/classes/tools_monitor.inc.php
index e2612dd7480b419f2a1974535cee991e072a27de..cb389c8d445fa0cc00b3219893392b8fb56beb12 100644
--- a/interface/lib/classes/tools_monitor.inc.php
+++ b/interface/lib/classes/tools_monitor.inc.php
@@ -491,6 +491,40 @@ class tools_monitor {
         return $html;
     }
 
+    function showMongoDB() {
+        global $app;
+
+        /* fetch the Data from the DB */
+        $record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'log_mongodb' and server_id = " . $_SESSION['monitor']['server_id'] . " order by created desc");
+
+        if(isset($record['data'])) {
+            $html =
+                    '<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 1683c6e1125011f0f0cae93e10aa6acfe5f062f6..747c0c0d3e5853ef9b328019503d1d2132f5f569 100644
--- a/interface/lib/lang/cz.lng
+++ b/interface/lib/lang/cz.lng
@@ -71,7 +71,7 @@ $wb['datepicker_prevText'] = 'Předchozí';
 $wb['logout_txt'] = 'Odhlášení';
 $wb['conf_format_dateshort_human_readable'] = 'yyyy-mm-dd';
 $wb['submit_confirmation'] = 'Opravdu chcete provést tuto akci ?';
-$wb['top_menu_mailuser'] = 'E-mail. uživ.';
+$wb['top_menu_mailuser'] = 'E-mailový uživatel';
 $wb['globalsearch_resultslimit_of_txt'] = 'z';
 $wb['globalsearch_resultslimit_results_txt'] = 'výsledky';
 $wb['globalsearch_noresults_text_txt'] = 'Žádné výsledky.';
diff --git a/interface/lib/lang/de.lng b/interface/lib/lang/de.lng
index a5281767a8b6ab9519b496f39978a3dc1d97498b..8a1a971d15edec0bfec16bce1a33ebec579e5f52 100644
--- a/interface/lib/lang/de.lng
+++ b/interface/lib/lang/de.lng
@@ -133,5 +133,7 @@ $wb['datalog_status_d_web_folder_user'] = 'Verzeichnisschutz Benutzer löschen';
 $wb['login_as_txt'] = 'Anmelden als';
 $wb['no_domain_perm'] = 'Sie haben keine Berechtigung für diese Domain.';
 $wb['no_destination_perm'] = 'Sie haben keine Berechtigung für dieses Ziel.';
+$wb['client_you_are_locked'] = 'Sie haben keine Berechtigung, Einstellungen zu verändern.';
+$wb['gender_m_txt'] = 'Herr';
+$wb['gender_f_txt'] = 'Frau';
 ?>
-
diff --git a/interface/lib/shelluser_blacklist b/interface/lib/shelluser_blacklist
index c49d825517c765d210f0ad090c29b3ced7b7c2b6..4913b64272f61c7b5fbb6e086062397cf296c153 100644
--- a/interface/lib/shelluser_blacklist
+++ b/interface/lib/shelluser_blacklist
@@ -31,4 +31,5 @@ vmail
 getmail
 ispconfig
 courier
-dovecot
\ No newline at end of file
+dovecot
+mongodb
diff --git a/interface/web/admin/form/server_config.tform.php b/interface/web/admin/form/server_config.tform.php
index 298894ad805fb96a52d34dea035d7781bf4cf3f9..05764fc29b8b982fa92855d844b5c5433cd66a22 100644
--- a/interface/web/admin/form/server_config.tform.php
+++ b/interface/web/admin/form/server_config.tform.php
@@ -83,22 +83,20 @@ $form["tabs"]['server'] = array(
 					'errmsg' => 'netmask_error_wrong'),
 			),
 			'value' => '',
-			'width' => '15',
-			'maxlength' => '255'
-		),
-		/*
-		'v6_prefix' => array(
-			'datatype' => 'VARCHAR',
-			'formtype' => 'TEXT',
-                        'validators' => array(0 => array('type' => 'ISV6PREFIX',
-                                        'errmsg' => 'v6_prefix_wrong'),
-                        ),
-		'default' => ''
-		),
-		*/
-		'gateway' => array(
-			'datatype' => 'VARCHAR',
-			'formtype' => 'TEXT',
+			'width' => '15',
+			'maxlength' => '255'
+		),
+		'v6_prefix' => array(
+			'datatype' => 'VARCHAR',
+			'formtype' => 'TEXT',
+						'validators' => array(0 => array('type' => 'ISV6PREFIX',
+										'errmsg' => 'v6_prefix_wrong'),
+						),
+		'default' => ''
+		),
+		'gateway' => array(
+			'datatype' => 'VARCHAR',
+			'formtype' => 'TEXT',
 			'default' => '192.168.0.1',
 			'validators' => array(0 => array('type' => 'ISIPV4',
 					'errmsg' => 'gateway_error_wrong'),
@@ -119,13 +117,13 @@ $form["tabs"]['server'] = array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => 'server1.domain.tld',
-            'filters'   => array( 0 => array( 'event' => 'SAVE',
-                                              'type' => 'IDNTOASCII'),
-                                  1 => array( 'event' => 'SHOW',
-                                              'type' => 'IDNTOUTF8'),
-                                  2 => array( 'event' => 'SAVE',
-                                              'type' => 'TOLOWER')
-                                ),
+			'filters'   => array( 0 => array( 'event' => 'SAVE',
+											  'type' => 'IDNTOASCII'),
+								  1 => array( 'event' => 'SHOW',
+											  'type' => 'IDNTOUTF8'),
+								  2 => array( 'event' => 'SAVE',
+											  'type' => 'TOLOWER')
+								),
 			'validators' => array(0 => array('type' => 'NOTEMPTY',
 					'errmsg' => 'hostname_error_empty'),
 			),
@@ -184,9 +182,9 @@ $form["tabs"]['server'] = array(
 			'formtype' => 'TEXT',
 			'default' => '',
 			'validators'	=> array ( 0 => array (	'type'	=> 'REGEX',
-                                                                'regex' => '/^[0-9a-zA-Z\:\/\-\.\[\]]{0,255}$/',
-                                                                'errmsg'=> 'monit_url_error_regex'),
-                                                ),
+																'regex' => '/^[0-9a-zA-Z\:\/\-\.\[\]]{0,255}$/',
+																'errmsg'=> 'monit_url_error_regex'),
+												),
 			'value' => '',
 			'width' => '40',
 			'maxlength' => '255'
@@ -212,9 +210,9 @@ $form["tabs"]['server'] = array(
 			'formtype' => 'TEXT',
 			'default' => '',
 			'validators'	=> array ( 0 => array (	'type'	=> 'REGEX',
-                                                                'regex' => '/^[0-9a-zA-Z\:\/\-\.\[\]]{0,255}$/',
-                                                                'errmsg'=> 'munin_url_error_regex'),
-                                                ),
+																'regex' => '/^[0-9a-zA-Z\:\/\-\.\[\]]{0,255}$/',
+																'errmsg'=> 'munin_url_error_regex'),
+												),
 			'value' => '',
 			'width' => '40',
 			'maxlength' => '255'
@@ -421,8 +419,8 @@ $form["tabs"]['mail'] = array(
 			'formtype' => 'TEXT',
 			'default' => '7',
 			'value' => '',
-            'width' => '20',
-            'maxlength' => '255'
+			'width' => '20',
+			'maxlength' => '255'
 		),
 		'overquota_notify_onok' => array(
 			'datatype' => 'VARCHAR',
@@ -519,20 +517,20 @@ $form["tabs"]['web'] = array(
 			'formtype' => 'TEXT',
 			'default' => '',
 			'value' => '',
-			'width' => '40',
-			'maxlength' => '255'
-		),
-/*
-'vhost_rewrite_v6' => array (
-'datatype' => 'VARCHAR',
-'formtype' => 'CHECKBOX',
-'default' => 'n',
-'value' => array(0 => 'n',1 => 'y')
-),
-*/
-		'vhost_conf_dir' => array(
-			'datatype' => 'VARCHAR',
-			'formtype' => 'TEXT',
+			'width' => '40',
+			'maxlength' => '255'
+		),
+/*
+'vhost_rewrite_v6' => array (
+'datatype' => 'VARCHAR',
+'formtype' => 'CHECKBOX',
+'default' => 'n',
+'value' => array(0 => 'n',1 => 'y')
+),
+*/
+		'vhost_conf_dir' => array(
+			'datatype' => 'VARCHAR',
+			'formtype' => 'TEXT',
 			'default' => '',
 			'validators' => array(0 => array('type' => 'NOTEMPTY',
 					'errmsg' => 'vhost_conf_dir_error_empty'),
@@ -661,8 +659,8 @@ $form["tabs"]['web'] = array(
 			'formtype' => 'TEXT',
 			'default' => '7',
 			'value' => '',
-            'width' => '20',
-            'maxlength' => '255'
+			'width' => '20',
+			'maxlength' => '255'
 		),
 		'overquota_notify_onok' => array(
 			'datatype' => 'VARCHAR',
@@ -819,6 +817,17 @@ $form["tabs"]['web'] = array(
 			'width' => '40',
 			'maxlength' => '4000'
 		),
+		'php_ini_check_minutes' => array(
+			'datatype' => 'INTEGER',
+			'formtype' => 'TEXT',
+			'default' => '1',
+			'validators' => array(0 => array('type' => 'NOTEMPTY',
+					'errmsg' => 'php_ini_check_minutes_error_empty'),
+			),
+			'value' => '',
+			'width' => '10',
+			'maxlength' => '255'
+		),
 		'nginx_cgi_socket' => array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
@@ -1297,6 +1306,12 @@ $form["tabs"]['rescue'] = array(
 			'default' => 'n',
 			'value' => array(0 => 'n', 1 => 'y')
 		),
+		'do_not_try_rescue_mongodb' => array(
+			'datatype' => 'VARCHAR',
+			'formtype' => 'CHECKBOX',
+			'default' => 'n',
+			'value' => array(0 => 'n', 1 => 'y')
+		),
 		'do_not_try_rescue_mysql' => array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'CHECKBOX',
diff --git a/interface/web/admin/form/system_config.tform.php b/interface/web/admin/form/system_config.tform.php
index d04923bd3a87f26b3e44740f10f2fef88360cd4d..f09d4db2e1bf8f749c6972aacaae58416fa62c1b 100644
--- a/interface/web/admin/form/system_config.tform.php
+++ b/interface/web/admin/form/system_config.tform.php
@@ -160,6 +160,12 @@ $form["tabs"]['sites'] = array (
 			'default'	=> 'n',
 			'value'		=> array(0 => 'n',1 => 'y')
 		),
+		'reseller_can_use_options' => array (
+			'datatype'	=> 'VARCHAR',
+			'formtype'	=> 'CHECKBOX',
+			'default'	=> 'n',
+			'value'		=> array(0 => 'n',1 => 'y')
+		),
 	##################################
 	# ENDE Datatable fields
 	##################################
@@ -174,12 +180,30 @@ $form["tabs"]['mail'] = array (
 	##################################
 	# Begin Datatable fields
 	##################################
-    'enable_custom_login' => array(
-      'datatype' => 'VARCHAR',
-      'formtype' => 'CHECKBOX',
-      'default' => 'n',
-      'value' => array(0 => 'n', 1 => 'y')
-    ),
+		'enable_custom_login' => array(
+			'datatype' => 'VARCHAR',
+			'formtype' => 'CHECKBOX',
+			'default' => 'n',
+			'value' => array(0 => 'n', 1 => 'y')
+		),
+		'mailbox_show_autoresponder_tab' => array (
+			'datatype' => 'VARCHAR',
+			'formtype' => 'CHECKBOX',
+			'default'  => 'y',
+			'value'    => array(0 => 'n',1 => 'y')
+		),
+		'mailbox_show_mail_filter_tab' => array (
+			'datatype' => 'VARCHAR',
+			'formtype' => 'CHECKBOX',
+			'default'  => 'y',
+			'value'    => array(0 => 'n',1 => 'y')
+		),
+		'mailbox_show_custom_rules_tab' => array (
+			'datatype' => 'VARCHAR',
+			'formtype' => 'CHECKBOX',
+			'default'  => 'y',
+			'value'    => array(0 => 'n',1 => 'y')
+		),
 		'mailboxlist_webmail_link' => array (
 			'datatype'	=> 'VARCHAR',
 			'formtype'	=> 'CHECKBOX',
diff --git a/interface/web/admin/lib/lang/ar_remote_action.lng b/interface/web/admin/lib/lang/ar_remote_action.lng
index f26852708408df3bfb8307dbd3620e142f92f75e..3fc3eaf81f5d63a057aa0eecf965bfbdaf6af701 100644
--- a/interface/web/admin/lib/lang/ar_remote_action.lng
+++ b/interface/web/admin/lib/lang/ar_remote_action.lng
@@ -8,5 +8,5 @@ $wb['do_ispcupdate_desc'] = 'This action does a ISPConfig3 update at your select
 $wb['action_scheduled'] = 'The action is scheduled for execution';
 $wb['select_all_server'] = 'All server';
 $wb['ispconfig_update_title'] = 'ISPConfig update instructions';
-$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<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 e9aa121314c701e7eea88036e52d8d085d322eb5..48f35054fc43c2408dd6037e5ebd6fd35a03634e 100644
--- a/interface/web/admin/lib/lang/bg_remote_action.lng
+++ b/interface/web/admin/lib/lang/bg_remote_action.lng
@@ -8,5 +8,5 @@ $wb['do_ispcupdate_desc'] = 'Това действие прави ISPConfig 3 о
 $wb['action_scheduled'] = 'Това действие е насрочено за изпълнение';
 $wb['select_all_server'] = 'Целия сървър';
 $wb['ispconfig_update_title'] = 'ISPConfig ъпдейт инструкции';
-$wb['ispconfig_update_text'] = 'Логнете се като root потребител през шелла на вашият сървър използвайте командата<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 d6578c9d6a439ea571019430d535d9388d29607f..420f2cc56c223921c8a958b4fd0b31a6d3c30c9c 100644
--- a/interface/web/admin/lib/lang/br_remote_action.lng
+++ b/interface/web/admin/lib/lang/br_remote_action.lng
@@ -8,5 +8,5 @@ $wb['do_ispcupdate_desc'] = 'Esta ação fará uma atualização do ISPConfig3 n
 $wb['action_scheduled'] = 'Esta ação está agendada para execução';
 $wb['select_all_server'] = 'Todos os servidores';
 $wb['ispconfig_update_title'] = 'ISPConfig update instructions';
-$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<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 152c829df6db06204c9ff938ec66aa2570729cca..0a7af751310476b12278bfaa7efabdd5ef5edb6e 100644
--- a/interface/web/admin/lib/lang/de.lng
+++ b/interface/web/admin/lib/lang/de.lng
@@ -48,4 +48,3 @@ $wb['Remote Actions'] = 'Wartung';
 $wb['Do OS-Update'] = 'Betriebssystem Update';
 $wb['Do ISPConfig-Update'] = 'ISPConfig Update';
 ?>
-
diff --git a/interface/web/admin/lib/lang/de_directive_snippets.lng b/interface/web/admin/lib/lang/de_directive_snippets.lng
index 9c93c4c8bb7ecb6913a82ca6e357d080e56b3e10..7a9b7563be9aa8bf4c70c5bfa72d01f857b82304 100644
--- a/interface/web/admin/lib/lang/de_directive_snippets.lng
+++ b/interface/web/admin/lib/lang/de_directive_snippets.lng
@@ -5,6 +5,5 @@ $wb['type_txt'] = 'Typ';
 $wb['snippet_txt'] = 'Schnipsel';
 $wb['active_txt'] = 'Aktiv';
 $wb['directive_snippets_name_empty'] = 'Bitte geben Sie einen Namen für den Schnipsel an.';
-$wb['directive_snippets_name_error_unique'] = 'Es existiert schon ein Direktiven Schnipsel mit diesem Namen.';
+$wb['directive_snippets_name_error_unique'] = 'Es existiert schon ein Direktiven-Schnipsel mit diesem Namen.';
 ?>
-
diff --git a/interface/web/admin/lib/lang/de_directive_snippets_list.lng b/interface/web/admin/lib/lang/de_directive_snippets_list.lng
index d3109a19fa676b05e842e12cd4ce9e405f973808..a19d5e8da49033c984604fb8b4875d5d8313a045 100644
--- a/interface/web/admin/lib/lang/de_directive_snippets_list.lng
+++ b/interface/web/admin/lib/lang/de_directive_snippets_list.lng
@@ -5,4 +5,3 @@ $wb['name_txt'] = 'Name des Schnipsels';
 $wb['type_txt'] = 'Typ';
 $wb['add_new_record_txt'] = 'Direktiven Schnipsel hinzufügen';
 ?>
-
diff --git a/interface/web/admin/lib/lang/de_firewall.lng b/interface/web/admin/lib/lang/de_firewall.lng
index a475290e1cebbde15ededb184da5ced671ec4e67..92b73270f51142f9078eafdeaaf12f00c8f995c1 100644
--- a/interface/web/admin/lib/lang/de_firewall.lng
+++ b/interface/web/admin/lib/lang/de_firewall.lng
@@ -9,4 +9,3 @@ $wb['firewall_error_unique'] = 'Es gibt bereits einen Firewalldatensatz für die
 $wb['tcp_ports_error_regex'] = 'Zeichen nicht erlaubt in TCP Port Definition. Erlaubte Zeichen sind Nummern, : und ,.';
 $wb['udp_ports_error_regex'] = 'Zeichen nicht erlaubt in UDP Port Definition. Erlaubte Zeichen sind Nummern, : und ,.';
 ?>
-
diff --git a/interface/web/admin/lib/lang/de_firewall_list.lng b/interface/web/admin/lib/lang/de_firewall_list.lng
index 77172d054c08410393e04e3b6f4e47edd7f7fa33..aefad619ba3d876f33be29d81ee8560732477270 100644
--- a/interface/web/admin/lib/lang/de_firewall_list.lng
+++ b/interface/web/admin/lib/lang/de_firewall_list.lng
@@ -6,4 +6,3 @@ $wb['tcp_port_txt'] = 'Offene TCP Ports';
 $wb['udp_port_txt'] = 'Offene UDP Ports';
 $wb['add_new_record_txt'] = 'Firewalleintrag hinzufügen';
 ?>
-
diff --git a/interface/web/admin/lib/lang/de_groups.lng b/interface/web/admin/lib/lang/de_groups.lng
index b29c0996f4cf5aba08b91fa526f1f991ec639d9f..80abd65f76b04eabc0f945e8c017314ba979f341 100644
--- a/interface/web/admin/lib/lang/de_groups.lng
+++ b/interface/web/admin/lib/lang/de_groups.lng
@@ -3,4 +3,3 @@ $wb['description_txt'] = 'Beschreibung';
 $wb['name_txt'] = 'Gruppe';
 $wb['name_err'] = 'Der Gruppenname muss min. 1, max. 30 Zeichen lang sein.';
 ?>
-
diff --git a/interface/web/admin/lib/lang/de_groups_list.lng b/interface/web/admin/lib/lang/de_groups_list.lng
index 23492f19f1a3a217a847babc37c01fdc85760de4..244743177184de087808fba36d5f5bfc7c5f8080 100644
--- a/interface/web/admin/lib/lang/de_groups_list.lng
+++ b/interface/web/admin/lib/lang/de_groups_list.lng
@@ -5,4 +5,3 @@ $wb['name_txt'] = 'Gruppe';
 $wb['add_new_record_txt'] = 'Neue Gruppe hinzufügen';
 $wb['warning_txt'] = '<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 9d0a395665c63282238fd61cbb7b3682bced5fbd..78adf1f09d4b895b139c35e1ce16e92ab695c937 100644
--- a/interface/web/admin/lib/lang/de_iptables.lng
+++ b/interface/web/admin/lib/lang/de_iptables.lng
@@ -11,4 +11,3 @@ $wb['source_ip_txt'] = 'Ausgangs Adresse';
 $wb['active_txt'] = 'Aktiv';
 $wb['iptables_error_unique'] = 'Es besteht bereits eine Firewall Regel für diesen Server.';
 ?>
-
diff --git a/interface/web/admin/lib/lang/de_iptables_list.lng b/interface/web/admin/lib/lang/de_iptables_list.lng
index 467368fdee01a1ee365929c6a9149aa69719aeea..378db7955500f7eff499f40f9dac95d10a864b76 100644
--- a/interface/web/admin/lib/lang/de_iptables_list.lng
+++ b/interface/web/admin/lib/lang/de_iptables_list.lng
@@ -13,4 +13,3 @@ $wb['source_ip_txt'] = 'Ausgangs Adresse';
 $wb['active_txt'] = 'Aktiv';
 $wb['iptables_error_unique'] = 'Es besteht bereits eine Firewall Regel für diesen Server.';
 ?>
-
diff --git a/interface/web/admin/lib/lang/de_language_add.lng b/interface/web/admin/lib/lang/de_language_add.lng
index 7d7234a4b12d49f5f85457bdead5117d6e706440..2973bf17381570691f4900aeb4116e563276e483 100644
--- a/interface/web/admin/lib/lang/de_language_add.lng
+++ b/interface/web/admin/lib/lang/de_language_add.lng
@@ -6,4 +6,3 @@ $wb['language_new_hint_txt'] = '2 Buchstaben ISO 639-1 Sprachcode (siehe http://
 $wb['btn_save_txt'] = 'Neues Sprachdateiset erstellen';
 $wb['btn_cancel_txt'] = 'Abbrechen';
 ?>
-
diff --git a/interface/web/admin/lib/lang/de_language_complete.lng b/interface/web/admin/lib/lang/de_language_complete.lng
index 015bd172eec1a5136e048a3cfb1a85af69351d18..7e32e8ae05cae896bd9f6fb090259b9c76883afc 100644
--- a/interface/web/admin/lib/lang/de_language_complete.lng
+++ b/interface/web/admin/lib/lang/de_language_complete.lng
@@ -5,4 +5,3 @@ $wb['language_select_txt'] = 'Sprache auswählen';
 $wb['btn_save_txt'] = 'Dateien jetzt zusammenführen';
 $wb['btn_cancel_txt'] = 'Abbrechen';
 ?>
-
diff --git a/interface/web/admin/lib/lang/de_language_edit.lng b/interface/web/admin/lib/lang/de_language_edit.lng
index 139b67939007966a8cf134c6f876d89d3bd60c27..2a54886a2ae80277a2fc1ccded632436047e4781 100644
--- a/interface/web/admin/lib/lang/de_language_edit.lng
+++ b/interface/web/admin/lib/lang/de_language_edit.lng
@@ -6,4 +6,3 @@ $wb['lang_file_txt'] = 'Sprachdatei';
 $wb['btn_save_txt'] = 'Speichern';
 $wb['btn_cancel_txt'] = 'Abbrechen';
 ?>
-
diff --git a/interface/web/admin/lib/lang/de_language_export.lng b/interface/web/admin/lib/lang/de_language_export.lng
index 2674634ba1e826254c29df3b76a37c524261710d..c8b4a86e399b1550004da6f90e10927c656bfcad 100644
--- a/interface/web/admin/lib/lang/de_language_export.lng
+++ b/interface/web/admin/lib/lang/de_language_export.lng
@@ -4,4 +4,3 @@ $wb['language_select_txt'] = 'Sprache auswählen';
 $wb['btn_save_txt'] = 'Ausgewähltes Sprachdateiset exportieren';
 $wb['btn_cancel_txt'] = 'Abbrechen';
 ?>
-
diff --git a/interface/web/admin/lib/lang/de_language_import.lng b/interface/web/admin/lib/lang/de_language_import.lng
index bd79ce671017dc4623a5475baaed776aa340edec..2c3eff543cc2b53cbf5e5bdbf7f62c40d8b7d6be 100644
--- a/interface/web/admin/lib/lang/de_language_import.lng
+++ b/interface/web/admin/lib/lang/de_language_import.lng
@@ -5,5 +5,5 @@ $wb['btn_save_txt'] = 'Ausgewählte Sprache importieren';
 $wb['language_overwrite_txt'] = 'Datei überschreiben, falls diese schon existiert.';
 $wb['btn_cancel_txt'] = 'Abbrechen';
 $wb['ignore_version_txt'] = 'ISPConfig Versionsüberprüfung überspringen';
+$wb['list_desc_txt'] = 'WARNING: Do not import language files from untrustworthy sources.';
 ?>
-
diff --git a/interface/web/admin/lib/lang/de_language_list.lng b/interface/web/admin/lib/lang/de_language_list.lng
index 6d4a7ae77df2fc419b4db913414f4e03b13490a5..bf75420cfcd2414145d9be72f1ae25e0dde67a8e 100644
--- a/interface/web/admin/lib/lang/de_language_list.lng
+++ b/interface/web/admin/lib/lang/de_language_list.lng
@@ -5,4 +5,3 @@ $wb['module_txt'] = 'Modul';
 $wb['lang_file_txt'] = 'Sprachdatei';
 $wb['lang_file_date_txt'] = 'Letzte Änderung';
 ?>
-
diff --git a/interface/web/admin/lib/lang/de_login_as.lng b/interface/web/admin/lib/lang/de_login_as.lng
index 2388e2e3bf768199b6cc09043d5985e21b388850..1edec36c325e464a1d5c1944db9e781e4ef3101d 100644
--- a/interface/web/admin/lib/lang/de_login_as.lng
+++ b/interface/web/admin/lib/lang/de_login_as.lng
@@ -9,4 +9,3 @@ $wb['firewall_error_unique'] = 'Es gibt bereits einen Firewalleintrag für diese
 $wb['tcp_ports_error_regex'] = 'Es sind nur Zahlen in der TCP Port Definition erlaubt. ';
 $wb['udp_ports_error_regex'] = 'Es sind nur Zahlen in der UDP Port Definition erlaubt., ';
 ?>
-
diff --git a/interface/web/admin/lib/lang/de_package_install.lng b/interface/web/admin/lib/lang/de_package_install.lng
index f54fbfefb196e064c8f644b4799dda5d1153e496..bbacc85d419638c7a2df4ad25906d055226c3bb3 100644
--- a/interface/web/admin/lib/lang/de_package_install.lng
+++ b/interface/web/admin/lib/lang/de_package_install.lng
@@ -5,4 +5,3 @@ $wb['repo_username_txt'] = 'Benutzername (optional)';
 $wb['repo_password_txt'] = 'Passwort (optional)';
 $wb['active_txt'] = 'Aktiv';
 ?>
-
diff --git a/interface/web/admin/lib/lang/de_remote_action.lng b/interface/web/admin/lib/lang/de_remote_action.lng
index 3fdfbb811b18f0c9829ea9893e49efe6e2cd4755..786f03e0ad2c08353348499b054113c1a44ed923 100644
--- a/interface/web/admin/lib/lang/de_remote_action.lng
+++ b/interface/web/admin/lib/lang/de_remote_action.lng
@@ -10,4 +10,3 @@ $wb['select_all_server'] = 'Alle Server';
 $wb['ispconfig_update_title'] = 'ISPConfig 3 Update Anweisungen';
 $wb['ispconfig_update_text'] = 'Melden Sie sich auf Ihrem Server als root an und führen Sie folgendes Kommando auf der Shell aus<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 9f2bdf5eaaa8cc6f6782115c3956dc23b9c8a636..1458d22ee5683b77e78c42ba2e8c00bad651af4c 100644
--- a/interface/web/admin/lib/lang/de_remote_user.lng
+++ b/interface/web/admin/lib/lang/de_remote_user.lng
@@ -45,4 +45,3 @@ $wb['repeat_password_txt'] = 'Passwort wiederholen';
 $wb['password_mismatch_txt'] = 'Die Passwörter stimmen nicht überein.';
 $wb['password_match_txt'] = 'Die Passwörter stimmen überein.';
 ?>
-
diff --git a/interface/web/admin/lib/lang/de_remote_user_list.lng b/interface/web/admin/lib/lang/de_remote_user_list.lng
index a0485a9077469cbcae64ad11d561b130d680a86e..4a3c6fe1d5778feca50935bad6c02c804a7616ba 100644
--- a/interface/web/admin/lib/lang/de_remote_user_list.lng
+++ b/interface/web/admin/lib/lang/de_remote_user_list.lng
@@ -5,4 +5,3 @@ $wb['add_new_record_txt'] = 'Neuen Benutzer hinzufügen';
 $wb['parent_remote_userid_txt'] = 'Benutzer ID';
 $wb['username_txt'] = 'Benutzername';
 ?>
-
diff --git a/interface/web/admin/lib/lang/de_server.lng b/interface/web/admin/lib/lang/de_server.lng
index 12d2ba7527dc8553272332862b58b67a27311d5b..50f809048859ba68451d7f2593a3475100127f7f 100644
--- a/interface/web/admin/lib/lang/de_server.lng
+++ b/interface/web/admin/lib/lang/de_server.lng
@@ -13,4 +13,3 @@ $wb['- None -'] = '- Nichts ausgewählt -';
 $wb['proxy_server_txt'] = 'Proxy Server';
 $wb['firewall_server_txt'] = 'Firewall Server';
 ?>
-
diff --git a/interface/web/admin/lib/lang/de_server_config.lng b/interface/web/admin/lib/lang/de_server_config.lng
index 327f4e243bf4ea6ade683eb26c91b22b81130769..14ba6fe67a0d8af1e91b67e116f9c70eda4452eb 100644
--- a/interface/web/admin/lib/lang/de_server_config.lng
+++ b/interface/web/admin/lib/lang/de_server_config.lng
@@ -148,6 +148,7 @@ $wb['php_fpm_socket_dir_error_empty'] = 'PHP-FPM Socket Verzeichnis ist leer.';
 $wb['fastcgi_config_syntax_txt'] = 'FastCGI Konfigurations Syntax';
 $wb['try_rescue_txt'] = 'Aktiviere Service Monitoring und Neustart bei Unerreichbarkeit';
 $wb['do_not_try_rescue_httpd_txt'] = 'Deaktiviere HTTPD Monitoring';
+$wb['do_not_try_rescue_mongodb_txt'] = 'Deaktiviere MongoDB Monitoring';
 $wb['do_not_try_rescue_mysql_txt'] = 'Deaktiviere MySQL Monitoring';
 $wb['do_not_try_rescue_mail_txt'] = 'Deaktiviere E-Mail Monitoring';
 $wb['rescue_description_txt'] = '<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_password_txt'] = 'Munin Passwort';
 $wb['munin_url_error_regex'] = 'Ungültige Munin URL';
 $wb['munin_url_note_txt'] = 'Platzhalter:';
 ?>
-
diff --git a/interface/web/admin/lib/lang/de_server_config_list.lng b/interface/web/admin/lib/lang/de_server_config_list.lng
index 9ff7f9b640f54d8a0314158873ce08df5e3c6a77..191b2c8d32f65ec714a135fef04f123f0e4b9c3a 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 26aff5daad963229b1c0a4a7ed0b9552af65e83d..5757b165cbf47391c513ed10567d3a58208bcfa6 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 9b36a5adf2370eb29264ede32553f54c124b61a5..37f237c9e2232ba2cb96447e524bc03730b6d31c 100644
--- a/interface/web/admin/lib/lang/de_server_ip_list.lng
+++ b/interface/web/admin/lib/lang/de_server_ip_list.lng
@@ -8,4 +8,3 @@ $wb['virtualhost_txt'] = 'HTTP vHost';
 $wb['virtualhost_port_txt'] = 'HTTP Ports';
 $wb['ip_type_txt'] = 'Typ';
 ?>
-
diff --git a/interface/web/admin/lib/lang/de_server_list.lng b/interface/web/admin/lib/lang/de_server_list.lng
index 193dbc9edef7c73ea7668747ddaed99471fffff4..e38a5db4133c2c2fa86f892cfe36f2a73ebb7738 100644
--- a/interface/web/admin/lib/lang/de_server_list.lng
+++ b/interface/web/admin/lib/lang/de_server_list.lng
@@ -11,4 +11,3 @@ $wb['add_new_record_txt'] = 'Neuen Server hinzufügen';
 $wb['proxy_server_txt'] = 'Proxyserver';
 $wb['firewall_server_txt'] = 'Firewallserver';
 ?>
-
diff --git a/interface/web/admin/lib/lang/de_server_php.lng b/interface/web/admin/lib/lang/de_server_php.lng
index 30f527a56bedc6a62cd4725c19d42900167e7d23..9b26ea3c6d4feb878dc80518474e488524352ba6 100644
--- a/interface/web/admin/lib/lang/de_server_php.lng
+++ b/interface/web/admin/lib/lang/de_server_php.lng
@@ -14,4 +14,3 @@ $wb['php_fpm_init_script_txt'] = 'Pfad zum PHP-FPM Init Script';
 $wb['php_fpm_ini_dir_txt'] = 'Pfad zum php.ini Verzeichnis';
 $wb['php_fpm_pool_dir_txt'] = 'Pfad zum PHP-FPM Pool Verzeichnis';
 ?>
-
diff --git a/interface/web/admin/lib/lang/de_server_php_list.lng b/interface/web/admin/lib/lang/de_server_php_list.lng
index 712beda2e72ddae194059c263de91640c58505e7..d775fc6c00b535376441399a9c4d6f3b016b3e43 100644
--- a/interface/web/admin/lib/lang/de_server_php_list.lng
+++ b/interface/web/admin/lib/lang/de_server_php_list.lng
@@ -5,4 +5,3 @@ $wb['add_new_record_txt'] = 'Neue PHP Version hinzufügen';
 $wb['client_id_txt'] = 'Kunde';
 $wb['name_txt'] = 'PHP Name';
 ?>
-
diff --git a/interface/web/admin/lib/lang/de_software_package.lng b/interface/web/admin/lib/lang/de_software_package.lng
index 7f1504572b4c2639dd21a0b4d84c342e325b0e71..13b3d996c30489a23bf3c02ab9f2935463bf8e5a 100644
--- a/interface/web/admin/lib/lang/de_software_package.lng
+++ b/interface/web/admin/lib/lang/de_software_package.lng
@@ -4,4 +4,3 @@ $wb['package_key_txt'] = 'Softwarepaket Schlüssel';
 $wb['Software Package'] = 'Softwarepaket';
 $wb['Modify software package details'] = 'Softwarepaket Einstellungen bearbeiten';
 ?>
-
diff --git a/interface/web/admin/lib/lang/de_software_package_install.lng b/interface/web/admin/lib/lang/de_software_package_install.lng
index 842846df744e551d6c52d74e5fa2b04a7659ae3a..f8ef069cae0978bd5788b630fdccb2fec5963df5 100644
--- a/interface/web/admin/lib/lang/de_software_package_install.lng
+++ b/interface/web/admin/lib/lang/de_software_package_install.lng
@@ -4,4 +4,3 @@ $wb['install_key_txt'] = 'Installationsschlüssel eingeben';
 $wb['btn_save_txt'] = 'Installation starten';
 $wb['btn_cancel_txt'] = 'Abbrechen';
 ?>
-
diff --git a/interface/web/admin/lib/lang/de_software_package_list.lng b/interface/web/admin/lib/lang/de_software_package_list.lng
index 3d0555365f5377a891d9e78c1183e30e6d326caa..b68e7d93888fc5f9bbb3f4544ecd6bf9da53bbf9 100644
--- a/interface/web/admin/lib/lang/de_software_package_list.lng
+++ b/interface/web/admin/lib/lang/de_software_package_list.lng
@@ -11,4 +11,3 @@ $wb['no_packages_txt'] = 'Keine Softwarepakete verfügbar';
 $wb['edit_txt'] = 'Bearbeiten';
 $wb['delete_txt'] = 'Löschen';
 ?>
-
diff --git a/interface/web/admin/lib/lang/de_software_repo.lng b/interface/web/admin/lib/lang/de_software_repo.lng
index 50e501903832ba6dcaf7ec6095f213a3c542ba8b..ec672430be0ed328b6627000c3a6d6a8c4392bc3 100644
--- a/interface/web/admin/lib/lang/de_software_repo.lng
+++ b/interface/web/admin/lib/lang/de_software_repo.lng
@@ -6,4 +6,3 @@ $wb['repo_password_txt'] = 'Passwort (optional)';
 $wb['active_txt'] = 'Aktiv';
 $wb['Software Repository which may contain addons or updates'] = 'Software Archiv, das Add-Ons oder Updates enthalten kann';
 ?>
-
diff --git a/interface/web/admin/lib/lang/de_software_repo_list.lng b/interface/web/admin/lib/lang/de_software_repo_list.lng
index 133ef3ab42a1db8224c7f780e2660a3154a4193c..ccde58d6717cbba32eb7bb5e744fe90dd9cec6d2 100644
--- a/interface/web/admin/lib/lang/de_software_repo_list.lng
+++ b/interface/web/admin/lib/lang/de_software_repo_list.lng
@@ -4,4 +4,3 @@ $wb['active_txt'] = 'Aktiv';
 $wb['repo_name_txt'] = 'Archiv Name';
 $wb['repo_url_txt'] = 'URL';
 ?>
-
diff --git a/interface/web/admin/lib/lang/de_software_update_list.lng b/interface/web/admin/lib/lang/de_software_update_list.lng
index e5a3ca729ae8d4f449ec7304ce7c6753780dac92..cf31e88154c60bfcdc82fb9b9f778dbbf737eb9b 100644
--- a/interface/web/admin/lib/lang/de_software_update_list.lng
+++ b/interface/web/admin/lib/lang/de_software_update_list.lng
@@ -7,4 +7,3 @@ $wb['version_txt'] = 'Version';
 $wb['action_txt'] = 'Aktion';
 $wb['no_updates_txt'] = 'Keine Updates verfügbar';
 ?>
-
diff --git a/interface/web/admin/lib/lang/de_system_config.lng b/interface/web/admin/lib/lang/de_system_config.lng
index 2490768e20894443ef297996ff01d7d629de386b..1ba5ca864f1e781b1e075daa5145f670dc06b9c6 100644
--- a/interface/web/admin/lib/lang/de_system_config.lng
+++ b/interface/web/admin/lib/lang/de_system_config.lng
@@ -50,7 +50,14 @@ $wb['mailbox_show_autoresponder_tab_txt'] = 'Zeige Autoresponder Reiter in E-Mai
 $wb['mailbox_show_mail_filter_tab_txt'] = 'Zeige E-Mail Filter Reiter in E-Mail Kontodetails';
 $wb['mailbox_show_custom_rules_tab_txt'] = 'Zeige Benutzerregel Reiter in E-Mail Kontodetails';
 $wb['webmail_url_error_regex'] = 'Falsche Webmail URL';
+$wb['reseller_can_use_options_txt'] = 'Reseller können den Optionen Reiter bei Webseiten verwenden';
 $wb['phpmyadmin_url_note_txt'] = 'Platzhalter:';
 $wb['webmail_url_note_txt'] = 'Platzhalter:';
+$wb['available_dashlets_note_txt'] = 'Verfügbare Dashlets:';
+$wb['admin_dashlets_left_txt'] = 'Admin-Dashlets links';
+$wb['admin_dashlets_right_txt'] = 'Admin-Dashlets rechts';
+$wb['reseller_dashlets_left_txt'] = 'Reseller-Dashlets links';
+$wb['reseller_dashlets_right_txt'] = 'Reseller-Dashlets rechts';
+$wb['client_dashlets_left_txt'] = 'Kunden-Dashlets links';
+$wb['client_dashlets_right_txt'] = 'Kunden-Dashlets rechts';
 ?>
-
diff --git a/interface/web/admin/lib/lang/de_tpl_default_admin.lng b/interface/web/admin/lib/lang/de_tpl_default_admin.lng
index fda3af0f0cdfde780d42b9911a58b5a4a1226081..97674003eefdcc101b96a35e1fc98dbdbc5988ac 100644
--- a/interface/web/admin/lib/lang/de_tpl_default_admin.lng
+++ b/interface/web/admin/lib/lang/de_tpl_default_admin.lng
@@ -16,4 +16,3 @@ $wb['php_fpm_init_script_txt'] = 'Pfad zum PHP-FPM Init Script';
 $wb['php_fpm_ini_dir_txt'] = 'Pfad zum php.ini Verzeichnis';
 $wb['php_fpm_pool_dir_txt'] = 'Pfad zum PHP-FPM Pool Verzeichnis';
 ?>
-
diff --git a/interface/web/admin/lib/lang/de_users.lng b/interface/web/admin/lib/lang/de_users.lng
index fd09475b6d2530c76107e60c8f5723a025e9ed9d..413a402814cca3a67bb137770d8b9877567e8c8f 100644
--- a/interface/web/admin/lib/lang/de_users.lng
+++ b/interface/web/admin/lib/lang/de_users.lng
@@ -31,4 +31,3 @@ $wb['password_mismatch_txt'] = 'Die Passwörter stimmen nicht überein.';
 $wb['password_match_txt'] = 'Die Passwörter stimmen überein.';
 $wb['username_error_collision'] = 'Der Benutzername darf nicht <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 8cb2a46a83ddeb92a11c2105b6a1c830c5b02305..c635ba72844dcf9724d5a5df06d89c6202c6b012 100644
--- a/interface/web/admin/lib/lang/de_users_list.lng
+++ b/interface/web/admin/lib/lang/de_users_list.lng
@@ -7,4 +7,3 @@ $wb['groups_txt'] = 'Gruppen';
 $wb['add_new_record_txt'] = 'Neuen Benutzer hinzufügen';
 $wb['warning_txt'] = '<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 36a6791ad7d380f4a4715d2af7a443879d8f67fb..1f1ad0db78307ae468edc3d97b50bb5412c97cbb 100644
--- a/interface/web/admin/lib/lang/en_server_config.lng
+++ b/interface/web/admin/lib/lang/en_server_config.lng
@@ -30,6 +30,8 @@ $wb["fastcgi_bin_txt"] = 'FastCGI Bin';
 $wb["module_txt"] = 'Module';
 $wb["maildir_path_txt"] = 'Maildir Path';
 $wb["homedir_path_txt"] = 'Homedir Path';
+$wb["dkim_path_txt"] = 'DKIM Path';
+$wb["dkim_path_error"] = 'DKIM Path not found or not writeable.';
 $wb["mailuser_uid_txt"] = 'Mailuser UID';
 $wb["mailuser_gid_txt"] = 'Mailuser GID';
 $wb["mailuser_name_txt"] = 'Mailuser Name';
@@ -149,6 +151,7 @@ $wb["php_fpm_socket_dir_txt"] = 'PHP-FPM socket directory';
 $wb["php_fpm_socket_dir_error_empty"] = 'PHP-FPM socket directory is empty.';
 $wb["try_rescue_txt"] = 'Enable service monitoring and restart on failure';
 $wb["do_not_try_rescue_httpd_txt"] = 'Disable HTTPD monitoring';
+$wb["do_not_try_rescue_mongodb_txt"] = 'Disable MongoDB monitoring';
 $wb["do_not_try_rescue_mysql_txt"] = 'Disable MySQL monitoring';
 $wb["do_not_try_rescue_mail_txt"] = 'Disable Email monitoring';
 $wb["rescue_description_txt"] = '<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["awstats_settings_txt"] = 'AWStats Settings';
 $wb["firewall_txt"] = 'Firewall';
 $wb["mailbox_quota_stats_txt"] = 'Mailbox quota statistics';
 $wb["enable_ip_wildcard_txt"] = 'Enable IP wildcard (*)';
-$wb["web_folder_protection_txt"] = 'Make web folders immutable (extended attributes)';
-$wb["overtraffic_notify_admin_txt"] = 'Send overtraffic notification to admin';
+$wb["web_folder_protection_txt"] = 'Make web folders immutable (extended attributes)';
+$wb["overtraffic_notify_admin_txt"] = 'Send overtraffic notification to admin';
 $wb["overtraffic_notify_client_txt"] = 'Send overtraffic notification to client';
 $wb["rbl_error_regex"] = 'Please specify valid RBL hostnames.';
 $wb["overquota_notify_admin_txt"] = 'Send quota warnings to admin';
@@ -188,4 +191,4 @@ $wb['munin_user_txt'] = 'Munin User';
 $wb['munin_password_txt'] = 'Munin Password';
 $wb['munin_url_error_regex'] = 'Invalid Munin URL';
 $wb['munin_url_note_txt'] = 'Placeholder:';
-?>
+?>
diff --git a/interface/web/admin/lib/lang/en_system_config.lng b/interface/web/admin/lib/lang/en_system_config.lng
index 1b370b469f0cddca80aaa58ea9c01918c328c86b..7c5fe6eaf7231fa8656b66a69a8a082cf4b5f13c 100644
--- a/interface/web/admin/lib/lang/en_system_config.lng
+++ b/interface/web/admin/lib/lang/en_system_config.lng
@@ -23,6 +23,9 @@ $wb["webdavuser_prefix_error_regex"] = 'Char not allowed in webdav user prefix.'
 $wb["dblist_phpmyadmin_link_txt"] = 'Link to phpmyadmin in DB list';
 $wb['enable_custom_login_txt'] = 'Allow custom login name';
 $wb["mailboxlist_webmail_link_txt"] = 'Link to webmail in Mailbox list';
+$wb['mailbox_show_autoresponder_tab_txt'] = 'Show Autoresponder tab in Mailbox detail';
+$wb['mailbox_show_mail_filter_tab_txt'] = 'Show Mail Filter tab in Mailbox detail';
+$wb['mailbox_show_custom_rules_tab_txt'] = 'Show Custom Rules tab in Mailbox detail';
 $wb["webmail_url_txt"] = 'Webmail URL';
 $wb["mailmailinglist_link_txt"] = 'Link to mailing list in Mailing list list';
 $wb["mailmailinglist_url_txt"] = 'Mailing list URL';
diff --git a/interface/web/admin/lib/lang/fi_remote_action.lng b/interface/web/admin/lib/lang/fi_remote_action.lng
index f26852708408df3bfb8307dbd3620e142f92f75e..3fc3eaf81f5d63a057aa0eecf965bfbdaf6af701 100644
--- a/interface/web/admin/lib/lang/fi_remote_action.lng
+++ b/interface/web/admin/lib/lang/fi_remote_action.lng
@@ -8,5 +8,5 @@ $wb['do_ispcupdate_desc'] = 'This action does a ISPConfig3 update at your select
 $wb['action_scheduled'] = 'The action is scheduled for execution';
 $wb['select_all_server'] = 'All server';
 $wb['ispconfig_update_title'] = 'ISPConfig update instructions';
-$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<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 3df14f355481c45e7d450fee9ae9d63b690d69ed..58fb49998a5e075bb0138e9e8165c63d3301c3df 100644
--- a/interface/web/admin/lib/lang/fr_remote_action.lng
+++ b/interface/web/admin/lib/lang/fr_remote_action.lng
@@ -8,5 +8,5 @@ $wb['do_ispcupdate_desc'] = 'Cette action met à jour ISPConfig3 sur le serveur
 $wb['action_scheduled'] = 'Laction est marquée pour exécution';
 $wb['select_all_server'] = 'Tout serveur';
 $wb['ispconfig_update_title'] = 'ISPConfig update instructions';
-$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<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 8fe6314d3cc488a380dbd2f42743cf99ad91f59e..6ef0ebe02e70b59cca765dd4537ff336f5813e22 100644
--- a/interface/web/admin/lib/lang/hu_remote_action.lng
+++ b/interface/web/admin/lib/lang/hu_remote_action.lng
@@ -8,5 +8,5 @@ $wb['do_ispcupdate_desc'] = 'This action does a ISPConfig3 update at your select
 $wb['action_scheduled'] = 'The action is scheduled for execution';
 $wb['select_all_server'] = 'Összes szerver';
 $wb['ispconfig_update_title'] = 'ISPConfig update instructions';
-$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<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 3a1b8518ecd9bd8f4c1e54304929ce7b0bd3967d..bfe758aeaf88bde6e64c75b93f4d345488a2d8c6 100644
--- a/interface/web/admin/lib/lang/id_remote_action.lng
+++ b/interface/web/admin/lib/lang/id_remote_action.lng
@@ -8,5 +8,5 @@ $wb['do_ispcupdate_desc'] = 'Tindakan ini melakukan pemutakhiran ISPConfig3 di s
 $wb['action_scheduled'] = 'Tindakan dijadwalkan untuk dijalankan';
 $wb['select_all_server'] = 'Semua server';
 $wb['ispconfig_update_title'] = 'ISPConfig update instructions';
-$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<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 f26852708408df3bfb8307dbd3620e142f92f75e..3fc3eaf81f5d63a057aa0eecf965bfbdaf6af701 100644
--- a/interface/web/admin/lib/lang/it_remote_action.lng
+++ b/interface/web/admin/lib/lang/it_remote_action.lng
@@ -8,5 +8,5 @@ $wb['do_ispcupdate_desc'] = 'This action does a ISPConfig3 update at your select
 $wb['action_scheduled'] = 'The action is scheduled for execution';
 $wb['select_all_server'] = 'All server';
 $wb['ispconfig_update_title'] = 'ISPConfig update instructions';
-$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<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 f26852708408df3bfb8307dbd3620e142f92f75e..3fc3eaf81f5d63a057aa0eecf965bfbdaf6af701 100644
--- a/interface/web/admin/lib/lang/ja_remote_action.lng
+++ b/interface/web/admin/lib/lang/ja_remote_action.lng
@@ -8,5 +8,5 @@ $wb['do_ispcupdate_desc'] = 'This action does a ISPConfig3 update at your select
 $wb['action_scheduled'] = 'The action is scheduled for execution';
 $wb['select_all_server'] = 'All server';
 $wb['ispconfig_update_title'] = 'ISPConfig update instructions';
-$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<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 c0046ff019ff98f6223bb2d7e964c8213e97cc80..ae286d9ea401105080acada056852d64ed816458 100644
--- a/interface/web/admin/lib/lang/nl_remote_action.lng
+++ b/interface/web/admin/lib/lang/nl_remote_action.lng
@@ -8,5 +8,5 @@ $wb['do_ispcupdate_desc'] = 'Deze actie voert een ISPConfig3 update uit op de so
 $wb['action_scheduled'] = 'Deze actie is ingepland om uitgevoerd te worden';
 $wb['select_all_server'] = 'Alle servers';
 $wb['ispconfig_update_title'] = 'ISPConfig update instructions';
-$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<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 b49eb07afc1a12ccedd522bd253641d0b8a2ef45..766ead2ee0eab0f23e799628f38984d5f584ee49 100644
--- a/interface/web/admin/lib/lang/nl_system_config.lng
+++ b/interface/web/admin/lib/lang/nl_system_config.lng
@@ -16,6 +16,9 @@ $wb['shelluser_prefix_error_regex'] = 'Char niet toegestaan in shell gebruiker v
 $wb['webdavuser_prefix_error_regex'] = 'Char niet toegestaan in webdav gebruiker voorvoegsel.';
 $wb['dblist_phpmyadmin_link_txt'] = 'Link naar phpmyadmin in DB lijst';
 $wb['mailboxlist_webmail_link_txt'] = 'Link naar webmail in Mailbox lijst';
+$wb['mailbox_show_autoresponder_tab_txt'] = 'Toon Autoresponder tabblad in Mailbox detail';
+$wb['mailbox_show_mail_filter_tab_txt'] = 'Toon Mail Filter tabblad in Mailbox detail';
+$wb['mailbox_show_custom_rules_tab_txt'] 'Toon Custom Rules tabblad in Mailbox detail';
 $wb['webmail_url_txt'] = 'Webmail URL';
 $wb['phpmyadmin_url_txt'] = 'PHPMyAdmin URL';
 $wb['use_domain_module_txt'] = 'Gebruik de domein-module om nieuwe domeinen toe te voegen';
diff --git a/interface/web/admin/lib/lang/pl_remote_action.lng b/interface/web/admin/lib/lang/pl_remote_action.lng
index 7d03089933f9af238c469d3d7b58000a8177e38e..83fbc9e282a01a83ca99b4b1d15d6395af0613ed 100644
--- a/interface/web/admin/lib/lang/pl_remote_action.lng
+++ b/interface/web/admin/lib/lang/pl_remote_action.lng
@@ -8,5 +8,5 @@ $wb['do_ispcupdate_desc'] = 'Ta akcja przeprowadzi aktualizacjÄ™ ISPConfig3 na w
 $wb['action_scheduled'] = 'Akcja zaplanowana do wykonania';
 $wb['select_all_server'] = 'Wszystkie serwery';
 $wb['ispconfig_update_title'] = 'ISPConfig update instructions';
-$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<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 f26852708408df3bfb8307dbd3620e142f92f75e..3fc3eaf81f5d63a057aa0eecf965bfbdaf6af701 100644
--- a/interface/web/admin/lib/lang/pt_remote_action.lng
+++ b/interface/web/admin/lib/lang/pt_remote_action.lng
@@ -8,5 +8,5 @@ $wb['do_ispcupdate_desc'] = 'This action does a ISPConfig3 update at your select
 $wb['action_scheduled'] = 'The action is scheduled for execution';
 $wb['select_all_server'] = 'All server';
 $wb['ispconfig_update_title'] = 'ISPConfig update instructions';
-$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<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 f26852708408df3bfb8307dbd3620e142f92f75e..3fc3eaf81f5d63a057aa0eecf965bfbdaf6af701 100644
--- a/interface/web/admin/lib/lang/ro_remote_action.lng
+++ b/interface/web/admin/lib/lang/ro_remote_action.lng
@@ -8,5 +8,5 @@ $wb['do_ispcupdate_desc'] = 'This action does a ISPConfig3 update at your select
 $wb['action_scheduled'] = 'The action is scheduled for execution';
 $wb['select_all_server'] = 'All server';
 $wb['ispconfig_update_title'] = 'ISPConfig update instructions';
-$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<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 f26852708408df3bfb8307dbd3620e142f92f75e..3fc3eaf81f5d63a057aa0eecf965bfbdaf6af701 100644
--- a/interface/web/admin/lib/lang/ru_remote_action.lng
+++ b/interface/web/admin/lib/lang/ru_remote_action.lng
@@ -8,5 +8,5 @@ $wb['do_ispcupdate_desc'] = 'This action does a ISPConfig3 update at your select
 $wb['action_scheduled'] = 'The action is scheduled for execution';
 $wb['select_all_server'] = 'All server';
 $wb['ispconfig_update_title'] = 'ISPConfig update instructions';
-$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<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 f26852708408df3bfb8307dbd3620e142f92f75e..3fc3eaf81f5d63a057aa0eecf965bfbdaf6af701 100644
--- a/interface/web/admin/lib/lang/se_remote_action.lng
+++ b/interface/web/admin/lib/lang/se_remote_action.lng
@@ -8,5 +8,5 @@ $wb['do_ispcupdate_desc'] = 'This action does a ISPConfig3 update at your select
 $wb['action_scheduled'] = 'The action is scheduled for execution';
 $wb['select_all_server'] = 'All server';
 $wb['ispconfig_update_title'] = 'ISPConfig update instructions';
-$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<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 f26852708408df3bfb8307dbd3620e142f92f75e..3fc3eaf81f5d63a057aa0eecf965bfbdaf6af701 100644
--- a/interface/web/admin/lib/lang/sk_remote_action.lng
+++ b/interface/web/admin/lib/lang/sk_remote_action.lng
@@ -8,5 +8,5 @@ $wb['do_ispcupdate_desc'] = 'This action does a ISPConfig3 update at your select
 $wb['action_scheduled'] = 'The action is scheduled for execution';
 $wb['select_all_server'] = 'All server';
 $wb['ispconfig_update_title'] = 'ISPConfig update instructions';
-$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<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 f26852708408df3bfb8307dbd3620e142f92f75e..3fc3eaf81f5d63a057aa0eecf965bfbdaf6af701 100644
--- a/interface/web/admin/lib/lang/tr_remote_action.lng
+++ b/interface/web/admin/lib/lang/tr_remote_action.lng
@@ -8,5 +8,5 @@ $wb['do_ispcupdate_desc'] = 'This action does a ISPConfig3 update at your select
 $wb['action_scheduled'] = 'The action is scheduled for execution';
 $wb['select_all_server'] = 'All server';
 $wb['ispconfig_update_title'] = 'ISPConfig update instructions';
-$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<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 752bc22da27e8d819f3fdc52da31c3f58b5c8d2a..6ab03eb9bd630caf06ab6a41a5c8d788cd314afa 100644
--- a/interface/web/admin/templates/server_config_mail_edit.htm
+++ b/interface/web/admin/templates/server_config_mail_edit.htm
@@ -19,6 +19,10 @@
                 <label for="homedir_path">{tmpl_var name='homedir_path_txt'}</label>
                 <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">
@@ -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 778225b3e65087eee44762497db29bd265c9baf8..28b5cb4bd5fdc3e2b963a3fee978ee6dfd402076 100644
--- a/interface/web/admin/templates/server_config_rescue_edit.htm
+++ b/interface/web/admin/templates/server_config_rescue_edit.htm
@@ -17,6 +17,12 @@
                     {tmpl_var name='do_not_try_rescue_httpd'}
                 </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">
@@ -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 93158d734b7a813e4347f205f9e9de96ac0b766a..6dab52f3ab8feb2719d34e809f60aff8239dff8e 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 7e75f5053267b5d786fd0c153666093840859b4e..6656634b16265ac5f148fe22a5a03bc4514f748c 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 3c8cf2b0bb3b344f69219e560e3e2bf2765f77ac..e9c0c0e5b08b54cd5d7d1b77b4c25792f5674b9c 100644
--- a/interface/web/admin/templates/system_config_mail_edit.htm
+++ b/interface/web/admin/templates/system_config_mail_edit.htm
@@ -11,6 +11,24 @@
                     {tmpl_var name='enable_custom_login'}
                 </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">
@@ -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 78c51b0041ea269023f43a9ef1997dd4c484f3cd..65f37b7820d9f731c56921f3a18b9b78a1774c98 100644
--- a/interface/web/admin/templates/system_config_sites_edit.htm
+++ b/interface/web/admin/templates/system_config_sites_edit.htm
@@ -45,12 +45,18 @@
                     {tmpl_var name='vhost_subdomains'}&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>
             
         <input type="hidden" name="id" value="{tmpl_var name='id'}">
@@ -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 9e28df258e9e618833ffb0e65492b5f03df650e1..fea2cee39fa320969a5cbaa51584ece42240ecd6 100644
--- a/interface/web/client/lib/lang/de.lng
+++ b/interface/web/client/lib/lang/de.lng
@@ -23,4 +23,3 @@ $wb['error_domain_in webuse'] = 'Diese Domain kann nicht gelöscht werden, weil
 $wb['error_client_can_not_add_domain'] = 'Sie können keine neue Domain anlegen';
 $wb['error_client_group_id_empty'] = 'Sie müssen ein Benutzerdefiniertes auswählen<br>';
 ?>
-
diff --git a/interface/web/client/lib/lang/de_client.lng b/interface/web/client/lib/lang/de_client.lng
index 985be6d38b2e07ba9dc56100a62b8cbb2cd50f89..0bb652449303dfd937edb3358d47f5d84147bbb3 100644
--- a/interface/web/client/lib/lang/de_client.lng
+++ b/interface/web/client/lib/lang/de_client.lng
@@ -144,5 +144,9 @@ $wb['aps_limits_txt'] = 'APS Installationsassistent Beschränkungen';
 $wb['limit_aps_txt'] = 'Max. Anzahl an APS Instanzen';
 $wb['limit_aps_error_notint'] = 'Die APS Instanzen Beschränkung muss eine Zahl sein.';
 $wb['default_slave_dnsserver_txt'] = 'Standard Secondary DNS Server';
+$wb['locked_txt'] = 'Gesperrt (deaktiviert alle Webs, etc.)';
+$wb['canceled_txt'] = 'Gek&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 c13e9a25bdd3f7c032e2ad3e6c8aa3551c329bde..b6aee4638dcce54bcc9267b0728c90476a11f580 100644
--- a/interface/web/client/lib/lang/de_client_circle.lng
+++ b/interface/web/client/lib/lang/de_client_circle.lng
@@ -7,4 +7,3 @@ $wb['client_ids_txt'] = 'Kunden/Reseller';
 $wb['description_txt'] = 'Beschreibung';
 $wb['active_txt'] = 'Aktiv';
 ?>
-
diff --git a/interface/web/client/lib/lang/de_client_circle_list.lng b/interface/web/client/lib/lang/de_client_circle_list.lng
index 2e7e25e14df55e4fb6a05d1ecb50825e3629e923..f69b755ddc2e560c7edbdd5951c959672b9f5d16 100644
--- a/interface/web/client/lib/lang/de_client_circle_list.lng
+++ b/interface/web/client/lib/lang/de_client_circle_list.lng
@@ -8,4 +8,3 @@ $wb['filter_txt'] = 'Filter';
 $wb['delete_txt'] = 'Löschen';
 $wb['active_txt'] = 'Aktiv';
 ?>
-
diff --git a/interface/web/client/lib/lang/de_client_del.lng b/interface/web/client/lib/lang/de_client_del.lng
index 54a96218674cb3deaf5260801ce1d990fdd335ab..d13fcfa8fc99e9c5d1ab8b01b025bed44208deec 100644
--- a/interface/web/client/lib/lang/de_client_del.lng
+++ b/interface/web/client/lib/lang/de_client_del.lng
@@ -5,4 +5,3 @@ $wb['btn_save_txt'] = 'Kunden löschen';
 $wb['btn_cancel_txt'] = 'Abbrechen, ohne den Kunden zu löschen';
 $wb['confirm_client_delete_txt'] = 'Sind Sie sicher, daß Sie den Kunden löschen möchten?';
 ?>
-
diff --git a/interface/web/client/lib/lang/de_client_message.lng b/interface/web/client/lib/lang/de_client_message.lng
index 457cf6c17a5bb0e357bf9eabef61f188de5d05f4..15381366729864ffe5d05b9cd1fe650a04859a42 100644
--- a/interface/web/client/lib/lang/de_client_message.lng
+++ b/interface/web/client/lib/lang/de_client_message.lng
@@ -15,5 +15,6 @@ $wb['recipient_txt'] = 'Empfänger';
 $wb['all_clients_resellers_txt'] = 'Alle Kunden und Reseller';
 $wb['all_clients_txt'] = 'Alle Kunden';
 $wb['variables_txt'] = 'Variablen:';
+$wb['gender_m_txt'] = 'Herr';
+$wb['gender_f_txt'] = 'Frau';
 ?>
-
diff --git a/interface/web/client/lib/lang/de_client_template.lng b/interface/web/client/lib/lang/de_client_template.lng
index c67a4234ccff94ce710322e14dac334ca03d0af3..506c61e3f7ef50de3c4e20df6205d4872f9e47d2 100644
--- a/interface/web/client/lib/lang/de_client_template.lng
+++ b/interface/web/client/lib/lang/de_client_template.lng
@@ -88,4 +88,3 @@ $wb['aps_limits_txt'] = 'APS Installationsassistent Limits';
 $wb['limit_aps_txt'] = 'Max. Anzahl an APS-Instanzen';
 $wb['limit_aps_error_notint'] = 'Das APS Instanzen Limit muss eine Zahl sein.';
 ?>
-
diff --git a/interface/web/client/lib/lang/de_client_template_list.lng b/interface/web/client/lib/lang/de_client_template_list.lng
index 5e62e72eba7d0d3da04f4ab8850c1ea48f2b4326..552035fd702e2a09d76ec7fb147245d6b2324616 100644
--- a/interface/web/client/lib/lang/de_client_template_list.lng
+++ b/interface/web/client/lib/lang/de_client_template_list.lng
@@ -4,4 +4,3 @@ $wb['template_type_txt'] = 'Typ';
 $wb['template_name_txt'] = 'Vorlagenname';
 $wb['template_id_txt'] = 'Template ID';
 ?>
-
diff --git a/interface/web/client/lib/lang/de_clients_list.lng b/interface/web/client/lib/lang/de_clients_list.lng
index 65604d8d79dca82c3d0f01d23d716507df1ffedb..a6bdd6a205d66f8b9c6a4909405f9b11ad593c80 100644
--- a/interface/web/client/lib/lang/de_clients_list.lng
+++ b/interface/web/client/lib/lang/de_clients_list.lng
@@ -9,4 +9,3 @@ $wb['add_new_record_txt'] = 'Kunden hinzufügen';
 $wb['username_txt'] = 'Benutzername';
 $wb['customer_no_txt'] = 'Kundennummer';
 ?>
-
diff --git a/interface/web/client/lib/lang/de_domain.lng b/interface/web/client/lib/lang/de_domain.lng
index 339c6ffd409ded309cadcee6d30bbb7b8351c227..eb4276a3f8a9b8f4c54b6e97d5075010bd9167f4 100644
--- a/interface/web/client/lib/lang/de_domain.lng
+++ b/interface/web/client/lib/lang/de_domain.lng
@@ -4,4 +4,3 @@ $wb['domain_error_unique'] = 'Die Domain existiert bereits';
 $wb['domain_error_regex'] = 'Dieser Domain Name ist nicht gültig';
 $wb['Domain'] = 'Domain';
 ?>
-
diff --git a/interface/web/client/lib/lang/de_domain_list.lng b/interface/web/client/lib/lang/de_domain_list.lng
index 4198e9096285a8e31c520ca5a77846438a677976..b066bff5721b62e946d0ce05da4d8e54affedda1 100644
--- a/interface/web/client/lib/lang/de_domain_list.lng
+++ b/interface/web/client/lib/lang/de_domain_list.lng
@@ -4,4 +4,3 @@ $wb['add_new_record_txt'] = 'Neue Domain hinzufügen';
 $wb['domain_txt'] = 'Domain';
 $wb['user_txt'] = 'Kunde';
 ?>
-
diff --git a/interface/web/client/lib/lang/de_reseller.lng b/interface/web/client/lib/lang/de_reseller.lng
index ee35eda2f6f49af436ae1c503b4ddd637167c1ac..9bc4d53780631645d0c7917a13a8ba92bf4109aa 100644
--- a/interface/web/client/lib/lang/de_reseller.lng
+++ b/interface/web/client/lib/lang/de_reseller.lng
@@ -143,5 +143,9 @@ $wb['aps_limits_txt'] = 'APS Installationsassistent Limits';
 $wb['limit_aps_txt'] = 'Max. Anzahl an APS-Instanzen';
 $wb['limit_aps_error_notint'] = 'Das APS Instanzen Limit muss eine Zahl sein.';
 $wb['default_slave_dnsserver_txt'] = 'Standard Secondary DNS Server';
+$wb['locked_txt'] = 'Gesperrt';
+$wb['canceled_txt'] = 'Gek&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 890b484b1efdb28907ba1a92326d3d160888c946..0f688c54b56308cd8fa03cc5bd6b10346c76cc07 100644
--- a/interface/web/client/lib/lang/de_resellers_list.lng
+++ b/interface/web/client/lib/lang/de_resellers_list.lng
@@ -9,4 +9,3 @@ $wb['add_new_record_txt'] = 'Neuen Reseller hinzufügen';
 $wb['customer_no_txt'] = 'Kundennummer';
 $wb['username_txt'] = 'Benutzername';
 ?>
-
diff --git a/interface/web/dashboard/lib/lang/de.lng b/interface/web/dashboard/lib/lang/de.lng
index 896b1f14743098dd165f9309acb71b762e8bf5d2..debf75413ad1ab92565f3ba941964128a54c4bf0 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 746b38b3a87d3c021954c14f92b4f58df63763b0..fe1d57327fad1f8409c11ab8b20bfb68b6f26440 100644
--- a/interface/web/dashboard/lib/lang/de_dashlet_limits.lng
+++ b/interface/web/dashboard/lib/lang/de_dashlet_limits.lng
@@ -28,4 +28,3 @@ $wb['limit_client_txt'] = 'Anzahl der Kunden';
 $wb['limit_database_txt'] = 'Anzahl der Datenbanken';
 $wb['limit_mailmailinglist_txt'] = 'Anzahl der Mailinglisten';
 ?>
-
diff --git a/interface/web/dashboard/lib/lang/de_dashlet_mailquota.lng b/interface/web/dashboard/lib/lang/de_dashlet_mailquota.lng
index 02a3fffab421084979ff554f7a6d53fe08854f58..65984f25b55a08db1c656a3d71c85378c9a877ee 100644
--- a/interface/web/dashboard/lib/lang/de_dashlet_mailquota.lng
+++ b/interface/web/dashboard/lib/lang/de_dashlet_mailquota.lng
@@ -6,4 +6,3 @@ $wb['used_txt'] = 'Verwendet';
 $wb['quota_txt'] = 'Verfügbar';
 $wb['no_email_accounts_txt'] = 'Kein E-Mail Konto gefunden.';
 ?>
-
diff --git a/interface/web/dashboard/lib/lang/de_dashlet_modules.lng b/interface/web/dashboard/lib/lang/de_dashlet_modules.lng
index d898ac6ecf20e0021abed94df88abb11859f0ba5..3d2c6c6514980b1a4ba0039763fd7cb94fb9a974 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 daed0dba93d01ad0fb902feebdc877d93d46e5fc..c694f1ecf3b0ad590e30b56355fe5100356c92ab 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 0000000000000000000000000000000000000000..67234bd43c89f1db862f1f9c5327953606208e99
--- /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 29f4a51efebb370aeb04c5144a604ca2c04e02be..acb6c3546c6150b4edbafb782d3ed85c499210b5 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 4eb8e930962417e81e701ab28c315d3cbf708e8f..74bf458d90993f4879d2fe10e8696e1d5d8adf5e 100644
--- a/interface/web/designer/lib/lang/de_form_edit.lng
+++ b/interface/web/designer/lib/lang/de_form_edit.lng
@@ -22,4 +22,3 @@ $wb['auth_preset_perm_user_txt'] = 'Benutzerberechtigungen';
 $wb['auth_preset_perm_group_txt'] = 'Gruppenberechtigungen';
 $wb['auth_preset_perm_other_txt'] = 'andere Berechtigungen';
 ?>
-
diff --git a/interface/web/designer/lib/lang/de_form_list.lng b/interface/web/designer/lib/lang/de_form_list.lng
index 853ce10003c20c4d83f1a4522e70a622b6d30479..998a64f702453ede0420223dfbd5a47550b8025a 100644
--- a/interface/web/designer/lib/lang/de_form_list.lng
+++ b/interface/web/designer/lib/lang/de_form_list.lng
@@ -5,4 +5,3 @@ $wb['module_txt'] = 'Modul';
 $wb['title_txt'] = 'Bezeichnung';
 $wb['description_txt'] = 'Beschreibung';
 ?>
-
diff --git a/interface/web/designer/lib/lang/de_module_edit.lng b/interface/web/designer/lib/lang/de_module_edit.lng
index 09d9f390dbd40cca80998c777301a34c510a707d..6eacd64b1de87cab59ed74c470cc351f9f20e243 100644
--- a/interface/web/designer/lib/lang/de_module_edit.lng
+++ b/interface/web/designer/lib/lang/de_module_edit.lng
@@ -10,4 +10,3 @@ $wb['cancel_txt'] = 'Abbrechen';
 $wb['header_txt'] = 'Moduleigenschaften';
 $wb['description_txt'] = 'Beschreibung';
 ?>
-
diff --git a/interface/web/designer/lib/lang/de_module_list.lng b/interface/web/designer/lib/lang/de_module_list.lng
index a09b5139b5bbe41eb9d8a840579d26af86185130..60406302030a4d1572afa43eae185ba4878643b5 100644
--- a/interface/web/designer/lib/lang/de_module_list.lng
+++ b/interface/web/designer/lib/lang/de_module_list.lng
@@ -3,4 +3,3 @@ $wb['list_head_txt'] = 'Backend Module';
 $wb['module_txt'] = 'Modul';
 $wb['title_txt'] = 'Bezeichnung';
 ?>
-
diff --git a/interface/web/designer/lib/lang/de_module_nav_edit.lng b/interface/web/designer/lib/lang/de_module_nav_edit.lng
index 25e2085ccf2cead72e5eec706f8728794573f250..d5142f03cb3f38a0864004394226834bb7f396c1 100644
--- a/interface/web/designer/lib/lang/de_module_nav_edit.lng
+++ b/interface/web/designer/lib/lang/de_module_nav_edit.lng
@@ -4,4 +4,3 @@ $wb['header_txt'] = 'Navigation Eigenschaften';
 $wb['save_txt'] = 'Speichern';
 $wb['cancel_txt'] = 'Abbrechen';
 ?>
-
diff --git a/interface/web/designer/lib/lang/de_module_nav_item_edit.lng b/interface/web/designer/lib/lang/de_module_nav_item_edit.lng
index 6353a734709c6d60cd3ba2fc1197ba03af06e102..8c0c33c1a6d71681c20266f550f18a4eff17e86d 100644
--- a/interface/web/designer/lib/lang/de_module_nav_item_edit.lng
+++ b/interface/web/designer/lib/lang/de_module_nav_item_edit.lng
@@ -6,4 +6,3 @@ $wb['header_txt'] = 'Navigation Eigenschaften';
 $wb['save_txt'] = 'Speichern';
 $wb['cancel_txt'] = 'Abbrechen';
 ?>
-
diff --git a/interface/web/designer/lib/lang/de_module_show.lng b/interface/web/designer/lib/lang/de_module_show.lng
index d0c4d4b41357e82264e0aa5bf43388da147b49e2..f4b2ad11f8a610372f2c5f502abf2d1d41279150 100644
--- a/interface/web/designer/lib/lang/de_module_show.lng
+++ b/interface/web/designer/lib/lang/de_module_show.lng
@@ -14,4 +14,3 @@ $wb['module_del_txt'] = 'Wollen Sie das Modul und alle im Modul angelegten Datei
 $wb['menu_del_txt'] = 'Wollen Sie das Menü mit allen Untereinträgen löschen?';
 $wb['item_del_txt'] = 'Wollen Sie den Menüeintrag löschen?';
 ?>
-
diff --git a/interface/web/dns/dns_wizard.php b/interface/web/dns/dns_wizard.php
index ad26c431d1eb629debe7bcc413061fde72138669..8ce27ea31b896bc1a9533edb0cd9a3541da6d2d8 100644
--- a/interface/web/dns/dns_wizard.php
+++ b/interface/web/dns/dns_wizard.php
@@ -195,6 +195,14 @@ if($_POST['create'] == 1) {
 	if($_POST['ns1'] != '') $tpl_content = str_replace('{NS1}',$_POST['ns1'],$tpl_content);
 	if($_POST['ns2'] != '') $tpl_content = str_replace('{NS2}',$_POST['ns2'],$tpl_content);
 	if($_POST['email'] != '') $tpl_content = str_replace('{EMAIL}',$_POST['email'],$tpl_content);
+	if(isset($_POST['dkim']) && preg_match('/^[\w\.\-\/]{2,255}\.[a-zA-Z0-9\-]{2,30}[\.]{0,1}$/',$_POST['domain'])) {
+		$public_key=$app->db->queryOneRecord("SELECT dkim_public FROM mail_domain WHERE domain = '".$app->db->quote($_POST['domain'])."' AND dkim = 'y' AND ".$app->tform->getAuthSQL('r'));		
+		if ($public_key!='') {
+			$dns_record=str_replace(array("\r\n", "\n", "\r","-----BEGIN PUBLIC KEY-----","-----END PUBLIC KEY-----"),'',$public_key['dkim_public']);
+			$tpl_content = str_replace('{DKIM}','TXT|default._domainkey.'.$_POST['domain'].'.|v=DKIM1; t=s; p='.$dns_record,$tpl_content);
+		} 
+	}
+
 	
 	// Parse the template
 	$tpl_rows = explode("\n",$tpl_content);
@@ -295,4 +303,4 @@ $app->tpl_defaults();
 $app->tpl->pparse();
 
 
-?>
\ No newline at end of file
+?>
diff --git a/interface/web/dns/form/dns_template.tform.php b/interface/web/dns/form/dns_template.tform.php
index 1f020da04c8e14f106d9a9f22774e9666fcbb0fb..38227193589a7dd3508c7b00000d09c306d99843 100644
--- a/interface/web/dns/form/dns_template.tform.php
+++ b/interface/web/dns/form/dns_template.tform.php
@@ -74,7 +74,12 @@ $form["tabs"]['template'] = array (
 			'formtype'	=> 'CHECKBOXARRAY',
 			'default'	=> '',
 			'separator' => ',',
-			'value'		=> array('DOMAIN' => 'Domain','IP' => 'IP Address','NS1' => 'NS 1','NS2' => 'NS 2','EMAIL' => 'Email')
+			'value'		=> array('DOMAIN' => 'Domain','IP' => 'IP Address','NS1' => 'NS 1','NS2' => 'NS 2','EMAIL' => 'Email', 'DKIM' => 'DKIM (use {DKIM}|0|3600 in your Template)'),
+                        'validators'    => array (  0 => array ('type'  => 'CUSTOM',
+                                                                'class' => 'validate_dkim',
+                                                                'function' => 'check_template',
+                                                                'errmsg'=> 'dkim_domain_error'),
+                                                 ),
 		),
 		'template' => array (
 			'datatype'	=> 'TEXT',
@@ -98,4 +103,4 @@ $form["tabs"]['template'] = array (
 
 
 
-?>
\ No newline at end of file
+?>
diff --git a/interface/web/dns/lib/lang/de.lng b/interface/web/dns/lib/lang/de.lng
index 65f6646fc41683b2624a335b1b6fc84c3480f2e5..822fcd6a796f3b2a8235a001c972f1ce49c5dcc3 100644
--- a/interface/web/dns/lib/lang/de.lng
+++ b/interface/web/dns/lib/lang/de.lng
@@ -20,4 +20,3 @@ $wb['Templates'] = 'Vorlagen';
 $wb['Secondary Zones'] = 'Slave DNS-Zonen';
 $wb['Import Zone File'] = 'Zonen-Datei-Import';
 ?>
-
diff --git a/interface/web/dns/lib/lang/de_dns_a.lng b/interface/web/dns/lib/lang/de_dns_a.lng
index dd809c39252b0fac6afa7e0a904cf851e8987e50..409864981adeff4137bca5b05246537dc86709c4 100644
--- a/interface/web/dns/lib/lang/de_dns_a.lng
+++ b/interface/web/dns/lib/lang/de_dns_a.lng
@@ -14,4 +14,3 @@ $wb['data_error_empty'] = 'IPv4 Adresse ist leer';
 $wb['data_error_regex'] = 'IPv4 Adressen Format ist ungültig';
 $wb['data_error_duplicate'] = 'Doppelter A oder CNAME Eintrag';
 ?>
-
diff --git a/interface/web/dns/lib/lang/de_dns_a_list.lng b/interface/web/dns/lib/lang/de_dns_a_list.lng
index 0fc4419925276218afb91af5ef769efce7717268..6e8f19509f5499f16706905b2826b7032464f244 100644
--- a/interface/web/dns/lib/lang/de_dns_a_list.lng
+++ b/interface/web/dns/lib/lang/de_dns_a_list.lng
@@ -13,4 +13,3 @@ $wb['page_txt'] = 'Seite';
 $wb['page_of_txt'] = 'von';
 $wb['delete_confirmation'] = 'Wollen Sie den Datensatz wirklich löschen?';
 ?>
-
diff --git a/interface/web/dns/lib/lang/de_dns_aaaa.lng b/interface/web/dns/lib/lang/de_dns_aaaa.lng
index c2d0e35f51786ee661cac2e7e2b5bbe788d1d919..854d623cffc117a580049a32f7f4a4d4eb064d39 100644
--- a/interface/web/dns/lib/lang/de_dns_aaaa.lng
+++ b/interface/web/dns/lib/lang/de_dns_aaaa.lng
@@ -13,4 +13,3 @@ $wb['name_error_regex'] = 'Der Hostname hat das falsche Format.';
 $wb['data_error_empty'] = 'IPv6 Adresse ist leer';
 $wb['data_error_regex'] = 'IPv6 Adressen Format ist ungültig';
 ?>
-
diff --git a/interface/web/dns/lib/lang/de_dns_alias.lng b/interface/web/dns/lib/lang/de_dns_alias.lng
index 48da14fcfeaf6c03adbcc7b5fffc8126f2071619..e950909bb28d678b85630999127987076585dfa7 100644
--- a/interface/web/dns/lib/lang/de_dns_alias.lng
+++ b/interface/web/dns/lib/lang/de_dns_alias.lng
@@ -13,4 +13,3 @@ $wb['name_error_regex'] = 'Der Hostname hat ein falsches Format.';
 $wb['data_error_empty'] = 'Ziel Hostname ist leer';
 $wb['data_error_regex'] = 'Ziel Hostname Format ist ungültig';
 ?>
-
diff --git a/interface/web/dns/lib/lang/de_dns_cname.lng b/interface/web/dns/lib/lang/de_dns_cname.lng
index 48efdef90ad8dfbd88f65451e503dbc6c3327d3d..a07419485301901d65ae77797a9cb99ba51f9607 100644
--- a/interface/web/dns/lib/lang/de_dns_cname.lng
+++ b/interface/web/dns/lib/lang/de_dns_cname.lng
@@ -14,4 +14,3 @@ $wb['data_error_empty'] = 'Ziel Hostname ist leer';
 $wb['data_error_regex'] = 'Ziel Hostname Format ist ungültig';
 $wb['data_error_duplicate'] = 'Doppelter A oder CNAME Eintrag';
 ?>
-
diff --git a/interface/web/dns/lib/lang/de_dns_hinfo.lng b/interface/web/dns/lib/lang/de_dns_hinfo.lng
index e0393c6be5243cec10b7df978b63115d7b67d1dd..5fb182c982d2eb257406c727724c8667c3f90aba 100644
--- a/interface/web/dns/lib/lang/de_dns_hinfo.lng
+++ b/interface/web/dns/lib/lang/de_dns_hinfo.lng
@@ -13,4 +13,3 @@ $wb['name_error_regex'] = 'Der Hostname hat ein falsches Format.';
 $wb['data_error_empty'] = 'Host Information ist leer';
 $wb['data_error_regex'] = 'Host Information Format ist ungültig';
 ?>
-
diff --git a/interface/web/dns/lib/lang/de_dns_import.lng b/interface/web/dns/lib/lang/de_dns_import.lng
index e6ca3bb06c2c272c2043c71d9e84340130808432..183809de666c9fc0a8eeb5425a52d87dfdb10871 100644
--- a/interface/web/dns/lib/lang/de_dns_import.lng
+++ b/interface/web/dns/lib/lang/de_dns_import.lng
@@ -12,4 +12,3 @@ $wb['domain_field_desc_txt'] = 'Kann freigelassen werden, falls der Dateiname od
 $wb['title'] = 'Zonen Datei importieren';
 $wb['no_file_uploaded_error'] = 'Keine Datei hochgeladen';
 ?>
-
diff --git a/interface/web/dns/lib/lang/de_dns_mx.lng b/interface/web/dns/lib/lang/de_dns_mx.lng
index 63f99c680e02213a75f2c646ae5eaad86507b185..4920806ad523faaf043df0db0b398e54032574dc 100644
--- a/interface/web/dns/lib/lang/de_dns_mx.lng
+++ b/interface/web/dns/lib/lang/de_dns_mx.lng
@@ -15,4 +15,3 @@ $wb['data_error_empty'] = 'Mailserver Hostname ist leer';
 $wb['data_error_regex'] = 'Mailserver Hostname Format ist ungültig';
 $wb['duplicate_mx_record_txt'] = 'Doppelter MX-Eintrag.';
 ?>
-
diff --git a/interface/web/dns/lib/lang/de_dns_ns.lng b/interface/web/dns/lib/lang/de_dns_ns.lng
index 0f61c1693865d5976ad73af20705188dd8b189c1..01662d2f8ac88cfc94ac277814557cf633d2d157 100644
--- a/interface/web/dns/lib/lang/de_dns_ns.lng
+++ b/interface/web/dns/lib/lang/de_dns_ns.lng
@@ -13,4 +13,3 @@ $wb['name_error_regex'] = 'Die Zone hat ein falsches Format.';
 $wb['data_error_empty'] = 'Nameserver ist leer.';
 $wb['data_error_regex'] = 'Nameserver Format ist ungültig.';
 ?>
-
diff --git a/interface/web/dns/lib/lang/de_dns_ptr.lng b/interface/web/dns/lib/lang/de_dns_ptr.lng
index 5ff80e3221085a7628457d509b4b650bc13c9ea2..020c7a328607e030bbd8bd4b438787da9a601300 100644
--- a/interface/web/dns/lib/lang/de_dns_ptr.lng
+++ b/interface/web/dns/lib/lang/de_dns_ptr.lng
@@ -13,4 +13,3 @@ $wb['name_error_regex'] = 'Der Name hat das falsche Format.';
 $wb['data_error_empty'] = 'Kanonischer Hostname ist leer';
 $wb['data_error_regex'] = 'Kanonischer Hostname Format ist ungültig';
 ?>
-
diff --git a/interface/web/dns/lib/lang/de_dns_rp.lng b/interface/web/dns/lib/lang/de_dns_rp.lng
index e7cd5285006c296b0ed9827ee94c0cb438074c4b..8a398d4830137d78dca23800e754391f8230d9b5 100644
--- a/interface/web/dns/lib/lang/de_dns_rp.lng
+++ b/interface/web/dns/lib/lang/de_dns_rp.lng
@@ -13,4 +13,3 @@ $wb['name_error_regex'] = 'Der Hostname hat das falsche Format.';
 $wb['data_error_empty'] = 'Kontaktperson Feld leer';
 $wb['data_error_regex'] = 'Kontaktperson Format ungültig';
 ?>
-
diff --git a/interface/web/dns/lib/lang/de_dns_slave.lng b/interface/web/dns/lib/lang/de_dns_slave.lng
index de3411ffa2df233fa9f40e00fa514befe4e0fa14..1b58088317e764ae3b6d92a651bbf14b4819db7b 100644
--- a/interface/web/dns/lib/lang/de_dns_slave.lng
+++ b/interface/web/dns/lib/lang/de_dns_slave.lng
@@ -15,4 +15,3 @@ $wb['ns_error_regex'] = 'NS hat ein ungültiges Format.';
 $wb['eg_domain_tld'] = 'Format: domain.tld.';
 $wb['ipv4_form_txt'] = 'IPv4 Format: 1.2.3.4';
 ?>
-
diff --git a/interface/web/dns/lib/lang/de_dns_slave_list.lng b/interface/web/dns/lib/lang/de_dns_slave_list.lng
index 50b83693e7753d576ed0b8fd87ba02c7d98533f2..dc60207d98edfe8012ee69bcf05e225ea7399b76 100644
--- a/interface/web/dns/lib/lang/de_dns_slave_list.lng
+++ b/interface/web/dns/lib/lang/de_dns_slave_list.lng
@@ -7,4 +7,3 @@ $wb['ns_txt'] = 'NS';
 $wb['add_new_record_txt'] = 'Neue Slave DNS-Zone hinzufügen';
 $wb['eg_domain_tld'] = 'Format: domain.tld.';
 ?>
-
diff --git a/interface/web/dns/lib/lang/de_dns_soa.lng b/interface/web/dns/lib/lang/de_dns_soa.lng
index 41570e2f094ed49d2fe96556344a8c96a34c9947..8ff7141440fc09737d854b45632aabb15a3e5592 100644
--- a/interface/web/dns/lib/lang/de_dns_soa.lng
+++ b/interface/web/dns/lib/lang/de_dns_soa.lng
@@ -36,4 +36,3 @@ $wb['minimum_range_error'] = 'Min. Minimum ist 60 Sekunden.';
 $wb['ttl_range_error'] = 'Min. TTL ist 60 Sekunden.';
 $wb['xfer_error_regex'] = 'Bitte Beachten: Verwenden Sie eine IP Adresse.';
 ?>
-
diff --git a/interface/web/dns/lib/lang/de_dns_soa_list.lng b/interface/web/dns/lib/lang/de_dns_soa_list.lng
index a6df1ee4d2c65b7702c0357ed931ad1a4dace033..8281fbd222a8aea74975ea3cf058d63d84e27cc0 100644
--- a/interface/web/dns/lib/lang/de_dns_soa_list.lng
+++ b/interface/web/dns/lib/lang/de_dns_soa_list.lng
@@ -8,4 +8,3 @@ $wb['mbox_txt'] = 'E-Mail';
 $wb['add_new_record_txt'] = 'Neue DNS Zone (SOA) hinzufügen';
 $wb['add_new_record_wizard_txt'] = 'Neue DNS Zone per Assistent hinzufügen';
 ?>
-
diff --git a/interface/web/dns/lib/lang/de_dns_srv.lng b/interface/web/dns/lib/lang/de_dns_srv.lng
index 7dbeb8e81253357a1afd84494648b0d6b2965221..91eba844a24035f1e1c47ff56f50562478c9eca3 100644
--- a/interface/web/dns/lib/lang/de_dns_srv.lng
+++ b/interface/web/dns/lib/lang/de_dns_srv.lng
@@ -17,4 +17,3 @@ $wb['data_error_regex'] = 'Servereintrag-Format ungültig';
 $wb['srv_error_regex'] = 'Ungültiges Server Record Format. Der ServerRecord muss 3 Text Strings getrennt durch Leerzeichen beinhalten.';
 $wb['aux_txt'] = 'Priorität';
 ?>
-
diff --git a/interface/web/dns/lib/lang/de_dns_template.lng b/interface/web/dns/lib/lang/de_dns_template.lng
index 77cf996184b6ee4aa9922684e7a292a6a64203ca..33d1090cbaa7f556a9caf3f8e8225c9c6807a80c 100644
--- a/interface/web/dns/lib/lang/de_dns_template.lng
+++ b/interface/web/dns/lib/lang/de_dns_template.lng
@@ -4,4 +4,3 @@ $wb['fields_txt'] = 'Felder';
 $wb['template_txt'] = 'Vorlage';
 $wb['visible_txt'] = 'Sichtbar';
 ?>
-
diff --git a/interface/web/dns/lib/lang/de_dns_template_list.lng b/interface/web/dns/lib/lang/de_dns_template_list.lng
index 3557292fa3aa9833dc53fe29a1680331093ad710..a0f2d9a7d9e09e96d7ac86ba4b8df178bf6db183 100644
--- a/interface/web/dns/lib/lang/de_dns_template_list.lng
+++ b/interface/web/dns/lib/lang/de_dns_template_list.lng
@@ -4,4 +4,3 @@ $wb['visible_txt'] = 'Sichtbar';
 $wb['name_txt'] = 'Name';
 $wb['add_new_record_txt'] = 'Neuen Eintrag hinzufügen';
 ?>
-
diff --git a/interface/web/dns/lib/lang/de_dns_txt.lng b/interface/web/dns/lib/lang/de_dns_txt.lng
index 39a5dbfeb9e6c5f3c7b707973ce5885a942039d1..c0638679a82dab93afc30d3bfeb12571560988a6 100644
--- a/interface/web/dns/lib/lang/de_dns_txt.lng
+++ b/interface/web/dns/lib/lang/de_dns_txt.lng
@@ -13,4 +13,3 @@ $wb['name_error_regex'] = 'Der Hostname hat das falsche Format.';
 $wb['data_error_empty'] = 'Text ist leer';
 $wb['data_error_regex'] = 'Textformat ungültig';
 ?>
-
diff --git a/interface/web/dns/lib/lang/de_dns_wizard.lng b/interface/web/dns/lib/lang/de_dns_wizard.lng
index 4b009914034e81ef27db0e2d37eecf83cc4e7fd2..5a8158b16dae81ac9d344f807b36839a3c34f3b8 100644
--- a/interface/web/dns/lib/lang/de_dns_wizard.lng
+++ b/interface/web/dns/lib/lang/de_dns_wizard.lng
@@ -37,4 +37,3 @@ $wb['globalsearch_noresults_limit_txt'] = '0 Treffer';
 $wb['globalsearch_searchfield_watermark_txt'] = 'Suche';
 $wb['globalsearch_suggestions_text_txt'] = 'Vorschläge';
 ?>
-
diff --git a/interface/web/dns/lib/lang/en_dns_wizard.lng b/interface/web/dns/lib/lang/en_dns_wizard.lng
index f7057b45c7950fb645d698fb7285a0669b1185d5..860464c8a005a754d8c5d96284f5ef01b807e318 100644
--- a/interface/web/dns/lib/lang/en_dns_wizard.lng
+++ b/interface/web/dns/lib/lang/en_dns_wizard.lng
@@ -9,6 +9,7 @@ $wb["btn_save_txt"] = 'Create DNS-Record';
 $wb["btn_cancel_txt"] = 'Cancel';
 $wb['domain_txt'] = 'Domain';
 $wb['email_txt'] = 'Email';
+$wb['dkim_txt'] = 'DKIM enabled';
 $wb['ns1_txt'] = 'NS 1';
 $wb['ns2_txt'] = 'NS 2';
 $wb['ip_txt'] = 'IP Address';
diff --git a/interface/web/dns/templates/dns_a_list.htm b/interface/web/dns/templates/dns_a_list.htm
index 549f0c345a016ba06babe2f4d5ac8ea0a2cef0f6..14a5689ae06e535ecefcf4a9d2a3377a2f0bd153 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 849c5b4e15fdf8a0306bd228bcb3f9374630092c..da2c91815f4766e2adb4e233072e75ef0663cfae 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 606b4f039929b59c9e7cb22976314ee89f480192..f9deb2066c37de8cbbde3386ee82a1837630b41e 100644
--- a/interface/web/help/lib/lang/de.lng
+++ b/interface/web/help/lib/lang/de.lng
@@ -12,4 +12,3 @@ $wb['Manage Sections'] = 'Kategorien verwalten';
 $wb['Add a Question & Answer Pair'] = 'Neues Frage/Antwort Paar hinzufügen';
 $wb['Manage Questions'] = 'Fragen verwalten';
 ?>
-
diff --git a/interface/web/help/lib/lang/de_faq_form.lng b/interface/web/help/lib/lang/de_faq_form.lng
index 90c6a443790fc4901ce97b5c9fd7289640447416..35042fa128bbdccb523084d0b2c274705cb7c53c 100644
--- a/interface/web/help/lib/lang/de_faq_form.lng
+++ b/interface/web/help/lib/lang/de_faq_form.lng
@@ -4,4 +4,3 @@ $wb['faq_question_txt'] = 'Frage';
 $wb['faq_answer_txt'] = 'Antwort';
 $wb['faq_section_txt'] = 'Kategorie';
 ?>
-
diff --git a/interface/web/help/lib/lang/de_faq_manage_questions_list.lng b/interface/web/help/lib/lang/de_faq_manage_questions_list.lng
index f3be08c85c6f77d98b12d6453af9ffb435455fd2..b47a6958904f57936ef3c6f44ad5c0674199569a 100644
--- a/interface/web/help/lib/lang/de_faq_manage_questions_list.lng
+++ b/interface/web/help/lib/lang/de_faq_manage_questions_list.lng
@@ -7,4 +7,3 @@ $wb['faq_sections_txt'] = 'Kategorie';
 $wb['faq_faq_questions_txt'] = 'Frequently Asked Questions';
 $wb['faq_new_question_txt'] = 'Neues Frage/Antwort Paar hinzufügen';
 ?>
-
diff --git a/interface/web/help/lib/lang/de_faq_sections_form.lng b/interface/web/help/lib/lang/de_faq_sections_form.lng
index f9f7cd422504a349dde72f14fc271e143c47fb9b..873dab2c1953d832c805d30b8e085f1a11d66aca 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 66fd26c6b20432adada6507cf2d5952ab745b53c..3a240f403570cb96ef8caa7bc27203630f192d4c 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 5d52ec809396afe9e6bbbeb37ecb0c4e3cac1e44..190f85a312a5bdeee31e01d5db1e6dce859e5195 100644
--- a/interface/web/help/lib/lang/de_help_faq_sections_list.lng
+++ b/interface/web/help/lib/lang/de_help_faq_sections_list.lng
@@ -6,4 +6,3 @@ $wb['faq_sections_txt'] = 'Kategorie';
 $wb['faq_faq_sections_txt'] = 'FAQ Kategorie';
 $wb['faq_new_section_txt'] = 'Neue Kategorie hinzufügen';
 ?>
-
diff --git a/interface/web/help/lib/lang/de_support_message.lng b/interface/web/help/lib/lang/de_support_message.lng
index 48a66b92dae0686aa6bea071492d8f0899ad9b4d..881b2714405c161e4c553e2734ff4a6c4f24d976 100644
--- a/interface/web/help/lib/lang/de_support_message.lng
+++ b/interface/web/help/lib/lang/de_support_message.lng
@@ -13,4 +13,3 @@ $wb['answer_to_support_request_sent_txt'] = 'Ihre Antwort auf die Supportanfrage
 $wb['support_request_sent_txt'] = 'Ihre Supportanfrage ist verschickt worden. Bitte antworten Sie nicht auf diese E-Mail.';
 $wb['recipient_or_sender_email_address_not_valid_txt'] = 'Die Nachricht konnte nicht verschickt werden, da die Empfänger- und/oder die Sender E-Mail-Adresse nicht gültig ist.';
 ?>
-
diff --git a/interface/web/help/lib/lang/de_support_message_list.lng b/interface/web/help/lib/lang/de_support_message_list.lng
index f6265d21d6cf11de492c1803380f62bccbdce886..74fbeb2d7ee92e95ad2471f5514c7b07d331ccdb 100644
--- a/interface/web/help/lib/lang/de_support_message_list.lng
+++ b/interface/web/help/lib/lang/de_support_message_list.lng
@@ -5,4 +5,3 @@ $wb['subject_txt'] = 'Betreff';
 $wb['add_new_record_txt'] = 'Neue Supportnachricht erstellen';
 $wb['date_txt'] = 'Datum';
 ?>
-
diff --git a/interface/web/login/lib/lang/de.lng b/interface/web/login/lib/lang/de.lng
index 744643bcface5038f92b3ab74cb312ea733df9d8..439fa021bd2fd7c7f3adf1b03c591e92e28af92b 100644
--- a/interface/web/login/lib/lang/de.lng
+++ b/interface/web/login/lib/lang/de.lng
@@ -23,4 +23,3 @@ $wb['error_maintenance_mode'] = 'Diese ISPConfig Installation wird gerade gewart
 $wb['theme_not_compatible'] = 'Das gewählte Design ist mit dieser ISPConfig Version nicht kompatibel. Bitte prüfen Sie, ob ein Update des Themes verfügbar ist.<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 506f934e385925a45d51f35704b4b5303bcf53ca..caf48d50b363c809e0b8abcaf89666dd6f41fe29 100644
--- a/interface/web/mail/form/mail_domain.tform.php
+++ b/interface/web/mail/form/mail_domain.tform.php
@@ -98,6 +98,33 @@ $form["tabs"]['domain'] = array (
 			'maxlength'	=> '255',
 			'searchable' => 1
 		),
+                'dkim' => array (
+                        'datatype'      => 'VARCHAR',
+                        'formtype'      => 'CHECKBOX',
+                        'default'       => 'n',
+                        'value'         => array(0 => 'n',1 => 'y')
+                ),
+                'dkim_private' => array (
+                        'datatype'      => 'TEXT',
+                        'formtype'      => 'TEXTAREA',
+                        'default'       => '',
+                        'value'         => '',
+                        'cols'          => '30',
+                        'rows'          => '10',
+                        'validators'    => array (  0 => array ('type'  => 'CUSTOM',
+                                                                'class' => 'validate_dkim',
+                                                                'function' => 'check_private_key',
+                                                                'errmsg'=> 'dkim_private_key_error'),
+                                    ),
+                ),
+                'dkim_public' => array (
+                        'datatype'      => 'TEXT',
+                        'formtype'      => 'TEXTAREA',
+                        'default'       => '',
+                        'value'         => '',
+                        'cols'          => '30',
+                        'rows'          => '10'
+                ),
 		'active' => array (
 			'datatype'	=> 'VARCHAR',
 			'formtype'	=> 'CHECKBOX',
@@ -111,4 +138,4 @@ $form["tabs"]['domain'] = array (
 );
 
 
-?>
\ No newline at end of file
+?>
diff --git a/interface/web/mail/form/mail_user.tform.php b/interface/web/mail/form/mail_user.tform.php
index 5ec0cbce29f75ed7e37e751beeb93cf7bd87de63..ddccdbf060a0e8ed4c15fe3a633535c62cf2c6cc 100644
--- a/interface/web/mail/form/mail_user.tform.php
+++ b/interface/web/mail/form/mail_user.tform.php
@@ -38,6 +38,8 @@
 
 */
 global $app;
+$app->uses('getconf');
+$global_config = $app->getconf->get_global_config();
 
 $form["title"] 			= "Mailbox";
 $form["description"] 	= "";
@@ -230,115 +232,118 @@ $form["tabs"]['mailuser'] = array (
 	)
 );
 
-$form["tabs"]['autoresponder'] = array (
-	'title' 	=> "Autoresponder",
-	'width' 	=> 100,
-	'template' 	=> "templates/mail_user_autoresponder_edit.htm",
-	'fields' 	=> array (
-	##################################
-	# Begin Datatable fields
-	##################################
-		'autoresponder_subject' => array (
-			'datatype'  => 'VARCHAR',
-			'formtype'  => 'TEXT',
-			'default'   => 'Out of office reply',
-			'value'     => '',
-			'width'		=> '30',
-			'maxlength'	=> '255'
-		),
-		'autoresponder_text' => array (
-			'datatype'	=> 'TEXT',
-			'formtype'	=> 'TEXTAREA',
-			'default'	=> '',
-			'value'		=> '',
-			'cols'		=> '30',
-			'rows'		=> '15'
-		),
-		'autoresponder' => array (
-			'datatype'	=> 'VARCHAR',
-			'formtype'	=> 'CHECKBOX',
-			'default'	=> 'n',
-			'value'		=> array(1 => 'y',0 => 'n')
-		),
-		'autoresponder_start_date' => array (
-			'datatype'	=> 'DATETIME',
-			'formtype'	=> 'DATETIME',
-			'validators'=> array ( 0 => array ( 'type' => 'CUSTOM',
-				'class' => 'validate_autoresponder',
-				'function' => 'start_date',
-				'errmsg'=> 'autoresponder_start_date_is_required'),
-			)
-		),
-		'autoresponder_end_date' => array (
-			'datatype'	=> 'DATETIME',
-			'formtype'	=> 'DATETIME',
-			'validators'=> array ( 	0 => array (	'type'	=> 'CUSTOM',
-													'class' => 'validate_autoresponder',
-													'function' => 'end_date',
-													'errmsg'=> 'autoresponder_end_date_isgreater'),
-								 ),
-		),
-	##################################
-	# END Datatable fields
-	##################################
-	)
-);
+if ($global_config['mail']['mailbox_show_autoresponder_tab'] === 'y') {
+	$form["tabs"]['autoresponder'] = array (
+		'title' 	=> "Autoresponder",
+		'width' 	=> 100,
+		'template' 	=> "templates/mail_user_autoresponder_edit.htm",
+		'fields' 	=> array (
+		##################################
+		# Begin Datatable fields
+		##################################
+			'autoresponder_subject' => array (
+				'datatype'  => 'VARCHAR',
+				'formtype'  => 'TEXT',
+				'default'   => 'Out of office reply',
+				'value'     => '',
+				'width'		=> '30',
+				'maxlength'	=> '255'
+			),
+			'autoresponder_text' => array (
+				'datatype'	=> 'TEXT',
+				'formtype'	=> 'TEXTAREA',
+				'default'	=> '',
+				'value'		=> '',
+				'cols'		=> '30',
+				'rows'		=> '15'
+			),
+			'autoresponder' => array (
+				'datatype'	=> 'VARCHAR',
+				'formtype'	=> 'CHECKBOX',
+				'default'	=> 'n',
+				'value'		=> array(1 => 'y',0 => 'n')
+			),
+			'autoresponder_start_date' => array (
+				'datatype'	=> 'DATETIME',
+				'formtype'	=> 'DATETIME',
+				'validators'=> array ( 0 => array ( 'type' => 'CUSTOM',
+					'class' => 'validate_autoresponder',
+					'function' => 'start_date',
+					'errmsg'=> 'autoresponder_start_date_is_required'),
+				)
+			),
+			'autoresponder_end_date' => array (
+				'datatype'	=> 'DATETIME',
+				'formtype'	=> 'DATETIME',
+				'validators'=> array ( 	0 => array (	'type'	=> 'CUSTOM',
+					'class' => 'validate_autoresponder',
+					'function' => 'end_date',
+					'errmsg'=> 'autoresponder_end_date_isgreater'),
+				 ),
+			),
+		##################################
+		# END Datatable fields
+		##################################
+		)
+	);
+}
 
-$form["tabs"]['filter_records'] = array (
-	'title' 	=> "Mail Filter",
-	'width' 	=> 100,
-	'template' 	=> "templates/mail_user_mailfilter_edit.htm",
-	'fields' 	=> array (
-	##################################
-	# Begin Datatable fields
-	##################################
-		'move_junk' => array (
-			'datatype'	=> 'VARCHAR',
-			'formtype'	=> 'CHECKBOX',
-			'default'	=> 'n',
-			'value'		=> array(0 => 'n',1 => 'y')
+
+if ($global_config['mail']['mailbox_show_mail_filter_tab'] === 'y') {
+	$form["tabs"]['filter_records'] = array (
+		'title' 	=> "Mail Filter",
+		'width' 	=> 100,
+		'template' 	=> "templates/mail_user_mailfilter_edit.htm",
+		'fields' 	=> array (
+		##################################
+		# Begin Datatable fields
+		##################################
+			'move_junk' => array (
+				'datatype'	=> 'VARCHAR',
+				'formtype'	=> 'CHECKBOX',
+				'default'	=> 'n',
+				'value'		=> array(0 => 'n',1 => 'y')
+			),
+		##################################
+		# END Datatable fields
+		##################################
 		),
-	##################################
-	# END Datatable fields
-	##################################
-	),
-	'plugins' => array (
-     	'filter_records' => array (
-         	'class'   => 'plugin_listview',
-     		'options' => array(
-				'listdef' => 'list/mail_user_filter.list.php',
-				'sqlextwhere' => "mailuser_id = ".@$app->functions->intval(@$_REQUEST['id']),
-				'sql_order_by' => "ORDER BY rulename"
+		'plugins' => array (
+			'filter_records' => array (
+				'class'   => 'plugin_listview',
+				'options' => array(
+						'listdef' => 'list/mail_user_filter.list.php',
+						'sqlextwhere' => "mailuser_id = ".@$app->functions->intval(@$_REQUEST['id']),
+						'sql_order_by' => "ORDER BY rulename"
+					)
 			)
-        )
-	)
-);
+		)
+	);
+}
 
-if($_SESSION["s"]["user"]["typ"] == 'admin') {
-
-$form["tabs"]['mailfilter'] = array (
-	'title' 	=> "Custom Rules",
-	'width' 	=> 100,
-	'template' 	=> "templates/mail_user_custom_rules_edit.htm",
-	'fields' 	=> array (
-	##################################
-	# Begin Datatable fields
-	##################################
-		'custom_mailfilter' => array (
-			'datatype'	=> 'TEXT',
-			'formtype'	=> 'TEXTAREA',
-			'default'	=> '',
-			'value'		=> '',
-			'cols'		=> '30',
-			'rows'		=> '15'
-		),
-	##################################
-	# END Datatable fields
-	##################################
-	)
-);
 
+if ($_SESSION["s"]["user"]["typ"] == 'admin' && $global_config['mail']['mailbox_show_custom_rules_tab'] === 'y') {
+	$form["tabs"]['mailfilter'] = array (
+		'title' 	=> "Custom Rules",
+		'width' 	=> 100,
+		'template' 	=> "templates/mail_user_custom_rules_edit.htm",
+		'fields' 	=> array (
+		##################################
+		# Begin Datatable fields
+		##################################
+			'custom_mailfilter' => array (
+				'datatype'	=> 'TEXT',
+				'formtype'	=> 'TEXTAREA',
+				'default'	=> '',
+				'value'		=> '',
+				'cols'		=> '30',
+				'rows'		=> '15'
+			),
+		##################################
+		# END Datatable fields
+		##################################
+		)
+	);
 }
 
-
-?>
\ No newline at end of file
+?>
diff --git a/interface/web/mail/lib/lang/de.lng b/interface/web/mail/lib/lang/de.lng
index 12b6ba70453febb67f2dc3ec989f0fa4252f326a..91418972dd0c69f73d0d4f1aba6d1d2e218f0ced 100644
--- a/interface/web/mail/lib/lang/de.lng
+++ b/interface/web/mail/lib/lang/de.lng
@@ -46,4 +46,3 @@ $wb['Domain Alias'] = 'E-Mail Domain Alias';
 $wb['Relay Recipients'] = 'Relay Empfänger';
 $wb['Mailbox quota'] = 'E-Mail Konto Speichernutzung';
 ?>
-
diff --git a/interface/web/mail/lib/lang/de_mail_alias.lng b/interface/web/mail/lib/lang/de_mail_alias.lng
index 572c09a9c15b5e05ce99bd253e460a159a92b169..c11499effa97e5e7c634eb435b06f7104ee094b4 100644
--- a/interface/web/mail/lib/lang/de_mail_alias.lng
+++ b/interface/web/mail/lib/lang/de_mail_alias.lng
@@ -12,4 +12,3 @@ $wb['domain_txt'] = 'Domain';
 $wb['duplicate_email_alias_txt'] = 'Dieser E-Mail Alias existiert bereits.';
 $wb['source_txt'] = 'Alias';
 ?>
-
diff --git a/interface/web/mail/lib/lang/de_mail_alias_list.lng b/interface/web/mail/lib/lang/de_mail_alias_list.lng
index 7c0c1145ae31398060a3689a182e0f3a457edf4c..e741d02b3b504364b76b408bce61d8fe48418fb5 100644
--- a/interface/web/mail/lib/lang/de_mail_alias_list.lng
+++ b/interface/web/mail/lib/lang/de_mail_alias_list.lng
@@ -6,4 +6,3 @@ $wb['destination_txt'] = 'Ziel';
 $wb['email_txt'] = 'E-Mail Adresse';
 $wb['add_new_record_txt'] = 'Neuen E-Mail Alias hinzufügen';
 ?>
-
diff --git a/interface/web/mail/lib/lang/de_mail_aliasdomain.lng b/interface/web/mail/lib/lang/de_mail_aliasdomain.lng
index 38d775f4441d64180cd4986c1fa1db0ee1432649..f75bd1659c475a36ecec5f11119fa71d1380b9b4 100644
--- a/interface/web/mail/lib/lang/de_mail_aliasdomain.lng
+++ b/interface/web/mail/lib/lang/de_mail_aliasdomain.lng
@@ -9,4 +9,3 @@ $wb['source_error_empty'] = 'Quell Domain ist leer.';
 $wb['source_error_unique'] = 'Quell Domain duplizieren.';
 $wb['source_error_regex'] = 'Ungültiger Quell Domainname.';
 ?>
-
diff --git a/interface/web/mail/lib/lang/de_mail_aliasdomain_list.lng b/interface/web/mail/lib/lang/de_mail_aliasdomain_list.lng
index d7ae9aeaa11cad662f23ecd78bc5a90713de2579..c386d429bc088420bed04c4a0618ff0e32a95254 100644
--- a/interface/web/mail/lib/lang/de_mail_aliasdomain_list.lng
+++ b/interface/web/mail/lib/lang/de_mail_aliasdomain_list.lng
@@ -5,4 +5,3 @@ $wb['source_txt'] = 'Quelle';
 $wb['destination_txt'] = 'Ziel';
 $wb['add_new_record_txt'] = 'Neuen E-Mail Domain Alias hinzufügen';
 ?>
-
diff --git a/interface/web/mail/lib/lang/de_mail_blacklist.lng b/interface/web/mail/lib/lang/de_mail_blacklist.lng
index 474d1ad41aa57b5d25c9db3381e2cdcc3be8db40..4611dadd063c6eefcf51a2cada37f663975b2c05 100644
--- a/interface/web/mail/lib/lang/de_mail_blacklist.lng
+++ b/interface/web/mail/lib/lang/de_mail_blacklist.lng
@@ -7,4 +7,3 @@ $wb['source_error_notempty'] = 'Adresse ist leer.';
 $wb['type_txt'] = 'Typ';
 $wb['limit_mailfilter_txt'] = 'Die maximale Anzahl an E-Mail Filter für Ihr Konto wurde erreicht.';
 ?>
-
diff --git a/interface/web/mail/lib/lang/de_mail_blacklist_list.lng b/interface/web/mail/lib/lang/de_mail_blacklist_list.lng
index 03b1b46e790a75069ba647a91dc40ddfd1e8b9d0..b169909112a091d9488d23e3fd329d913ab9ef22 100644
--- a/interface/web/mail/lib/lang/de_mail_blacklist_list.lng
+++ b/interface/web/mail/lib/lang/de_mail_blacklist_list.lng
@@ -8,4 +8,3 @@ $wb['recipient_txt'] = 'Empfänger';
 $wb['add_new_record_txt'] = 'Neuen Blacklist Eintrag hinzufügen';
 $wb['access_txt'] = 'Zugriff';
 ?>
-
diff --git a/interface/web/mail/lib/lang/de_mail_content_filter.lng b/interface/web/mail/lib/lang/de_mail_content_filter.lng
index 48348b20af5755fa29802652d90f8952b39e3de1..9ea5422498ca02ee535e54101947445c1f4e9f5e 100644
--- a/interface/web/mail/lib/lang/de_mail_content_filter.lng
+++ b/interface/web/mail/lib/lang/de_mail_content_filter.lng
@@ -7,4 +7,3 @@ $wb['action_txt'] = 'Aktion';
 $wb['active_txt'] = 'Aktiv';
 $wb['pattern_error_empty'] = 'Zeichenkette ist leer';
 ?>
-
diff --git a/interface/web/mail/lib/lang/de_mail_content_filter_list.lng b/interface/web/mail/lib/lang/de_mail_content_filter_list.lng
index 930f1e53783f929fea47f8361ed078dc394a229f..126f23ce4e72ffce038ed3294a28edd16bc35622 100644
--- a/interface/web/mail/lib/lang/de_mail_content_filter_list.lng
+++ b/interface/web/mail/lib/lang/de_mail_content_filter_list.lng
@@ -6,4 +6,3 @@ $wb['pattern_txt'] = 'Zeichenkette';
 $wb['action_txt'] = 'Aktion';
 $wb['add_new_record_txt'] = 'Neuen Inhaltsfilter hinzufügen';
 ?>
-
diff --git a/interface/web/mail/lib/lang/de_mail_domain.lng b/interface/web/mail/lib/lang/de_mail_domain.lng
index ae0c822eb986bd257ab7a53db6329459653ddd45..3d1b1505655647a9215c09169524e29a58e4f058 100644
--- a/interface/web/mail/lib/lang/de_mail_domain.lng
+++ b/interface/web/mail/lib/lang/de_mail_domain.lng
@@ -17,4 +17,3 @@ $wb['limit_maildomain_txt'] = 'Die maximale Anzahl an E-Mail Domains für Ihr Ko
 $wb['policy_txt'] = 'Spamfilter';
 $wb['no_policy'] = '- nicht aktiviert -';
 ?>
-
diff --git a/interface/web/mail/lib/lang/de_mail_domain_admin_list.lng b/interface/web/mail/lib/lang/de_mail_domain_admin_list.lng
index 3f5bde4e6407d50a9931bf3041b31a4654a1fe4a..403bb90feea2d1b3afb3cb6736869bc39d5cd0b7 100644
--- a/interface/web/mail/lib/lang/de_mail_domain_admin_list.lng
+++ b/interface/web/mail/lib/lang/de_mail_domain_admin_list.lng
@@ -6,4 +6,3 @@ $wb['add_new_record_txt'] = 'Neue Domain hinzufügen';
 $wb['active_txt'] = 'Aktiv';
 $wb['sys_groupid_txt'] = 'Kunde';
 ?>
-
diff --git a/interface/web/mail/lib/lang/de_mail_domain_catchall.lng b/interface/web/mail/lib/lang/de_mail_domain_catchall.lng
index 6c63bf26e91ea9689a2ed1ea69d538ab2ee55324..9f37e56697126ed078d799f3c9ce4faeed8155c1 100644
--- a/interface/web/mail/lib/lang/de_mail_domain_catchall.lng
+++ b/interface/web/mail/lib/lang/de_mail_domain_catchall.lng
@@ -9,4 +9,3 @@ $wb['limit_mailcatchall_txt'] = 'Die maximale Anzahl an Catchall Einträgen für
 $wb['source_txt'] = 'Quelle';
 $wb['destination_error_isemail'] = 'Das Ziel ist keine gültige E-Mail Adresse.';
 ?>
-
diff --git a/interface/web/mail/lib/lang/de_mail_domain_catchall_list.lng b/interface/web/mail/lib/lang/de_mail_domain_catchall_list.lng
index 7ce05d321b6bcae5a5519aeb6370f24055238403..558cb5c9f9614d04bcc7a7de06cff7f57fadd794 100644
--- a/interface/web/mail/lib/lang/de_mail_domain_catchall_list.lng
+++ b/interface/web/mail/lib/lang/de_mail_domain_catchall_list.lng
@@ -7,4 +7,3 @@ $wb['server_id_txt'] = 'Server';
 $wb['domain_txt'] = 'Domain';
 $wb['add_new_record_txt'] = 'Neuen Catchall hinzufügen';
 ?>
-
diff --git a/interface/web/mail/lib/lang/de_mail_domain_list.lng b/interface/web/mail/lib/lang/de_mail_domain_list.lng
index 3a7a39314206851fb7798c9aa08fb68869232ef9..ff25a5817d728e966d06991d5225d2940c718bb8 100644
--- a/interface/web/mail/lib/lang/de_mail_domain_list.lng
+++ b/interface/web/mail/lib/lang/de_mail_domain_list.lng
@@ -5,4 +5,3 @@ $wb['domain_txt'] = 'Domain';
 $wb['add_new_record_txt'] = 'Neue Domain hinzufügen';
 $wb['active_txt'] = 'Aktiv';
 ?>
-
diff --git a/interface/web/mail/lib/lang/de_mail_forward.lng b/interface/web/mail/lib/lang/de_mail_forward.lng
index 56a82afa6cd64f84b3c979bce34fa400e857e1ae..a392ac4e33b18073de853b94f08b3f23510fc8a9 100644
--- a/interface/web/mail/lib/lang/de_mail_forward.lng
+++ b/interface/web/mail/lib/lang/de_mail_forward.lng
@@ -7,4 +7,3 @@ $wb['duplicate_mailbox_txt'] = 'Es existiert bereits ein E-Mail Konto mit dieser
 $wb['domain_txt'] = 'Domain';
 $wb['source_txt'] = 'Quell E-Mail Adresse';
 ?>
-
diff --git a/interface/web/mail/lib/lang/de_mail_forward_list.lng b/interface/web/mail/lib/lang/de_mail_forward_list.lng
index 01b295061ca63c5a4bdb64c25577efc81d2a7930..99b6ab5ea44efdd5bc736f4d6d9bb3b3275ebc4b 100644
--- a/interface/web/mail/lib/lang/de_mail_forward_list.lng
+++ b/interface/web/mail/lib/lang/de_mail_forward_list.lng
@@ -6,4 +6,3 @@ $wb['destination_txt'] = 'Ziel';
 $wb['email_txt'] = 'E-Mail';
 $wb['add_new_record_txt'] = 'Neue E-Mail Weiterleitung hinzufügen';
 ?>
-
diff --git a/interface/web/mail/lib/lang/de_mail_get.lng b/interface/web/mail/lib/lang/de_mail_get.lng
index 4100c3844b025cc8d03f1431be1af11260f2a1d9..fd4e10edfeb8d8c41d289cd639b1170c7499585c 100644
--- a/interface/web/mail/lib/lang/de_mail_get.lng
+++ b/interface/web/mail/lib/lang/de_mail_get.lng
@@ -14,6 +14,5 @@ $wb['source_password_error_isempty'] = 'Passwort ist leer.';
 $wb['destination_error_isemail'] = 'Kein Ziel gewählt.';
 $wb['source_server_error_regex'] = 'POP3/IMAP Server ist kein gültiger Domainname.';
 $wb['source_read_all_txt'] = 'Alle E-Mails abrufen (inkl. bereits gelesene E-Mails)';
-$wb['error_delete_read_all_combination'] = 'Unzulässige Kombination von Optionen. Sie können ';
+$wb['error_delete_read_all_combination'] = 'Unzulässige Kombination von Optionen. Sie können \"E-Mails nach Empfang löschen\" = nein nicht zusammen mit \"Alle E-Mails abrufen (inkl. bereits gelesene E-Mails)\" = ja benutzen.';
 ?>
-
diff --git a/interface/web/mail/lib/lang/de_mail_get_list.lng b/interface/web/mail/lib/lang/de_mail_get_list.lng
index a0ee458e8a48e92cd63f6b54d48025b6de3cace1..d1923581228edf966b5fbfc0f120617d15e6f909 100644
--- a/interface/web/mail/lib/lang/de_mail_get_list.lng
+++ b/interface/web/mail/lib/lang/de_mail_get_list.lng
@@ -7,4 +7,3 @@ $wb['source_username_txt'] = 'Benutzername';
 $wb['destination_txt'] = 'Ziel';
 $wb['add_new_record_txt'] = 'Neues Konto hinzufügen';
 ?>
-
diff --git a/interface/web/mail/lib/lang/de_mail_mailinglist.lng b/interface/web/mail/lib/lang/de_mail_mailinglist.lng
index 04320e016b3c07db37cb82096952e00882af7fd1..1d143b690c4197d8cd370d638eecc5c4103259be 100644
--- a/interface/web/mail/lib/lang/de_mail_mailinglist.lng
+++ b/interface/web/mail/lib/lang/de_mail_mailinglist.lng
@@ -20,4 +20,3 @@ $wb['listname_error_unique'] = 'Es beseht bereits eine Mailingliste mit diesem N
 $wb['email_error_isemail'] = 'Die E-Mail Adresse ist falsch.';
 $wb['mailinglist_txt'] = 'Mailingliste';
 ?>
-
diff --git a/interface/web/mail/lib/lang/de_mail_mailinglist_list.lng b/interface/web/mail/lib/lang/de_mail_mailinglist_list.lng
index c9959f0007a9b78bfc8468da70f1c1da70ea6588..3eee785f264d9e766ca1fcb2ada41de77c295aff 100644
--- a/interface/web/mail/lib/lang/de_mail_mailinglist_list.lng
+++ b/interface/web/mail/lib/lang/de_mail_mailinglist_list.lng
@@ -3,4 +3,3 @@ $wb['list_head_txt'] = 'Mailinglisten';
 $wb['domain_txt'] = 'Domain';
 $wb['listname_txt'] = 'Listenname';
 ?>
-
diff --git a/interface/web/mail/lib/lang/de_mail_relay_recipient.lng b/interface/web/mail/lib/lang/de_mail_relay_recipient.lng
index 1ab7da86d115a46e227de375a79880d0b4152fda..37a2401071f823af3e057d049c091af5cd2783ff 100644
--- a/interface/web/mail/lib/lang/de_mail_relay_recipient.lng
+++ b/interface/web/mail/lib/lang/de_mail_relay_recipient.lng
@@ -7,4 +7,3 @@ $wb['source_error_notempty'] = 'Adresse ist leer.';
 $wb['type_txt'] = 'Typ';
 $wb['limit_mailfilter_txt'] = 'Die maximale Anzahl an E-Mail Filtern für Ihr Konto wurde erreicht.';
 ?>
-
diff --git a/interface/web/mail/lib/lang/de_mail_relay_recipient_list.lng b/interface/web/mail/lib/lang/de_mail_relay_recipient_list.lng
index ec6574a590331e795b555d7c49afa27fdf4d8dc7..fc5d6f47c545a835f0f438b46064e289cf69450b 100644
--- a/interface/web/mail/lib/lang/de_mail_relay_recipient_list.lng
+++ b/interface/web/mail/lib/lang/de_mail_relay_recipient_list.lng
@@ -7,4 +7,3 @@ $wb['recipient_txt'] = 'Empfänger';
 $wb['add_new_record_txt'] = 'Neuen Relay Empfänger hinzufügen';
 $wb['access_txt'] = 'Zugriff';
 ?>
-
diff --git a/interface/web/mail/lib/lang/de_mail_spamfilter.lng b/interface/web/mail/lib/lang/de_mail_spamfilter.lng
index f8c0778674349578aa60c9c4c0147a269a971ce5..b133a4129ba560d85003c1e50c27a57b77ca450c 100644
--- a/interface/web/mail/lib/lang/de_mail_spamfilter.lng
+++ b/interface/web/mail/lib/lang/de_mail_spamfilter.lng
@@ -15,4 +15,3 @@ $wb['email_error_unique'] = 'Es existiert bereits ein Spamfilter Eintrag für di
 $wb['spam_redirect_maildir_purge_txt'] = 'Lösche E-Mail Verzeichnis nach';
 $wb['days_txt'] = 'Tagen.';
 ?>
-
diff --git a/interface/web/mail/lib/lang/de_mail_spamfilter_list.lng b/interface/web/mail/lib/lang/de_mail_spamfilter_list.lng
index 7ccd9f5ffac42f50798db30eeaa6be6b21398596..95c7d406a5589307e38541ca64df0111335b6c68 100644
--- a/interface/web/mail/lib/lang/de_mail_spamfilter_list.lng
+++ b/interface/web/mail/lib/lang/de_mail_spamfilter_list.lng
@@ -6,4 +6,3 @@ $wb['server_name_txt'] = 'Servername';
 $wb['email_txt'] = 'E-Mail';
 $wb['add_new_record_txt'] = 'Neuen Spamfilter Eintrag hinzufügen';
 ?>
-
diff --git a/interface/web/mail/lib/lang/de_mail_transport.lng b/interface/web/mail/lib/lang/de_mail_transport.lng
index 578afe8e799d78d00723518bb5cedf399f66496b..873036f947329e3df2ef874909f4dc0749954aef 100644
--- a/interface/web/mail/lib/lang/de_mail_transport.lng
+++ b/interface/web/mail/lib/lang/de_mail_transport.lng
@@ -9,4 +9,3 @@ $wb['active_txt'] = 'Aktiv';
 $wb['limit_mailrouting_txt'] = 'Die maximale Anzahl an E-Mail Routen für Ihr Konto wurde erreicht.';
 $wb['transport_txt'] = 'Transport';
 ?>
-
diff --git a/interface/web/mail/lib/lang/de_mail_transport_list.lng b/interface/web/mail/lib/lang/de_mail_transport_list.lng
index 213b3d28ae0c8de7454726ac5f7ab6c2da4ec3c1..6c9f8656c4ed90fdef951f6d1de59673a3bb189d 100644
--- a/interface/web/mail/lib/lang/de_mail_transport_list.lng
+++ b/interface/web/mail/lib/lang/de_mail_transport_list.lng
@@ -7,4 +7,3 @@ $wb['transport_txt'] = 'Transport';
 $wb['sort_order_txt'] = 'Sortiert nach';
 $wb['add_new_record_txt'] = 'Neuen Transport hinzufügen';
 ?>
-
diff --git a/interface/web/mail/lib/lang/de_mail_user.lng b/interface/web/mail/lib/lang/de_mail_user.lng
index d97af7b3b472aaa766fe2b2feb0938b010bb962e..87a55631f211570f253ef53c99a01ccfcf224f85 100644
--- a/interface/web/mail/lib/lang/de_mail_user.lng
+++ b/interface/web/mail/lib/lang/de_mail_user.lng
@@ -48,4 +48,3 @@ $wb['repeat_password_txt'] = 'Passwort wiederholen';
 $wb['password_mismatch_txt'] = 'Die Passwörter stimmen nicht überein.';
 $wb['password_match_txt'] = 'Die Passwörter stimmen überein.';
 ?>
-
diff --git a/interface/web/mail/lib/lang/de_mail_user_filter.lng b/interface/web/mail/lib/lang/de_mail_user_filter.lng
index 9a8d7dcd513426f138f5c1c7bea9fb6d7937acc5..38c324eb8d7ce175df3baf059e9a49b212922756 100644
--- a/interface/web/mail/lib/lang/de_mail_user_filter.lng
+++ b/interface/web/mail/lib/lang/de_mail_user_filter.lng
@@ -18,4 +18,3 @@ $wb['ends_with_txt'] = 'Endet mit';
 $wb['move_to_txt'] = 'Verschieben nach';
 $wb['delete_txt'] = 'Löschen';
 ?>
-
diff --git a/interface/web/mail/lib/lang/de_mail_user_filter_list.lng b/interface/web/mail/lib/lang/de_mail_user_filter_list.lng
index 695e404c826261bbcd454c87615f85691f2ad3d1..003ed0e244c8abff281cfb586495b5cb8a353711 100644
--- a/interface/web/mail/lib/lang/de_mail_user_filter_list.lng
+++ b/interface/web/mail/lib/lang/de_mail_user_filter_list.lng
@@ -5,4 +5,3 @@ $wb['page_txt'] = 'Seite';
 $wb['page_of_txt'] = 'von';
 $wb['delete_confirmation'] = 'Wollen Sie den Filter wirklich löschen?';
 ?>
-
diff --git a/interface/web/mail/lib/lang/de_mail_user_list.lng b/interface/web/mail/lib/lang/de_mail_user_list.lng
index 50580a94698534e91a66f195402ae056a7cb37c3..a56fb6da1440cc1687537202a3e92f11c09294ec 100644
--- a/interface/web/mail/lib/lang/de_mail_user_list.lng
+++ b/interface/web/mail/lib/lang/de_mail_user_list.lng
@@ -6,4 +6,3 @@ $wb['add_new_record_txt'] = 'Neues E-Mail Konto hinzufügen';
 $wb['name_txt'] = 'Realname';
 $wb['login_txt'] = 'Anmelden';
 ?>
-
diff --git a/interface/web/mail/lib/lang/de_mail_user_stats_list.lng b/interface/web/mail/lib/lang/de_mail_user_stats_list.lng
index 3291ae42708e38e774087d018ee06fcd223b1cf0..e9a1983946cc4522578ee08076ebdf40d3060afd 100644
--- a/interface/web/mail/lib/lang/de_mail_user_stats_list.lng
+++ b/interface/web/mail/lib/lang/de_mail_user_stats_list.lng
@@ -6,4 +6,3 @@ $wb['last_month_txt'] = 'Vergangenes Monat';
 $wb['this_year_txt'] = 'Aktuelles Jahr';
 $wb['last_year_txt'] = 'Vergangenes Jahr';
 ?>
-
diff --git a/interface/web/mail/lib/lang/de_mail_whitelist.lng b/interface/web/mail/lib/lang/de_mail_whitelist.lng
index d09be9a48d083d440e19e6aba2d7a4066c40e24f..1506deba3f92bcd98b26d8a699e6171e6e039fa5 100644
--- a/interface/web/mail/lib/lang/de_mail_whitelist.lng
+++ b/interface/web/mail/lib/lang/de_mail_whitelist.lng
@@ -7,4 +7,3 @@ $wb['source_error_notempty'] = 'E-Mail Adresse ist leer.';
 $wb['type_txt'] = 'Typ';
 $wb['limit_mailfilter_txt'] = 'Die maximale Anzahl an E-Mail Filtern für Ihr Konto wurde erreicht.';
 ?>
-
diff --git a/interface/web/mail/lib/lang/de_mail_whitelist_list.lng b/interface/web/mail/lib/lang/de_mail_whitelist_list.lng
index cf511a56543ab60434b218cc1ad6071dba3cc922..bcd4ccb4e10e35320fbefee5751f88c7aac9c878 100644
--- a/interface/web/mail/lib/lang/de_mail_whitelist_list.lng
+++ b/interface/web/mail/lib/lang/de_mail_whitelist_list.lng
@@ -8,4 +8,3 @@ $wb['recipient_txt'] = 'Empfänger';
 $wb['add_new_record_txt'] = 'Whitelist Eintrag hinzufügen';
 $wb['access_txt'] = 'Zugriff';
 ?>
-
diff --git a/interface/web/mail/lib/lang/de_spamfilter_blacklist.lng b/interface/web/mail/lib/lang/de_spamfilter_blacklist.lng
index 9be7f067cf23fade940c307de1bba562f44d989b..1dd4c6e3fa7b524d5d7cdb919000b0ee1099d5b0 100644
--- a/interface/web/mail/lib/lang/de_spamfilter_blacklist.lng
+++ b/interface/web/mail/lib/lang/de_spamfilter_blacklist.lng
@@ -7,4 +7,3 @@ $wb['priority_txt'] = 'Priorität';
 $wb['active_txt'] = 'Aktiv';
 $wb['limit_spamfilter_wblist_txt'] = 'Die maximale Anzahl an White- oder Blacklist Einträgen für ihr Konto wurde erreicht.';
 ?>
-
diff --git a/interface/web/mail/lib/lang/de_spamfilter_blacklist_list.lng b/interface/web/mail/lib/lang/de_spamfilter_blacklist_list.lng
index a0fe0722c70ccd879a4a0a6ab915cfe8220526e1..7ba623b657d32f07b475cf4d1170f1861a325564 100644
--- a/interface/web/mail/lib/lang/de_spamfilter_blacklist_list.lng
+++ b/interface/web/mail/lib/lang/de_spamfilter_blacklist_list.lng
@@ -7,4 +7,3 @@ $wb['rid_txt'] = 'Benutzer';
 $wb['email_txt'] = 'Blacklisted E-Mail Adressen';
 $wb['add_new_record_txt'] = 'Blacklist Eintrag hinzufügen';
 ?>
-
diff --git a/interface/web/mail/lib/lang/de_spamfilter_config.lng b/interface/web/mail/lib/lang/de_spamfilter_config.lng
index d00b2b15d0b34b79ef48c249397c9ca2c8d83b0a..2cf223259bcf07322277951765d98727183b69c7 100644
--- a/interface/web/mail/lib/lang/de_spamfilter_config.lng
+++ b/interface/web/mail/lib/lang/de_spamfilter_config.lng
@@ -18,4 +18,3 @@ $wb['relayhost_password_txt'] = 'Relayhost Passwort';
 $wb['mailbox_size_limit_txt'] = 'E-Mail Kontogrössenlimit';
 $wb['message_size_limit_txt'] = 'Nachrichtengrössenlimit';
 ?>
-
diff --git a/interface/web/mail/lib/lang/de_spamfilter_config_list.lng b/interface/web/mail/lib/lang/de_spamfilter_config_list.lng
index 579d3155de12d507a1b8d7d31af8527299fa9179..db92a4bd07e30257b74f3ccda5354bb60d98e60b 100644
--- a/interface/web/mail/lib/lang/de_spamfilter_config_list.lng
+++ b/interface/web/mail/lib/lang/de_spamfilter_config_list.lng
@@ -3,4 +3,3 @@ $wb['list_head_txt'] = 'Serverkonfiguration';
 $wb['server_name_txt'] = 'Server';
 $wb['server_id_txt'] = 'Server ID';
 ?>
-
diff --git a/interface/web/mail/lib/lang/de_spamfilter_policy.lng b/interface/web/mail/lib/lang/de_spamfilter_policy.lng
index 60f8b86acdb783d894d3704d55549fced6b96f17..32acca46860822f960c1d03ce316e047a29a3afc 100644
--- a/interface/web/mail/lib/lang/de_spamfilter_policy.lng
+++ b/interface/web/mail/lib/lang/de_spamfilter_policy.lng
@@ -36,4 +36,3 @@ $wb['spam_admin_txt'] = 'SPAM Administrator';
 $wb['message_size_limit_txt'] = 'Nachrichtengrößen Limit';
 $wb['banned_rulenames_txt'] = 'Banned Richtliniennamen';
 ?>
-
diff --git a/interface/web/mail/lib/lang/de_spamfilter_policy_list.lng b/interface/web/mail/lib/lang/de_spamfilter_policy_list.lng
index 02083ef5d1a0cb5d7c9f8a27c3f57fb075287b44..b5ec8e98c2d57e48e05b415ca69add0d8cb43f38 100644
--- a/interface/web/mail/lib/lang/de_spamfilter_policy_list.lng
+++ b/interface/web/mail/lib/lang/de_spamfilter_policy_list.lng
@@ -7,4 +7,3 @@ $wb['banned_files_lover_txt'] = 'Gesperrte Dateien Liebhaber';
 $wb['bad_header_lover_txt'] = 'Ungültige Header Liebhaber';
 $wb['add_new_record_txt'] = 'Richtlinien Eintrag hinzufügen';
 ?>
-
diff --git a/interface/web/mail/lib/lang/de_spamfilter_users.lng b/interface/web/mail/lib/lang/de_spamfilter_users.lng
index cf9f0cd2215727307966009cb77bd1059c8903d4..b7f6cd496bfbd53a234f84b5db73db3a2eb90ae8 100644
--- a/interface/web/mail/lib/lang/de_spamfilter_users.lng
+++ b/interface/web/mail/lib/lang/de_spamfilter_users.lng
@@ -8,4 +8,3 @@ $wb['local_txt'] = 'Lokal';
 $wb['email_error_notempty'] = 'Die E-Mail-Adresse darf nicht leer sein.';
 $wb['fullname_error_notempty'] = 'Der Name darf nicht leer sein.';
 ?>
-
diff --git a/interface/web/mail/lib/lang/de_spamfilter_users_list.lng b/interface/web/mail/lib/lang/de_spamfilter_users_list.lng
index 89a5983289a4c701f68d97daa15e2185dba05535..8e53193f7007c120c17d62fc8224528d29787c18 100644
--- a/interface/web/mail/lib/lang/de_spamfilter_users_list.lng
+++ b/interface/web/mail/lib/lang/de_spamfilter_users_list.lng
@@ -8,4 +8,3 @@ $wb['fullname_txt'] = 'Name';
 $wb['email_txt'] = 'E-Mail Adresse';
 $wb['add_new_record_txt'] = 'Spamfilterbenutzer hinzufügen';
 ?>
-
diff --git a/interface/web/mail/lib/lang/de_spamfilter_whitelist.lng b/interface/web/mail/lib/lang/de_spamfilter_whitelist.lng
index bb8278189d8060588910c3e66a89952ddbcc8071..d388432c66dbe039820fcbddba5dd0f1a54fe8fb 100644
--- a/interface/web/mail/lib/lang/de_spamfilter_whitelist.lng
+++ b/interface/web/mail/lib/lang/de_spamfilter_whitelist.lng
@@ -7,4 +7,3 @@ $wb['priority_txt'] = 'Priorität';
 $wb['active_txt'] = 'Aktiv';
 $wb['limit_spamfilter_wblist_txt'] = 'Die maximale Anzahl an White- oder Blacklist Einträgen für Ihr Konto wurde erreicht.';
 ?>
-
diff --git a/interface/web/mail/lib/lang/de_spamfilter_whitelist_list.lng b/interface/web/mail/lib/lang/de_spamfilter_whitelist_list.lng
index ed8a22089826dbb2b5aaf8d7b0a93640e4aec942..4d7769d2aa3eb3dc8e25e7b3c51556b5bb40012c 100644
--- a/interface/web/mail/lib/lang/de_spamfilter_whitelist_list.lng
+++ b/interface/web/mail/lib/lang/de_spamfilter_whitelist_list.lng
@@ -7,4 +7,3 @@ $wb['rid_txt'] = 'Benutzer';
 $wb['email_txt'] = 'Whitelisted E-Mail Adresse';
 $wb['add_new_record_txt'] = 'Whitelist Eintrag hinzufügen';
 ?>
-
diff --git a/interface/web/mail/lib/lang/de_user_quota_stats_list.lng b/interface/web/mail/lib/lang/de_user_quota_stats_list.lng
index 372c7b37fee38bade49a3828022c41ba28f326f2..beb9c18eb9f8ba1de9fb80437875b64b642b88d6 100755
--- a/interface/web/mail/lib/lang/de_user_quota_stats_list.lng
+++ b/interface/web/mail/lib/lang/de_user_quota_stats_list.lng
@@ -6,4 +6,3 @@ $wb['email_txt'] = 'E-Mail Adresse';
 $wb['used_txt'] = 'Verbrauchter Speicherplatz';
 $wb['percentage_txt'] = 'Verbraucht in %';
 ?>
-
diff --git a/interface/web/mail/lib/lang/en_mail_domain.lng b/interface/web/mail/lib/lang/en_mail_domain.lng
index ad93100696d4c75e62bf26f88ab0ba4c5293e088..8d33cc0a63c247076f9af1c7a0b33d8747764657 100644
--- a/interface/web/mail/lib/lang/en_mail_domain.lng
+++ b/interface/web/mail/lib/lang/en_mail_domain.lng
@@ -3,11 +3,18 @@ $wb["server_id_txt"] = 'Server';
 $wb["domain_txt"] = 'Domain';
 $wb["type_txt"] = 'Type';
 $wb["active_txt"] = 'Active';
+$wb["dkim_txt"] = 'enable DKIM';
+$wb["dkim_private_txt"] = 'DKIM Private-key';
+$wb["dkim_public_txt"] = 'DKIM Public-key\nfor information only';
+$wb["dkim_generate_txt"] = 'Generate DKIM Private-key';
+$wb["dkim_dns_txt"] = 'DNS-Record (TYPE TXT)<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 7a40aa419a81de942d425adedb1d007c40c88d2c..b373d456a0dc876594c8267b3b23dafdd7f545fe 100644
--- a/interface/web/mailuser/lib/lang/de.lng
+++ b/interface/web/mailuser/lib/lang/de.lng
@@ -7,4 +7,3 @@ $wb['Send copy'] = 'Kopie senden an';
 $wb['Spamfilter'] = 'Spamfilter';
 $wb['Email Filters'] = 'E-Mailfilter';
 ?>
-
diff --git a/interface/web/mailuser/lib/lang/de_index.lng b/interface/web/mailuser/lib/lang/de_index.lng
index d8eec65c2382cf17b57fa19a8c0ba311bbf95033..522ddbc8db8e1f7840532d16463e00900dce1747 100644
--- a/interface/web/mailuser/lib/lang/de_index.lng
+++ b/interface/web/mailuser/lib/lang/de_index.lng
@@ -10,4 +10,3 @@ $wb['unlimited_txt'] = 'Unlimitiert';
 $wb['mb_txt'] = 'MB';
 $wb['none_txt'] = 'Niemanden';
 ?>
-
diff --git a/interface/web/mailuser/lib/lang/de_mail_user_autoresponder.lng b/interface/web/mailuser/lib/lang/de_mail_user_autoresponder.lng
index ce28da041ffdd6270565db89087264b2c1bf47a6..f8d4e46b12109005789a7d61fd8720d44ac508d9 100644
--- a/interface/web/mailuser/lib/lang/de_mail_user_autoresponder.lng
+++ b/interface/web/mailuser/lib/lang/de_mail_user_autoresponder.lng
@@ -11,4 +11,3 @@ $wb['autoresponder_active'] = 'Autoresponder aktivieren';
 $wb['now_txt'] = 'Jetzt';
 $wb['autoresponder_subject_txt'] = 'Betreff';
 ?>
-
diff --git a/interface/web/mailuser/lib/lang/de_mail_user_cc.lng b/interface/web/mailuser/lib/lang/de_mail_user_cc.lng
index 6292bb5745cdb621d1936e68d8ee176d544944a8..b85077ea7cb0a489ec6e0f5110093a0c9a363684 100644
--- a/interface/web/mailuser/lib/lang/de_mail_user_cc.lng
+++ b/interface/web/mailuser/lib/lang/de_mail_user_cc.lng
@@ -5,4 +5,3 @@ $wb['email_txt'] = 'E-Mail';
 $wb['cc_error_isemail'] = 'E-Mail Adresse ungültig im -Kopie senden an- Feld';
 $wb['email_is_cc_error'] = 'E-Mail Adresse und ';
 ?>
-
diff --git a/interface/web/mailuser/lib/lang/de_mail_user_filter.lng b/interface/web/mailuser/lib/lang/de_mail_user_filter.lng
index 53cd51e16a02127bf324ae3307db8e90002de49c..fd93e64658bcdd5a86ec076d6345ffc6715c3a17 100644
--- a/interface/web/mailuser/lib/lang/de_mail_user_filter.lng
+++ b/interface/web/mailuser/lib/lang/de_mail_user_filter.lng
@@ -18,4 +18,3 @@ $wb['ends_with_txt'] = 'Endet mit';
 $wb['move_to_txt'] = 'Verschieben nach';
 $wb['delete_txt'] = 'Löschen';
 ?>
-
diff --git a/interface/web/mailuser/lib/lang/de_mail_user_filter_list.lng b/interface/web/mailuser/lib/lang/de_mail_user_filter_list.lng
index a0b80bdb0dff3a774d48925e0dea25116f557e60..9abd40d7e35ec39ca65d1b63d0f5db5888697d17 100644
--- a/interface/web/mailuser/lib/lang/de_mail_user_filter_list.lng
+++ b/interface/web/mailuser/lib/lang/de_mail_user_filter_list.lng
@@ -6,4 +6,3 @@ $wb['page_txt'] = 'Seite';
 $wb['page_of_txt'] = 'von';
 $wb['delete_confirmation'] = 'Möchten Sie die E-Mailfilter Regel wirklich löschen?';
 ?>
-
diff --git a/interface/web/mailuser/lib/lang/de_mail_user_password.lng b/interface/web/mailuser/lib/lang/de_mail_user_password.lng
index 062ba6b22f02052e9e4d4b77cce9c3f09a8ba379..5e5fe5e933822206d3fc4a7b19824ca0c9b9e4b8 100644
--- a/interface/web/mailuser/lib/lang/de_mail_user_password.lng
+++ b/interface/web/mailuser/lib/lang/de_mail_user_password.lng
@@ -8,4 +8,3 @@ $wb['repeat_password_txt'] = 'Passwort wiederholen';
 $wb['password_mismatch_txt'] = 'Die Passwörter stimmen nicht überein.';
 $wb['password_match_txt'] = 'Die Passwörter stimmen überein.';
 ?>
-
diff --git a/interface/web/mailuser/lib/lang/de_mail_user_spamfilter.lng b/interface/web/mailuser/lib/lang/de_mail_user_spamfilter.lng
index 019679a829173c6d54c4b6c97e59673c3cbb208c..47ac53a006c373ca32e297350a4cc7929639f6db 100644
--- a/interface/web/mailuser/lib/lang/de_mail_user_spamfilter.lng
+++ b/interface/web/mailuser/lib/lang/de_mail_user_spamfilter.lng
@@ -5,4 +5,3 @@ $wb['email_txt'] = 'E-Mail';
 $wb['no_policy'] = '- nicht aktiviert -';
 $wb['policy_txt'] = 'Richtlinie';
 ?>
-
diff --git a/interface/web/monitor/lib/lang/de.lng b/interface/web/monitor/lib/lang/de.lng
index 304ac7333140161d6d91b3a7a36e9a8ee1e727ef..a46050ee4954f05a660fbedf83818d34f0eb58b7 100644
--- a/interface/web/monitor/lib/lang/de.lng
+++ b/interface/web/monitor/lib/lang/de.lng
@@ -122,6 +122,7 @@ $wb['monitor_services_smtp_txt'] = 'SMTP Server:';
 $wb['monitor_services_pop_txt'] = 'POP3 Server:';
 $wb['monitor_services_imap_txt'] = 'IMAP Server:';
 $wb['monitor_services_mydns_txt'] = 'DNS Server:';
+$wb['monitor_services_mongodb_txt'] = 'MongoDB Server:';
 $wb['monitor_services_mysql_txt'] = 'MySQL Server:';
 $wb['monitor_settings_datafromdate_txt'] = 'Daten vom: ';
 $wb['monitor_settings_datetimeformat_txt'] = 'd.m.Y H:i';
@@ -134,6 +135,7 @@ $wb['monitor_title_raidstate_txt'] = 'RAID Status';
 $wb['monitor_title_rkhunterlog_txt'] = 'RKHunter Protokoll';
 $wb['monitor_updates_nosupport_txt'] = 'Ihre Distribution wird für die Überwachung nicht unterstützt';
 $wb['monitor_title_fail2ban_txt'] = 'Fail2Ban Protokoll';
+$wb['monitor_title_mongodb_txt'] = 'MongoDB Protokoll';
 $wb['monitor_nosupportedraid1_txt'] = 'At the moment, we support mdadm or mpt-status for monitoring the RAID.<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_title_beancounter_txt'] = 'OpenVz VE BeanCounter';
 $wb['monitor_beancounter_nosupport_txt'] = 'This server is not a OpenVz VE and has no beancounter information';
 $wb['monitor_title_iptables_txt'] = 'IPTables Regeln';
 $wb['Show fail2ban-Log'] = 'Fail2ban Protokoll anzeigen';
+$wb['Show MongoDB-Log'] = 'MongoDB Protokoll anzeigen';
 $wb['Show IPTables'] = 'IPTables anzeigen';
 $wb['Show OpenVz VE BeanCounter'] = 'OpenVz VE BeanCounter anzeigen';
 $wb['Show Monit'] = 'Monit anzeigen';
@@ -153,4 +156,3 @@ $wb['Show Munin'] = 'Munin anzeigen';
 $wb['no_munin_url_defined_txt'] = 'Keine Munin-URL definiert.';
 $wb['no_permissions_to_view_munin_txt'] = 'Sie haben nicht die Berechtigung, auf Munin zuzugreifen.';
 ?>
-
diff --git a/interface/web/monitor/lib/lang/de_datalog_list.lng b/interface/web/monitor/lib/lang/de_datalog_list.lng
index 8939cab064ea58d23a5a83e07dc2b7978044fc71..0b6bf9a4bb65f86a0eda057b6648c58da9848c28 100644
--- a/interface/web/monitor/lib/lang/de_datalog_list.lng
+++ b/interface/web/monitor/lib/lang/de_datalog_list.lng
@@ -6,4 +6,3 @@ $wb['dbtable_txt'] = 'Datenbanktabelle';
 $wb['action_txt'] = 'Aktion';
 $wb['status_txt'] = 'Status';
 ?>
-
diff --git a/interface/web/monitor/lib/lang/en.lng b/interface/web/monitor/lib/lang/en.lng
index 755ea317a030a2b86ace52a0793855e2d7fb534c..aa6472e580038b537920d750a8db1cb3285de5f8 100644
--- a/interface/web/monitor/lib/lang/en.lng
+++ b/interface/web/monitor/lib/lang/en.lng
@@ -47,6 +47,7 @@ $wb['Show ISPConfig-Log'] = 'Show ISPConfig-Log';
 $wb['Show RKHunter-Log'] = 'Show RKHunter-Log';
 $wb['Show Jobqueue'] = 'Show Jobqueue';
 $wb['Show fail2ban-Log'] = 'Show fail2ban-Log';
+$wb['Show MongoDB-Log'] = 'Show MongoDB-Log';
 $wb['Show IPTables'] = 'Show IPTables';
 $wb['Show OpenVz VE BeanCounter'] = 'Show OpenVz VE BeanCounter';
 $wb['monitor_general_serverstate_txt'] = 'Server State';
@@ -136,6 +137,7 @@ $wb['monitor_services_smtp_txt'] = 'SMTP-Server:';
 $wb['monitor_services_pop_txt'] = 'POP3-Server:';
 $wb['monitor_services_imap_txt'] = 'IMAP-Server:';
 $wb['monitor_services_mydns_txt'] = 'DNS-Server:';
+$wb['monitor_services_mongodb_txt'] = 'MongoDB-Server:';
 $wb['monitor_services_mysql_txt'] = 'mySQL-Server:';
 $wb['monitor_settings_datafromdate_txt'] = 'Data from: ';
 $wb['monitor_settings_datetimeformat_txt'] = 'Y-m-d H:i';
@@ -147,6 +149,7 @@ $wb['monitor_title_mailq_txt'] = 'Mail Queue';
 $wb['monitor_title_raidstate_txt'] = 'RAID Status';
 $wb['monitor_title_rkhunterlog_txt'] = 'RKHunter Log';
 $wb['monitor_title_fail2ban_txt'] = 'Fail2Ban Log';
+$wb['monitor_title_mongodb_txt'] = 'MongoDB Log';
 $wb['monitor_title_iptables_txt'] = 'IPTables Rules';
 $wb['monitor_title_beancounter_txt'] = 'OpenVz VE BeanCounter';
 $wb['monitor_updates_nosupport_txt'] = 'Your distribution is not supported for this monitoring';
diff --git a/interface/web/monitor/lib/module.conf.php b/interface/web/monitor/lib/module.conf.php
index e1774139d047ee5e88f4ff06bb10803c6f2ab16b..ca68ade867f9e6cda3a657a61ee92e8dd9ba843f 100644
--- a/interface/web/monitor/lib/module.conf.php
+++ b/interface/web/monitor/lib/module.conf.php
@@ -195,6 +195,11 @@ $items[] = array( 'title' 	=> "Show fail2ban-Log",
                   'link'	=> 'monitor/show_data.php?type=fail2ban',
                   'html_id' => 'fai2ban');
 
+$items[] = array( 'title' 	=> "Show MongoDB-Log",
+                  'target' 	=> 'content',
+                  'link'	=> 'monitor/show_data.php?type=mongodb',
+                  'html_id' => 'mongodb');
+
 $items[] = array( 'title' 	=> "Show IPTables",
                   'target' 	=> 'content',
                   'link'	=> 'monitor/show_data.php?type=iptables',
diff --git a/interface/web/monitor/show_data.php b/interface/web/monitor/show_data.php
index 1e85d90504b80edd29355d441dc5758cd1d17acb..42f4766485e4495beced685e88ba088627f485af 100644
--- a/interface/web/monitor/show_data.php
+++ b/interface/web/monitor/show_data.php
@@ -131,6 +131,13 @@ switch($dataType) {
         $title = $app->lng("monitor_title_fail2ban_txt") . ' (' . $monTransSrv . ' : ' . $_SESSION['monitor']['server_name'] . ')';
         $description = '';
         break;
+    case 'mongodb':
+        $template = 'templates/show_data.htm';
+        $output .= $app->tools_monitor->showMongoDB();
+        $time = $app->tools_monitor->getDataTime('log_mongodb');
+        $title = $app->lng("monitor_title_mongodb_txt") . ' (' . $monTransSrv . ' : ' . $_SESSION['monitor']['server_name'] . ')';
+        $description = '';
+        break;
     case 'iptables':
         $template = 'templates/show_data.htm';
         $output .= $app->tools_monitor->showIPTables();
diff --git a/interface/web/monitor/show_log.php b/interface/web/monitor/show_log.php
index ec10a982b1aa768998b0aadcce63b1b7abf3c784..cb9e4c1074f80c670f0256d69426cd1fff92e446 100644
--- a/interface/web/monitor/show_log.php
+++ b/interface/web/monitor/show_log.php
@@ -125,7 +125,20 @@ $record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE t
 if(isset($record['data'])) {
 	$data = unserialize($record['data']);
 
-	$logData = nl2br(htmlspecialchars($data));
+  $logData = explode("\n", htmlspecialchars($data));
+  $logDataHtml = '';
+  /* set css class for each line of log, depending on key words in each line */
+  foreach($logData as $val) {
+    if (strpos($val, 'ERROR') !== FALSE) {
+      $logDataHtml .= "<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 00d7b258b160e988804d67ddbda5fd02241a090a..f1c43b018223fe77287113917f1711664736d7ea 100644
--- a/interface/web/sites/aps_installedpackages_list.php
+++ b/interface/web/sites/aps_installedpackages_list.php
@@ -139,4 +139,4 @@ if(is_array($records))
 $app->tpl->setLoop('records', $records_new);
 
 $app->listform_actions->onShow();
-?>
\ No newline at end of file
+?>
diff --git a/interface/web/sites/database_user_edit.php b/interface/web/sites/database_user_edit.php
index 1b71196f69c3defa26618ecc6b0b054581a18a21..4f6979fc4e6ffeca07e8d699645f03ebe0199485 100644
--- a/interface/web/sites/database_user_edit.php
+++ b/interface/web/sites/database_user_edit.php
@@ -57,17 +57,17 @@ class page_action extends tform_actions {
 		 * If the names are restricted -> remove the restriction, so that the
 		 * data can be edited
 		 */
-		
+
 		//* Get the database user prefix
 		$app->uses('getconf,tools_sites');
 		$global_config = $app->getconf->get_global_config('sites');
 		$dbuser_prefix = $app->tools_sites->replacePrefix($global_config['dbuser_prefix'], $this->dataRecord);
-		
+
         if ($_SESSION["s"]["user"]["typ"] != 'admin' && $app->auth->has_clients($_SESSION['s']['user']['userid'])) {
 			// Get the limits of the client
 			$client_group_id = $_SESSION["s"]["user"]["default_group"];
 			$client = $app->db->queryOneRecord("SELECT client.company_name, client.contact_name, client.client_id FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
-            
+
             // Fill the client select field
             $sql = "SELECT sys_group.groupid, sys_group.name, CONCAT(IF(client.company_name != '', CONCAT(client.company_name, ' :: '), ''), client.contact_name, ' (', client.username, IF(client.customer_no != '', CONCAT(', ', client.customer_no), ''), ')') as contactname FROM sys_group, client WHERE sys_group.client_id = client.client_id AND client.parent_client_id = ".$client['client_id']." ORDER BY sys_group.name";
             $records = $app->db->queryAllRecords($sql);
@@ -96,24 +96,24 @@ class page_action extends tform_actions {
 			}
 			$app->tpl->setVar("client_group_id",$client_select);
         }
-        
-        
+
+
 		if ($this->dataRecord['database_user'] != ""){
 			/* REMOVE the restriction */
 			$app->tpl->setVar("database_user", $app->tools_sites->removePrefix($this->dataRecord['database_user'], $this->dataRecord['database_user_prefix'], $dbuser_prefix));
 		}
-		
-    
+
+
 		$app->tpl->setVar("database_user_prefix", $app->tools_sites->getPrefix($this->dataRecord['database_user_prefix'], $dbuser_prefix, $global_config['dbuser_prefix']));
-		
+
 		parent::onShowEnd();
 	}
-    
+
     function onSubmit() {
         global $app;
-        
+
         if($_SESSION['s']['user']['typ'] != 'admin' && !$app->auth->has_clients($_SESSION['s']['user']['userid'])) unset($this->dataRecord["client_group_id"]);
-        
+
         parent::onSubmit();
     }
 
@@ -126,35 +126,40 @@ class page_action extends tform_actions {
 		$dbuser_prefix = $app->tools_sites->replacePrefix($global_config['dbuser_prefix'], $this->dataRecord);
 
         $this->oldDataRecord = $app->db->queryOneRecord("SELECT * FROM web_database_user WHERE database_user_id = '".$this->id."'");
-        
+
         $dbuser_prefix = $app->tools_sites->getPrefix($this->oldDataRecord['database_user_prefix'], $dbuser_prefix);
         $this->dataRecord['database_user_prefix'] = $dbuser_prefix;
-        
+
 		//* Database username shall not be empty
 		if($this->dataRecord['database_user'] == '') $app->tform->errorMessage .= $app->tform->wordbook["database_user_error_empty"].'<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 @@ class page_action extends tform_actions {
 		$app->uses('getconf,tools_sites');
 		$global_config = $app->getconf->get_global_config('sites');
 		$dbuser_prefix = $app->tools_sites->replacePrefix($global_config['dbuser_prefix'], $this->dataRecord);
-		
+
         $this->dataRecord['database_user_prefix'] = $dbuser_prefix;
-        
+
 		if(strlen($dbuser_prefix . $this->dataRecord['database_user']) > 16) $app->tform->errorMessage .= str_replace('{user}',$dbuser_prefix . $this->dataRecord['database_user'],$app->tform->wordbook["database_user_error_len"]).'<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 @@ class page_action extends tform_actions {
 		if ($app->tform->errorMessage == ''){
 			$this->dataRecord['database_user'] = substr($dbuser_prefix . $this->dataRecord['database_user'], 0, 16);
 		}
-		
-        $this->dataRecord['server_id'] = 0; // we need this on all servers
-        
+
+		$this->dataRecord['server_id'] = 0; // we need this on all servers
+
+		/* prepare password for MongoDB */
+		$this->dataRecord['database_password_mongo'] = $this->dataRecord['database_user'].":mongo:".$this->dataRecord['database_password'];
+
 		parent::onBeforeInsert();
 	}
 
 	function onAfterInsert() {
 		global $app, $conf;
-		
+
 		if($_SESSION["s"]["user"]["typ"] == 'admin' && isset($this->dataRecord["client_group_id"])) {
 			$client_group_id = $app->functions->intval($this->dataRecord["client_group_id"]);
 			$app->db->query("UPDATE web_database_user SET sys_groupid = $client_group_id, sys_perm_group = 'riud' WHERE database_user_id = ".$this->id);
@@ -208,9 +216,9 @@ class page_action extends tform_actions {
 			$client_group_id = $app->functions->intval($this->dataRecord["client_group_id"]);
 			$app->db->query("UPDATE web_database_user SET sys_groupid = $client_group_id, sys_perm_group = 'riud' WHERE database_user_id = ".$this->id);
 		}
-		
+
 		/*$password = $app->db->queryOneRecord("SELECT database_password FROM web_database_user WHERE database_user_id = ".$this->id);
-        
+
         $records = $app->db->queryAllRecords("SELECT DISTINCT server_id FROM web_database WHERE database_user_id = '".$app->functions->intval($this->id)."' UNION SELECT DISTINCT server_id FROM web_database WHERE database_ro_user_id = '".$app->functions->intval($this->id)."'");
         foreach($records as $rec) {
             $new_rec = $this->dataRecord;
diff --git a/interface/web/sites/form/database.tform.php b/interface/web/sites/form/database.tform.php
index e390f7276cb9428a8272e84351c5d7734b83c534..2a9da3fafb194ecc35e2487b6d05a1885ced5848 100644
--- a/interface/web/sites/form/database.tform.php
+++ b/interface/web/sites/form/database.tform.php
@@ -29,7 +29,7 @@
 	Hint:
 	The ID field of the database table is not part of the datafield definition.
 	The ID field must be always auto incement (int or bigint).
-	
+
 	Search:
 	- searchable = 1 or searchable = 2 include the field in the search
 	- searchable = 1: this field will be the title of the search result
@@ -89,7 +89,10 @@ $form["tabs"]['database'] = array (
 			'datatype'	=> 'VARCHAR',
 			'formtype'	=> 'SELECT',
 			'default'	=> 'y',
-			'value'		=> array('mysql' => 'MySQL')
+			'value'		=> array(
+			                  'mongo' => 'MongoDB',
+			                  'mysql' => 'MySQL'
+			               )
 		),
 		'database_name' => array (
 			'datatype'	=> 'VARCHAR',
diff --git a/interface/web/sites/form/database_user.tform.php b/interface/web/sites/form/database_user.tform.php
index fa2b2d3a321dbd53aa373cb0730b2c2e07a10d24..d2a2defe7b59ce8f5dfaa99c256ddbe9995b3bb9 100644
--- a/interface/web/sites/form/database_user.tform.php
+++ b/interface/web/sites/form/database_user.tform.php
@@ -29,7 +29,7 @@
 	Hint:
 	The ID field of the database table is not part of the datafield definition.
 	The ID field must be always auto incement (int or bigint).
-	
+
 	Search:
 	- searchable = 1 or searchable = 2 include the field in the search
 	- searchable = 1: this field will be the title of the search result
@@ -108,6 +108,14 @@ $form["tabs"]['database_user'] = array (
 			'width'		=> '30',
 			'maxlength'	=> '255'
 		),
+		'database_password_mongo' => array (
+			'datatype'	=> 'VARCHAR',
+			'formtype'	=> 'PASSWORD',
+			'default'	=> '',
+			'value'		=> '',
+			'width'		=> '30',
+			'maxlength'	=> '255'
+		),
 	##################################
 	# ENDE Datatable fields
 	##################################
diff --git a/interface/web/sites/form/web_domain.tform.php b/interface/web/sites/form/web_domain.tform.php
index f2c6fa7b550ca4d00b7fc997edb69923c53236f7..233b464b8a960bf9666a07b95060f8c5a55b77d5 100644
--- a/interface/web/sites/form/web_domain.tform.php
+++ b/interface/web/sites/form/web_domain.tform.php
@@ -72,6 +72,9 @@ if(!$app->auth->is_admin()) {
     if($client['limit_ssl'] != 'y') $ssl_available = false;
 }
 
+$app->uses('getconf');
+$web_config = $app->getconf->get_global_config('sites');
+
 $form["tabs"]['domain'] = array (
 	'title' 	=> "Domain",
 	'width' 	=> 100,
@@ -535,7 +538,8 @@ $form["tabs"]['backup'] = array (
 
 // }
 
-if($_SESSION["s"]["user"]["typ"] == 'admin') {
+if($_SESSION["s"]["user"]["typ"] == 'admin'
+    || ($web_config['reseller_can_use_options'] == 'y' && $app->auth->has_clients($_SESSION['s']['user']['userid']))) {
 
 $form["tabs"]['advanced'] = array (
 	'title' 	=> "Options",
diff --git a/interface/web/sites/form/web_vhost_subdomain.tform.php b/interface/web/sites/form/web_vhost_subdomain.tform.php
index 116428cb6f82a8ec890426cee0a85a3f6cdf92ef..e71d5809f2eb5effe963f2e611b7defaa819abe7 100644
--- a/interface/web/sites/form/web_vhost_subdomain.tform.php
+++ b/interface/web/sites/form/web_vhost_subdomain.tform.php
@@ -64,6 +64,9 @@ if(!$app->auth->is_admin()) {
     if($client['limit_ssl'] != 'y') $ssl_available = false;
 }
 
+$app->uses('getconf');
+$web_config = $app->getconf->get_global_config('sites');
+
 $form["tabs"]['domain'] = array (
 	'title' 	=> "Domain",
 	'width' 	=> 100,
@@ -525,7 +528,8 @@ $form["tabs"]['backup'] = array (
 
 // }
 
-if($_SESSION["s"]["user"]["typ"] == 'admin') {
+if($_SESSION["s"]["user"]["typ"] == 'admin'
+    || ($web_config['reseller_can_use_options'] == 'y' && $app->auth->has_clients($_SESSION['s']['user']['userid']))) {
 
 $form["tabs"]['advanced'] = array (
 	'title' 	=> "Options",
diff --git a/interface/web/sites/lib/lang/de.lng b/interface/web/sites/lib/lang/de.lng
index 7f956ef31eeebabff995ac9434402322d8eed8ae..544824a5a59da74dc09cf2f67c3a4f4b719f31e0 100644
--- a/interface/web/sites/lib/lang/de.lng
+++ b/interface/web/sites/lib/lang/de.lng
@@ -33,4 +33,3 @@ $wb['Update Packagelist'] = 'Paketliste aktualisieren';
 $wb['error_proxy_requires_url'] = 'Weiterleitungstyp ';
 $wb['Subdomain (Vhost)'] = 'Subdomain (vHost)';
 ?>
-
diff --git a/interface/web/sites/lib/lang/de_aps.lng b/interface/web/sites/lib/lang/de_aps.lng
index b97d0a0c87bfb1aff4cfcbfc0e36c8af89e75b50..aab6f4edf7453af1f9f2d93ff5c62aed1eefb444 100644
--- a/interface/web/sites/lib/lang/de_aps.lng
+++ b/interface/web/sites/lib/lang/de_aps.lng
@@ -54,6 +54,5 @@ $wb['installation_error_txt'] = 'Installationsfehler';
 $wb['installation_success_txt'] = 'Installiert';
 $wb['installation_remove_txt'] = 'Deinstallation vorgemerkt';
 $wb['packagelist_update_finished_txt'] = 'APS Paketlistenupdate beendet.';
-$wb['limit_aps_txt'] = 'Die maximale Anzahl an APS Instanzen für Ihr Konto wurde erreicht.';
+$wb['limit_aps_txt'] = 'Die maximale Anzahl an APS-Instanzen für Ihr Konto wurde erreicht.';
 ?>
-
diff --git a/interface/web/sites/lib/lang/de_aps_instances_list.lng b/interface/web/sites/lib/lang/de_aps_instances_list.lng
index 753ba3b8af5780b70ed5b05106e3c88e9a63aba6..e5f8b7b7f12728cbf57937ea40aa369f517176de 100644
--- a/interface/web/sites/lib/lang/de_aps_instances_list.lng
+++ b/interface/web/sites/lib/lang/de_aps_instances_list.lng
@@ -11,4 +11,3 @@ $wb['filter_txt'] = 'Suche';
 $wb['delete_txt'] = 'Löschen';
 $wb['reinstall_txt'] = 'Neuinstallieren';
 ?>
-
diff --git a/interface/web/sites/lib/lang/de_aps_packages_list.lng b/interface/web/sites/lib/lang/de_aps_packages_list.lng
index ab21a147712df0c1634e248104627fffb7e66b83..6cada812b206bf7401176c9042dd704dfb11a591 100644
--- a/interface/web/sites/lib/lang/de_aps_packages_list.lng
+++ b/interface/web/sites/lib/lang/de_aps_packages_list.lng
@@ -6,4 +6,3 @@ $wb['category_txt'] = 'Kategorie';
 $wb['status_txt'] = 'Verfügbar';
 $wb['filter_txt'] = 'Suche';
 ?>
-
diff --git a/interface/web/sites/lib/lang/de_aps_update_packagelist.lng b/interface/web/sites/lib/lang/de_aps_update_packagelist.lng
index 4ca36cfb10a9aae6dd6837825fd33385f08305fb..3b5a161d5678c5e00a0767a1b1c6294a30254899 100644
--- a/interface/web/sites/lib/lang/de_aps_update_packagelist.lng
+++ b/interface/web/sites/lib/lang/de_aps_update_packagelist.lng
@@ -5,4 +5,3 @@ $wb['btn_start_txt'] = 'Paketliste aktualisieren';
 $wb['btn_cancel_txt'] = 'Abbrechen';
 $wb['legend_txt'] = 'Hier können Sie die Liste der verfügbaren Pakete aktualisieren. Dies kann bis zu fünf Minuten dauern. Wenn Sie möchten, können Sie diese Seite verlassen; der Prozeß läuft im Hintergrund weiter.';
 ?>
-
diff --git a/interface/web/sites/lib/lang/de_cron.lng b/interface/web/sites/lib/lang/de_cron.lng
index 8fd195820bcd7dcbb80ab7b50d9fc05f6cf0b0e5..57d8ca3fc205c3ed6b60072a64eb248cfb1804d9 100644
--- a/interface/web/sites/lib/lang/de_cron.lng
+++ b/interface/web/sites/lib/lang/de_cron.lng
@@ -19,4 +19,3 @@ $wb['run_wday_error_format'] = 'Das Format für Wochentage ist nicht korrekt.';
 $wb['command_error_format'] = 'Das Format für den Befehl ist nicht korrekt. Beachten Sie, dass bei einem URL Aufruf nur http und https erlaubt ist.';
 $wb['unknown_fieldtype_error'] = 'Es wurde ein unbekanntes Feld verwendet.';
 ?>
-
diff --git a/interface/web/sites/lib/lang/de_cron_list.lng b/interface/web/sites/lib/lang/de_cron_list.lng
index 029cd59b757f01d2465e9a74fee05576fb67083b..687505b4a3c6fcbebd7694ec05d1f879feea807c 100644
--- a/interface/web/sites/lib/lang/de_cron_list.lng
+++ b/interface/web/sites/lib/lang/de_cron_list.lng
@@ -11,4 +11,3 @@ $wb['command_txt'] = 'Befehl';
 $wb['add_new_cron_txt'] = 'Neuen Cronjob anlegen';
 $wb['parent_domain_id_txt'] = 'Webseite';
 ?>
-
diff --git a/interface/web/sites/lib/lang/de_database.lng b/interface/web/sites/lib/lang/de_database.lng
index a38dd8d8d8c1c7799726fe34aef1de0dd035427e..2108673feda3aaa7ea64213a042b139e1f819811 100644
--- a/interface/web/sites/lib/lang/de_database.lng
+++ b/interface/web/sites/lib/lang/de_database.lng
@@ -44,4 +44,3 @@ $wb['globalsearch_noresults_limit_txt'] = '0 Treffer';
 $wb['globalsearch_searchfield_watermark_txt'] = 'Suche';
 $wb['globalsearch_suggestions_text_txt'] = 'Vorschläge';
 ?>
-
diff --git a/interface/web/sites/lib/lang/de_database_admin_list.lng b/interface/web/sites/lib/lang/de_database_admin_list.lng
index ad742ff38d14d37257d87ec571d33f7c09c4ef42..b479d06cff0a238531eb4f884719391316dc6b06 100644
--- a/interface/web/sites/lib/lang/de_database_admin_list.lng
+++ b/interface/web/sites/lib/lang/de_database_admin_list.lng
@@ -9,4 +9,3 @@ $wb['add_new_record_txt'] = 'Neue Datenbank hinzufügen';
 $wb['sys_groupid_txt'] = 'Kunde';
 $wb['parent_domain_id_txt'] = 'Domain';
 ?>
-
diff --git a/interface/web/sites/lib/lang/de_database_list.lng b/interface/web/sites/lib/lang/de_database_list.lng
index 93dc2779dc7eceaf84b39ce4c108c4f346c3cf91..7cfe03547d578d2ceea3eb5fa91f5a8f9a165777 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 d81bc52d0cc8d4505ca11bed81834091c88bf98b..ab4601720d797f720fe0eb5c8c5f7a67aaadf2f1 100644
--- a/interface/web/sites/lib/lang/de_database_user.lng
+++ b/interface/web/sites/lib/lang/de_database_user.lng
@@ -21,4 +21,3 @@ $wb['globalsearch_noresults_limit_txt'] = '0 Treffer';
 $wb['globalsearch_searchfield_watermark_txt'] = 'Suche';
 $wb['globalsearch_suggestions_text_txt'] = 'Vorschläge';
 ?>
-
diff --git a/interface/web/sites/lib/lang/de_database_user_admin_list.lng b/interface/web/sites/lib/lang/de_database_user_admin_list.lng
index 4cbdc9dbda5f3133c909403e7266a77c86ad3a3d..82c09fcf138e7fc6bd71350fa3a194889f36960d 100644
--- a/interface/web/sites/lib/lang/de_database_user_admin_list.lng
+++ b/interface/web/sites/lib/lang/de_database_user_admin_list.lng
@@ -4,4 +4,3 @@ $wb['add_new_record_txt'] = 'Neuen Benutzer hinzufügen';
 $wb['database_user_txt'] = 'Datenbank Benutzer';
 $wb['sys_groupid_txt'] = 'Kunde';
 ?>
-
diff --git a/interface/web/sites/lib/lang/de_database_user_list.lng b/interface/web/sites/lib/lang/de_database_user_list.lng
index d746d2f2c29169534f615479cb387212434859e0..7ee8222dcb17df2eab716dbe7c6b8b06a48d578f 100644
--- a/interface/web/sites/lib/lang/de_database_user_list.lng
+++ b/interface/web/sites/lib/lang/de_database_user_list.lng
@@ -3,4 +3,3 @@ $wb['list_head_txt'] = 'Datenbank Benutzer';
 $wb['add_new_record_txt'] = 'Neuen Benutzer hinzufügen';
 $wb['database_user_txt'] = 'Datenbank Benutzer';
 ?>
-
diff --git a/interface/web/sites/lib/lang/de_ftp_user.lng b/interface/web/sites/lib/lang/de_ftp_user.lng
index 897f70057ac8dcad510b6c2077b24da927793daa..2a3a98b21f904b1c8785eeaec144bf54bd94975e 100644
--- a/interface/web/sites/lib/lang/de_ftp_user.lng
+++ b/interface/web/sites/lib/lang/de_ftp_user.lng
@@ -14,7 +14,7 @@ $wb['username_txt'] = 'Benutzername';
 $wb['password_txt'] = 'Passwort';
 $wb['quota_size_txt'] = 'Speicherplatz Beschränkung';
 $wb['active_txt'] = 'Aktiv';
-$wb['limit_ftp_user_txt'] = 'Die max. Anzahl an FTP Benutzer für Ihr Konto wurde erreicht.';
+$wb['limit_ftp_user_txt'] = 'Die max. Anzahl an FTP Benutzern für Ihr Konto wurde erreicht.';
 $wb['username_error_empty'] = 'Benutzername ist leer.';
 $wb['username_error_unique'] = 'Der Benutzername muss einzigartig sein.';
 $wb['username_error_regex'] = 'Der Benutzername enthält nicht erlaubte Zeichen.';
@@ -32,4 +32,3 @@ $wb['repeat_password_txt'] = 'Passwort wiederholen';
 $wb['password_mismatch_txt'] = 'Die Passwörter stimmen nicht überein.';
 $wb['password_match_txt'] = 'Die Passwörter stimmen überein.';
 ?>
-
diff --git a/interface/web/sites/lib/lang/de_ftp_user_list.lng b/interface/web/sites/lib/lang/de_ftp_user_list.lng
index d39ff1f526777aac21321ffc9822dec684588402..8d1b0817a6f892872c1ab744201d8e590da901f9 100644
--- a/interface/web/sites/lib/lang/de_ftp_user_list.lng
+++ b/interface/web/sites/lib/lang/de_ftp_user_list.lng
@@ -6,4 +6,3 @@ $wb['parent_domain_id_txt'] = 'Domain';
 $wb['username_txt'] = 'Benutzername';
 $wb['add_new_record_txt'] = 'Neuen FTP Benutzer hinzufügen';
 ?>
-
diff --git a/interface/web/sites/lib/lang/de_shell_user.lng b/interface/web/sites/lib/lang/de_shell_user.lng
index 8a825b47b62217527520c2345e781a66e7505cab..4f04562f7469ec49908b0fd04a3481fba36b370d 100644
--- a/interface/web/sites/lib/lang/de_shell_user.lng
+++ b/interface/web/sites/lib/lang/de_shell_user.lng
@@ -29,4 +29,3 @@ $wb['password_match_txt'] = 'Die Passwörter stimmen überein.';
 $wb['username_must_not_exceed_32_chars_txt'] = 'Der Benutzername darf 32 Zeichen nicht überschreiten.';
 $wb['username_not_allowed_txt'] = 'Dieser Benutzername ist nicht erlaubt.';
 ?>
-
diff --git a/interface/web/sites/lib/lang/de_shell_user_list.lng b/interface/web/sites/lib/lang/de_shell_user_list.lng
index 176a4e59700c352f8105e2c8ea0ad07306d1f763..c953cf6b0599a212de86a37b8201549f85177d6f 100644
--- a/interface/web/sites/lib/lang/de_shell_user_list.lng
+++ b/interface/web/sites/lib/lang/de_shell_user_list.lng
@@ -6,4 +6,3 @@ $wb['parent_domain_id_txt'] = 'Webseite';
 $wb['username_txt'] = 'Benutzername';
 $wb['add_new_record_txt'] = 'Neuen Shell Benutzer hinzufügen';
 ?>
-
diff --git a/interface/web/sites/lib/lang/de_user_quota_stats_list.lng b/interface/web/sites/lib/lang/de_user_quota_stats_list.lng
index c207ad73146598106aee9172b0777bcf9f57dfab..679e16ad7b9cda358dbff2ace9001ce2c576a734 100644
--- a/interface/web/sites/lib/lang/de_user_quota_stats_list.lng
+++ b/interface/web/sites/lib/lang/de_user_quota_stats_list.lng
@@ -7,4 +7,3 @@ $wb['hard_txt'] = 'Hard Limit';
 $wb['soft_txt'] = 'Soft Limit';
 $wb['files_txt'] = 'Dateien';
 ?>
-
diff --git a/interface/web/sites/lib/lang/de_web_aliasdomain.lng b/interface/web/sites/lib/lang/de_web_aliasdomain.lng
index d568bd26bceb3e32ee9419989543e98e0435d627..5f0fb3a19e070e8d39d7e2063e20731bb8c98147 100644
--- a/interface/web/sites/lib/lang/de_web_aliasdomain.lng
+++ b/interface/web/sites/lib/lang/de_web_aliasdomain.lng
@@ -113,4 +113,3 @@ $wb['proxy_directives_txt'] = 'Proxy Direktiven';
 $wb['available_proxy_directive_snippets_txt'] = 'Verfügbare Proxy Direktiven Schnipsel:';
 $wb['Domain'] = 'Aliasdomain';
 ?>
-
diff --git a/interface/web/sites/lib/lang/de_web_aliasdomain_list.lng b/interface/web/sites/lib/lang/de_web_aliasdomain_list.lng
index 1fe7f8477c9d300c09615c24343d739018fa94b4..9e27e3cef9057955f71e0c3a8627e721d056ef1c 100644
--- a/interface/web/sites/lib/lang/de_web_aliasdomain_list.lng
+++ b/interface/web/sites/lib/lang/de_web_aliasdomain_list.lng
@@ -12,4 +12,3 @@ $wb['no_redirect_txt'] = 'Keine Weiterleitung';
 $wb['no_flag_txt'] = 'Keine Optionen';
 $wb['none_txt'] = 'Keine';
 ?>
-
diff --git a/interface/web/sites/lib/lang/de_web_backup_list.lng b/interface/web/sites/lib/lang/de_web_backup_list.lng
index 87fb0aa7ad0d7e38db34e2477300fec4da49826a..5d39ebec65125c2eaf6f5fd5ea7e374dccc85975 100644
--- a/interface/web/sites/lib/lang/de_web_backup_list.lng
+++ b/interface/web/sites/lib/lang/de_web_backup_list.lng
@@ -10,7 +10,7 @@ $wb['restore_info_txt'] = 'Die Wiederherstellung des Backups hat begonnen. Diese
 $wb['restore_confirm_txt'] = 'Die Wiederherstellung wird existierende Dateien in Ihrer Website überschreiben. Möchten Sie dieses Backup wirklich wiederherstellen?';
 $wb['download_pending_txt'] = 'Es liegt bereits ein Backup Download Job an.';
 $wb['restore_pending_txt'] = 'Es liegt bereits ein Backup Wiederherstellungs Job an.';
+$wb['backup_type_mongodb'] = 'MongoDB Datenbank';
 $wb['backup_type_mysql'] = 'MySQL Datenbank';
 $wb['backup_type_web'] = 'Webseiten Dateien';
 ?>
-
diff --git a/interface/web/sites/lib/lang/de_web_domain.lng b/interface/web/sites/lib/lang/de_web_domain.lng
index 18fd6dbdb84e167adea5d398ab21e3183685887e..79fe72614dc3f0b535be5d635fb7542a89fb3314 100644
--- a/interface/web/sites/lib/lang/de_web_domain.lng
+++ b/interface/web/sites/lib/lang/de_web_domain.lng
@@ -121,4 +121,3 @@ $wb['invalid_rewrite_rules_txt'] = 'Unzulässige Rewrite Rules';
 $wb['allowed_rewrite_rule_directives_txt'] = 'Erlaubte Direktiven:';
 $wb['configuration_error_txt'] = 'KONFIGURATIONSFEHLER';
 ?>
-
diff --git a/interface/web/sites/lib/lang/de_web_domain_admin_list.lng b/interface/web/sites/lib/lang/de_web_domain_admin_list.lng
index 276696c7052db0319044a331da053bf1b82314b6..d9dc65c6c0c879b323dfaf9d3c9842ece88d13ba 100644
--- a/interface/web/sites/lib/lang/de_web_domain_admin_list.lng
+++ b/interface/web/sites/lib/lang/de_web_domain_admin_list.lng
@@ -7,4 +7,3 @@ $wb['server_id_txt'] = 'Server';
 $wb['domain_txt'] = 'Domain';
 $wb['add_new_record_txt'] = 'Neue Webseite hinzufügen';
 ?>
-
diff --git a/interface/web/sites/lib/lang/de_web_domain_list.lng b/interface/web/sites/lib/lang/de_web_domain_list.lng
index b722783e725343ec38ddba4399af4dcf6113a6e8..ce56a1cd1f132a26673dd1240064c03247d97747 100644
--- a/interface/web/sites/lib/lang/de_web_domain_list.lng
+++ b/interface/web/sites/lib/lang/de_web_domain_list.lng
@@ -6,4 +6,3 @@ $wb['server_id_txt'] = 'Server';
 $wb['domain_txt'] = 'Domain';
 $wb['add_new_record_txt'] = 'Neue Domain hinzufügen';
 ?>
-
diff --git a/interface/web/sites/lib/lang/de_web_folder.lng b/interface/web/sites/lib/lang/de_web_folder.lng
index 615e34050fb51477bcba64fbbd278e3cccec8e9a..8defc36f4cc0c7046bac8ea2ac5bc430c6bd7ae2 100644
--- a/interface/web/sites/lib/lang/de_web_folder.lng
+++ b/interface/web/sites/lib/lang/de_web_folder.lng
@@ -5,4 +5,3 @@ $wb['path_txt'] = 'Pfad';
 $wb['active_txt'] = 'Aktiv';
 $wb['path_error_regex'] = 'Ungültiger Pfad.';
 ?>
-
diff --git a/interface/web/sites/lib/lang/de_web_folder_list.lng b/interface/web/sites/lib/lang/de_web_folder_list.lng
index 2ac8f0399a10de936593f9090ec4bea50cb448f0..5491202ac64b2f0a2a9f2ab92f2de44ad6ee6956 100644
--- a/interface/web/sites/lib/lang/de_web_folder_list.lng
+++ b/interface/web/sites/lib/lang/de_web_folder_list.lng
@@ -5,4 +5,3 @@ $wb['server_id_txt'] = 'Server';
 $wb['parent_domain_id_txt'] = 'Webseite';
 $wb['path_txt'] = 'Pfad';
 ?>
-
diff --git a/interface/web/sites/lib/lang/de_web_folder_user.lng b/interface/web/sites/lib/lang/de_web_folder_user.lng
index 6ab959ca7cf723e1fd820e58d8aaadbed058e022..6983dc136e265beef4ee4400461e30c30ad4ebb0 100644
--- a/interface/web/sites/lib/lang/de_web_folder_user.lng
+++ b/interface/web/sites/lib/lang/de_web_folder_user.lng
@@ -11,4 +11,3 @@ $wb['password_mismatch_txt'] = 'Die Passwörter stimmen nicht überein.';
 $wb['password_match_txt'] = 'Die Passwörter stimmen überein.';
 $wb['no_folder_perm'] = 'Sie haben keine Berechtigung für diesen Ordner.';
 ?>
-
diff --git a/interface/web/sites/lib/lang/de_web_folder_user_list.lng b/interface/web/sites/lib/lang/de_web_folder_user_list.lng
index cd41dbff364d67f481e637e13fa13d0a5f864cb8..5357760eb47ae32258a5396648c98d179d5db39c 100644
--- a/interface/web/sites/lib/lang/de_web_folder_user_list.lng
+++ b/interface/web/sites/lib/lang/de_web_folder_user_list.lng
@@ -4,4 +4,3 @@ $wb['active_txt'] = 'Aktiv';
 $wb['web_folder_id_txt'] = 'Ordner';
 $wb['username_txt'] = 'Benutzername';
 ?>
-
diff --git a/interface/web/sites/lib/lang/de_web_sites_stats_list.lng b/interface/web/sites/lib/lang/de_web_sites_stats_list.lng
index 84a267650917a8623ca952138093263a026fce6b..611b8297d4385ebf129821069ba69c81421763bf 100644
--- a/interface/web/sites/lib/lang/de_web_sites_stats_list.lng
+++ b/interface/web/sites/lib/lang/de_web_sites_stats_list.lng
@@ -7,4 +7,3 @@ $wb['this_year_txt'] = 'Aktuelles Jahr';
 $wb['last_year_txt'] = 'Vergangenes Jahr';
 $wb['sum_txt'] = 'Summe';
 ?>
-
diff --git a/interface/web/sites/lib/lang/de_web_subdomain.lng b/interface/web/sites/lib/lang/de_web_subdomain.lng
index 29de073359a72694559c7517401b16839ae64c3b..c74bf92a76846f9b5ba2850bd668d29b8e3e9991 100644
--- a/interface/web/sites/lib/lang/de_web_subdomain.lng
+++ b/interface/web/sites/lib/lang/de_web_subdomain.lng
@@ -44,4 +44,3 @@ $wb['proxy_directives_txt'] = 'Proxy Direktiven';
 $wb['available_proxy_directive_snippets_txt'] = 'Verfügbare Proxy Direktiven Schnipsel:';
 $wb['error_proxy_requires_url'] = 'Weiterleitungstyp \\"proxy\\" erfordert eine URL als Weiterleitungspfad.';
 ?>
-
diff --git a/interface/web/sites/lib/lang/de_web_subdomain_list.lng b/interface/web/sites/lib/lang/de_web_subdomain_list.lng
index 91970764d5f289084547b3ec6103e508cf35a31e..042b9f02c5b2b4a665d69472e9192f707b20ef00 100644
--- a/interface/web/sites/lib/lang/de_web_subdomain_list.lng
+++ b/interface/web/sites/lib/lang/de_web_subdomain_list.lng
@@ -6,4 +6,3 @@ $wb['parent_domain_id_txt'] = 'Webseite';
 $wb['domain_txt'] = 'Subdomain';
 $wb['add_new_record_txt'] = 'Neue Subdomain hinzufügen';
 ?>
-
diff --git a/interface/web/sites/lib/lang/de_web_vhost_subdomain.lng b/interface/web/sites/lib/lang/de_web_vhost_subdomain.lng
index d128a5ee7b7113049350800031e922fb4b27fef7..9dc798f43543cd7cc78dba5ac3076249486fa5f4 100644
--- a/interface/web/sites/lib/lang/de_web_vhost_subdomain.lng
+++ b/interface/web/sites/lib/lang/de_web_vhost_subdomain.lng
@@ -120,4 +120,3 @@ $wb['invalid_rewrite_rules_txt'] = 'Unzulässige Rewrite Rules';
 $wb['allowed_rewrite_rule_directives_txt'] = 'Erlaubte Direktiven:';
 $wb['configuration_error_txt'] = 'KONFIGURATIONSFEHLER';
 ?>
-
diff --git a/interface/web/sites/lib/lang/de_web_vhost_subdomain_list.lng b/interface/web/sites/lib/lang/de_web_vhost_subdomain_list.lng
index 91970764d5f289084547b3ec6103e508cf35a31e..042b9f02c5b2b4a665d69472e9192f707b20ef00 100644
--- a/interface/web/sites/lib/lang/de_web_vhost_subdomain_list.lng
+++ b/interface/web/sites/lib/lang/de_web_vhost_subdomain_list.lng
@@ -6,4 +6,3 @@ $wb['parent_domain_id_txt'] = 'Webseite';
 $wb['domain_txt'] = 'Subdomain';
 $wb['add_new_record_txt'] = 'Neue Subdomain hinzufügen';
 ?>
-
diff --git a/interface/web/sites/lib/lang/de_webdav_user.lng b/interface/web/sites/lib/lang/de_webdav_user.lng
index 25c7b0995a2571340a0ba206e1e3519607826826..8e38b87900794ddb8757307333a197d06b143334 100644
--- a/interface/web/sites/lib/lang/de_webdav_user.lng
+++ b/interface/web/sites/lib/lang/de_webdav_user.lng
@@ -19,4 +19,3 @@ $wb['repeat_password_txt'] = 'Passwort wiederholen';
 $wb['password_mismatch_txt'] = 'Die Passwörter stimmen nicht überein.';
 $wb['password_match_txt'] = 'Die Passwörter stimmen überein.';
 ?>
-
diff --git a/interface/web/sites/lib/lang/de_webdav_user_list.lng b/interface/web/sites/lib/lang/de_webdav_user_list.lng
index 84b9fadcf87ac84f66a8e560783d2154ff0c2352..927bfbb2de89fb5f82a851ec4d8935dbd2d37b97 100644
--- a/interface/web/sites/lib/lang/de_webdav_user_list.lng
+++ b/interface/web/sites/lib/lang/de_webdav_user_list.lng
@@ -6,4 +6,3 @@ $wb['parent_domain_id_txt'] = 'Webseite';
 $wb['username_txt'] = 'Benutzername';
 $wb['add_new_record_txt'] = 'Neuen WebDAV Benutzer hinzufügen';
 ?>
-
diff --git a/interface/web/sites/lib/lang/en_database_admin_list.lng b/interface/web/sites/lib/lang/en_database_admin_list.lng
index fdafd68aee6dd4e939cb265456a9d3f716a00a41..e68d9935f37eb80920ce13b0d95915d47ed1b1ff 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 e87ad2a9b79e48679f09f39f4955753fdd4b76f2..13bb3040334b3df973e9932d92f91c8703b232e6 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 74bcbd9b7e4217866cb84f827cbd2835b714c341..47ca0cb41dada848b54efddf365e0a0364a88598 100644
--- a/interface/web/sites/lib/lang/en_web_backup_list.lng
+++ b/interface/web/sites/lib/lang/en_web_backup_list.lng
@@ -3,6 +3,7 @@ $wb['list_head_txt'] = 'Existing backups';
 $wb['date_txt'] = 'Date';
 $wb['backup_type_txt'] = 'Type';
 $wb['filename_txt'] = 'Backup file';
+$wb['filesize_txt'] = 'Filesize';
 $wb['restore_backup_txt'] = 'Restore';
 $wb['download_backup_txt'] = 'Download';
 $wb['download_info_txt'] = 'The backup file will be available for download in the backup folder of the website in a few minutes.';
@@ -10,7 +11,8 @@ $wb['restore_info_txt'] = 'Restore of the backup has been started. This action t
 $wb['restore_confirm_txt'] = 'Restoring will overwrite existing files in your website. Do you really want to restore this backup?';
 $wb['download_pending_txt'] = 'There is already a pending backup download job.';
 $wb['restore_pending_txt'] = 'There is already a pending backup restore job.';
+$wb['backup_type_mongodb'] = 'MongoDB Database';
 $wb['backup_type_mysql'] = 'MySQL Database';
 $wb['backup_type_web'] = 'Website files';
 
-?>
\ No newline at end of file
+?>
diff --git a/interface/web/sites/list/database.list.php b/interface/web/sites/list/database.list.php
index 56bf15dc40119b08b1174c1326ca6d4576346790..76dbec54fdd89b612d214048b6371539b351c0a0 100644
--- a/interface/web/sites/list/database.list.php
+++ b/interface/web/sites/list/database.list.php
@@ -70,6 +70,19 @@ $liste["item"][] = array(	'field'		=> "remote_access",
 							'width'		=> "",
 							'value'		=> array('y' => "<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 @@ $liste["item"][] = array(    'field'        => "database_name",
                             'width'        => "",
                             'value'        => "");
 
-?>
\ No newline at end of file
+?>
diff --git a/interface/web/sites/templates/aps_install_package.htm b/interface/web/sites/templates/aps_install_package.htm
index 4e0c9bd517e660ebbaf564b3b4c6288c26d3aedb..331a2a69661c156585ecfbd046ef3135677d353c 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 a7021656e0408606b95e9115b325307bd20b3d3b..d7fecea396a686b5dbe6863cc07025bf05945847 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 ec2d55fdb22b7ce4d25b6fe788e5be8b2cf8fd3f..15a8ae77cf4f8359f145a3d128e3a890849a8604 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 3248812e8b6ce25d5ffe40b23534efa69468548c..780897d080aeb5586374e6d8865fca1c2972fd41 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 ffc29e84ccfc916af0bb4456887642f47ca71753..062529fda339b15d151f38d882a795c15cabf18b 100644
--- a/interface/web/sites/web_domain_edit.php
+++ b/interface/web/sites/web_domain_edit.php
@@ -259,6 +259,53 @@ class page_action extends tform_actions {
             // add limits to template to be able to hide settings
             foreach($read_limits as $limit) $app->tpl->setVar($limit, $client[$limit]);
             
+            $sites_config = $app->getconf->get_global_config('sites');
+            if($sites_config['reseller_can_use_options']) {
+                // Directive Snippets
+                $php_directive_snippets = $app->db->queryAllRecords("SELECT * FROM directive_snippets WHERE type = 'php' AND active = 'y'");
+                $php_directive_snippets_txt = '';
+                if(is_array($php_directive_snippets) && !empty($php_directive_snippets)){
+                        foreach($php_directive_snippets as $php_directive_snippet){
+                            $php_directive_snippets_txt .= '<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 0322726bc40b644a67f7b01280d18c10f39e67ee..a2c9da0b739e1419cf85655b2b0883c5c46de1dc 100644
--- a/interface/web/sites/web_vhost_subdomain_edit.php
+++ b/interface/web/sites/web_vhost_subdomain_edit.php
@@ -164,6 +164,53 @@ class page_action extends tform_actions {
             // add limits to template to be able to hide settings
             foreach($read_limits as $limit) $app->tpl->setVar($limit, $client[$limit]);
             
+            $sites_config = $app->getconf->get_global_config('sites');
+            if($sites_config['reseller_can_use_options']) {
+                // Directive Snippets
+                $php_directive_snippets = $app->db->queryAllRecords("SELECT * FROM directive_snippets WHERE type = 'php' AND active = 'y'");
+                $php_directive_snippets_txt = '';
+                if(is_array($php_directive_snippets) && !empty($php_directive_snippets)){
+                        foreach($php_directive_snippets as $php_directive_snippet){
+                            $php_directive_snippets_txt .= '<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 @@ class page_action extends tform_actions {
 $page = new page_action;
 $page->onLoad();
 
-?>
\ No newline at end of file
+?>
diff --git a/interface/web/strengthmeter/lib/lang/de_strengthmeter.lng b/interface/web/strengthmeter/lib/lang/de_strengthmeter.lng
index dbfdce3aee32ce028a10a3bd75ef6c4e5f2b357d..52f10189e03885cde254069fd18602d0dba6b5c4 100644
--- a/interface/web/strengthmeter/lib/lang/de_strengthmeter.lng
+++ b/interface/web/strengthmeter/lib/lang/de_strengthmeter.lng
@@ -6,4 +6,3 @@ $wb['password_strength_3_txt'] = 'Gut';
 $wb['password_strength_4_txt'] = 'Stark';
 $wb['password_strength_5_txt'] = 'Sehr stark';
 ?>
-
diff --git a/interface/web/tools/import_plesk.php b/interface/web/tools/import_plesk.php
index a06505cbcbafc00aa162f38af2baf31cf7e1a3de..de8fe7a0b55cb442f0fb64119b256d22f0e0412e 100644
--- a/interface/web/tools/import_plesk.php
+++ b/interface/web/tools/import_plesk.php
@@ -122,6 +122,21 @@ function id_hash($id,$levels) {
     return $hash;
 }
 
+$COMMANDS = 'unset HISTFILE
+MYSERVER="192.168.1.10"
+MYSQL_EXPORT_USER="root"
+MYSQL_EXPORT_PASS=""
+MYSQL_IMPORT_USER="root"
+MYSQL_IMPORT_PASS=""
+';
+
+function add_command($cmd) {
+    global $COMMANDS;
+    
+    $COMMANDS .= $cmd . "\n";
+}
+
+
 /* TODO: document root rewrite on ftp account and other home directories */
 
 //* Check permissions for module
@@ -220,7 +235,7 @@ if(isset($_POST['start']) && $_POST['start'] == 1) {
             $params = array(
                             'company_name' => $entry['cname'],
                             'contact_name' => $entry['pname'],
-                            //'customer_no' => '',
+                            'customer_no' => 'Plesk' . $entry['id'],
                             'username' => $entry['login'],
                             'password' => $entry['password'],
                             'language' => substr($entry['locale'], 0, 2), // plesk stores as de-DE or en-US
@@ -294,7 +309,7 @@ if(isset($_POST['start']) && $_POST['start'] == 1) {
             
             if($old_client) {
                 $new_id = $old_client['client_id'];
-                $ok = $importer->client_update($session_id, $old_client['client_id'], $reseller_id, $params);
+                $ok = $importer->client_update($session_id, $old_client['client_id'], $reseller_id, array_merge($old_client, $params));
                 if($ok === false) {
                     
                 }
@@ -318,7 +333,7 @@ if(isset($_POST['start']) && $_POST['start'] == 1) {
         
         $web_config = $app->getconf->get_server_config($server_id,'web');
         
-        $domains = $exdb->queryAllRecords("SELECT d.id, d.cr_date, d.name, d.displayName, d.dns_zone_id, d.status, d.htype, d.real_size, d.cl_id, d.limits_id, d.params_id, d.guid, d.overuse, d.gl_filter, d.vendor_id, d.webspace_id, d.webspace_status, d.permissions_id, d.external_id FROM domains as d");
+        $domains = $exdb->queryAllRecords("SELECT d.id, d.cr_date, d.name, d.displayName, d.dns_zone_id, d.status, d.htype, d.real_size, d.cl_id, d.limits_id, d.params_id, d.guid, d.overuse, d.gl_filter, d.vendor_id, d.webspace_id, d.webspace_status, d.permissions_id, d.external_id FROM domains as d WHERE d.parentDomainId = 0");
         $dom_ftp_users = array();
         $domain_ids = array();
         $domain_roots = array();
@@ -456,6 +471,16 @@ if(isset($_POST['start']) && $_POST['start'] == 1) {
                 $msg .= "&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 @@ if(isset($_POST['start']) && $_POST['start'] == 1) {
                 $new_id = $old_domain['domain_id'];
                 $params = array_merge($old_domain, $params);
                 $msg .= "Found mail domain with id " . $new_id . ", updating it.<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 @@ if(isset($_POST['start']) && $_POST['start'] == 1) {
             }
         }
         
-        // subdomains in plesk are real vhosts, so we have to treat them as vhostsubdomains
-        $subdomains = $exdb->queryAllRecords("SELECT d.id, d.dom_id, d.name, d.displayName, d.sys_user_id, d.ssi, d.php, d.cgi, d.perl, d.python, d.fastcgi, d.miva, d.coldfusion, d.asp, d.asp_dot_net, d.ssl, d.same_ssl, d.php_handler_type, d.www_root, d.maintenance_mode, d.certificate_id FROM subdomains as d");
         $subdomain_ids = array();
         $subdomain_roots = array();
         $subdomain_owners = array();
+        
+        $subdomains = $exdb->queryAllRecords("SELECT d.id, d.cr_date, d.name, d.displayName, d.dns_zone_id, d.status, d.htype, d.real_size, d.cl_id, d.limits_id, d.params_id, d.guid, d.overuse, d.gl_filter, d.vendor_id, d.webspace_id, d.webspace_status, d.permissions_id, d.external_id, d.parentDomainId FROM domains as d WHERE d.parentDomainId != 0");
+        foreach($subdomains as $entry) {
+            $res = $exdb->query("SELECT d.dom_id, d.param, d.val FROM dom_param as d WHERE d.dom_id = '" . $entry['id'] . "'");
+            $options = array();
+            while($opt = $exdb->nextRecord()) {
+                $options[$opt['param']] = $opt['val'];
+            }
+            
+            $parent_domain = $exdb->queryOneRecord("SELECT d.id, d.cl_id, d.name FROM domains as d WHERE d.id = '" . $entry['parentDomainId'] . "'");
+            $redir_type = '';
+            $redir_path = '';
+            
+            if($entry['htype'] === 'std_fwd') {
+                // redirection
+                $redir = $exdb->queryOneRecord("SELECT f.dom_id, f.ip_address_id, f.redirect FROM forwarding as f WHERE f.dom_id = '" . $entry['id'] . "'");
+                $redir_type = 'R,L';
+                $redir_path = $redir['redirect'];
+            } elseif($entry['htype'] === 'vrt_hst') {
+                // default virtual hosting (vhost)
+            } else {
+                /* TODO: unknown type */
+            }
+            
+            $hosting = $exdb->queryOneRecord("SELECT h.dom_id, h.sys_user_id, h.ip_address_id, h.real_traffic, h.fp, h.fp_ssl, h.fp_enable, h.fp_adm, h.fp_pass, h.ssi, h.php, h.cgi, h.perl, h.python, h.fastcgi, h.miva, h.coldfusion, h.asp, h.asp_dot_net, h.ssl, h.webstat, h.same_ssl, h.traffic_bandwidth, h.max_connection, h.php_handler_type, h.www_root, h.maintenance_mode, h.certificate_id, s.login, s.account_id, s.home, s.shell, s.quota, s.mapped_to, a.password, a.type as `pwtype` FROM hosting as h LEFT JOIN sys_users as s ON (s.id = h.sys_user_id) LEFT JOIN accounts as a ON (s.account_id = a.id) WHERE h.dom_id = '" . $entry['id'] . "'");
+            if($hosting['sys_user_id']) {
+                $dom_ftp_users[] = array('id' => 0,
+                                         'dom_id' => $hosting['dom_id'],
+                                         'sys_user_id' => $hosting['sys_user_id'],
+                                         'login' => $hosting['login'],
+                                         'account_id' => $hosting['account_id'],
+                                         'home' => $hosting['home'],
+                                         'shell' => $hosting['shell'],
+                                         'quota' => $hosting['quota'],
+                                         'mapped_to' => $hosting['mapped_to'],
+                                         'password' => $hosting['password'],
+                                         'pwtype' => $hosting['pwtype']
+                                        );
+            }
+            
+            $phpmode = 'no';
+            if(get_option($hosting, 'php', 'false') === 'true') {
+                $mode = get_option($hosting, 'php_handler_type', 'module');
+                if($mode === 'module') $phpmode = 'mod';
+                else $phpmode = 'fast-cgi';
+                /* TODO: what other options could be in "php_handler_type"? */
+            }
+            /* TODO: plesk offers some more options:
+             * sys_user_id -> owner of files?
+             * ip_address_id - needed?
+             * fp - frontpage extensions
+             * miva - ?
+             * coldfusion
+             * asp
+             * asp_dot_net
+             * traffic_bandwidth
+             * max_connections
+             */
+            
+            $web_folder = $hosting['www_root'];
+            $web_folder = preg_replace('/^\/(var|srv)\/www\/(vhosts\/)?[^\/]+\/(.*)\/httpdocs.*/', '$3', $web_folder);
+            
+            //if(substr($web_folder, 0, 1) === '/') $web_folder = substr($web_folder, 1);
+            //if(substr($web_folder, -1, 1) === '/') $web_folder = substr($web_folder, 0, -1);
+            $params = array(
+                            'server_id' => $server_id,
+                            'ip_address' => '*',
+                            //'ipv6_address' => '',
+                            'domain' => $entry['name'],
+                            'web_folder' => $web_folder,
+                            'type' => 'vhostsubdomain', // can be vhost or alias
+                            'parent_domain_id' => $domain_ids[$entry['parentDomainId']],
+                            'vhost_type' => 'name', // or ip (-based)
+                            'hd_quota' => byte_to_mbyte(get_limit($limits, $entry['dom_id'], 'disk_space', -1)),
+                            'traffic_quota' => byte_to_mbyte(get_limit($limits, $entry['dom_id'], 'max_traffic', -1)),
+                            'cgi' => yes_no(get_option($hosting, 'cgi', 'false') === 'true' ? 1 : 0),
+                            'ssi' => yes_no(get_option($hosting, 'ssi', 'false') === 'true' ? 1 : 0),
+                            'suexec' => yes_no(1), // does plesk use this?!
+                            'errordocs' => get_option($options, 'apacheErrorDocs', 'false') === 'true' ? 1 : 0,
+                            'subdomain' => '', // plesk always uses this option
+                            'ssl' => yes_no(get_option($hosting, 'ssl', 'false') === 'true' ? 1 : 0),
+                            'php' => $phpmode,
+                            'fastcgi_php_version' => '', // plesk has no different php versions
+                            'ruby' => yes_no(0), // plesk has no ruby support
+                            'python' => yes_no(get_option($hosting, 'python', 'false') === 'true' ? 1 : 0),
+                            'active' => yes_no(($entry['status'] == 0 && get_option($hosting, 'maintenance_mode', 'false') !== 'true') ? 1 : 0),
+                            'redirect_type' => $redir_type,
+                            'redirect_path' => $redir_path,
+                            'seo_redirect' => '',
+                            'ssl_state' => $entry[''],
+                            'ssl_locality' => $entry[''],
+                            'ssl_organisation' => $entry[''],
+                            'ssl_organisation_unit' => $entry[''],
+                            'ssl_country' => $entry[''],
+                            'ssl_domain' => $entry[''],
+                            'ssl_request' => $entry[''],
+                            'ssl_cert' => $entry[''],
+                            'ssl_bundle' => $entry[''],
+                            'ssl_action' => $entry[''],
+                            'stats_password' => '',
+                            'stats_type' => get_option($hosting, 'webstat', 'webalizer') === 'awstats' ? 'awstats' : 'webalizer',
+                            'backup_interval' => 'none',
+                            'backup_copies' => 1,
+                            'allow_override' => 'All',
+                            'pm_process_idle_timeout' => 10,
+                            'pm_max_requests' => 0
+                            );
+
+            $old_domain = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain = '" . $entry['name'] . "'");
+            if(!$old_domain) $old_domain = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE CONCAT(subdomain, '.', domain) = '" . $entry['name'] . "'");
+            if($old_domain) {
+                $new_id = $old_domain['domain_id'];
+                $params = array_merge($old_domain, $params);
+                $msg .= "Found domain " . $entry['name'] . " with id " . $new_id . ", updating it.<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 @@ if(isset($_POST['start']) && $_POST['start'] == 1) {
              * max_connections
              */
             
+            $web_folder = $entry['www_root'];
+            $web_folder = preg_replace('/^\/(var|srv)\/www\/(vhosts\/)?[^\/]+\/(.*)\/httpdocs.*/', '$3', $web_folder);
+
             $params = array(
                             'server_id' => $server_id,
                             'ip_address' => '*',
                             //'ipv6_address' => '',
                             'domain' => $entry['name'] . '.' . $parent_domain['name'],
-                            'web_folder' => $entry['www_root'],
+                            'web_folder' => $web_folder,
                             'type' => 'vhostsubdomain', // can be vhost or alias
                             'parent_domain_id' => $domain_ids[$entry['dom_id']],
                             'vhost_type' => 'name', // or ip (-based)
@@ -671,6 +843,15 @@ if(isset($_POST['start']) && $_POST['start'] == 1) {
                 $msg .= "&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 @@ if(isset($_POST['start']) && $_POST['start'] == 1) {
                             'parent_domain_id' => $domain_ids[$entry['dom_id']],
                             'path' => $entry['path'],
                             'active' => 'y');
+            
+            $client_id = $plesk_ispc_ids[$domain_owners[$entry['dom_id']]];
+            
             $folder_id = 0;
             $check = $app->db->queryOneRecord('SELECT * FROM `web_folder` WHERE `parent_domain_id` = \'' . $domain_ids[$entry['dom_id']] . '\' AND `path` = \'' . $app->db->quote($entry['path']) . '\'');
             if($check) {
@@ -854,13 +1038,18 @@ if(isset($_POST['start']) && $_POST['start'] == 1) {
             $folder_ids[$entry['id']] = $folder_id;
         }
         
-        $pd_users = $exdb->queryAllRecords("SELECT u.id, u.login, u.account_id, u.pd_id, a.password FROM pd_users as u INNER JOIN accounts as a ON (a.id = u.account_id)");
-        foreach($protected_dirs as $entry) {
+        $pd_users = $exdb->queryAllRecords("SELECT u.id, u.login, u.account_id, u.pd_id, a.password, d.dom_id FROM pd_users as u INNER JOIN protected_dirs as d ON (d.id = u.pd_id) INNER JOIN accounts as a ON (a.id = u.account_id)");
+        foreach($pd_users as $entry) {
             $params = array('server_id' => $server_id,
                             'web_folder_id' => $folder_ids[$entry['pd_id']],
                             'username' => $entry['login'],
                             'password' => $entry['password'],
                             'active' => 'y');
+            if($entry['login'] == '' || !isset($folder_ids[$entry['pd_id']])) {
+                $msg .= 'Skipping Folder user because of missing data.<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 @@ if(isset($_POST['start']) && $_POST['start'] == 1) {
         $ftp_users = array_merge($ftp_users, $dom_ftp_users);
         foreach($ftp_users as $entry) {
             $parent_domain = $exdb->queryOneRecord("SELECT d.id, d.cl_id, d.name FROM domains as d WHERE d.id = '" . $entry['dom_id'] . "'");
-            
+            if(!$entry['id']) continue;
             $ispc_dom_id = $domain_ids[$entry['dom_id']];
             $client_id = $plesk_ispc_ids[$domain_owners[$entry['dom_id']]];
             if(!$client_id) $client_id = 0;
@@ -938,7 +1127,7 @@ if(isset($_POST['start']) && $_POST['start'] == 1) {
                     $msg .= "FTP Account conflicts with other domain!<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 @@ if(isset($_POST['start']) && $_POST['start'] == 1) {
                 $old_mail = $app->db->queryOneRecord("SELECT mailuser_id FROM mail_user WHERE email = '" . $entry['mail_name'] . "@" . $parent_domain['name'] . "'");
                 if($old_mail) {
                     $new_id = $old_mail['mailuser_id'];
-                    $ok = $importer->mail_user_update($session_id, $client_id, $new_id, $params);
+                    $ok = $importer->mail_user_update($session_id, $client_id, $new_id, array_merge($old_mail, $params));
                     if($ok === false) $msg .= "&nbsp; Error: " . $importer->getFault() . "<br />";
                 } else {
                     $new_id = $importer->mail_user_add($session_id, $client_id, $params);
@@ -1023,6 +1212,13 @@ if(isset($_POST['start']) && $_POST['start'] == 1) {
                     $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 @@ if(isset($_POST['start']) && $_POST['start'] == 1) {
                 $old_mail = $app->db->queryOneRecord("SELECT forwarding_id FROM mail_forwarding WHERE source = '" . $entry['mail_name'] . "@" . $parent_domain['name'] . "' AND destination = '" . $redir['address'] . "'");
                 if($old_mail) {
                     $new_id = $old_mail['forwarding_id'];
-                    $ok = $importer->mail_forward_update($session_id, $client_id, $new_id, $params);
+                    $ok = $importer->mail_forward_update($session_id, $client_id, $new_id, array_merge($old_mail, $params));
                     if($ok === false) $msg .= "&nbsp; Error: " . $importer->getFault() . "<br />";
                 } else {
                     $new_id = $importer->mail_forward_add($session_id, $client_id, $params);
@@ -1080,7 +1276,7 @@ if(isset($_POST['start']) && $_POST['start'] == 1) {
             $old_mail = $app->db->queryOneRecord("SELECT forwarding_id FROM mail_forwarding WHERE source = '" . $entry['alias'] . "@" . $parent_domain['name'] . "' AND destination = '" . $entry['mail_name'] . "@" . $parent_domain['name'] . "'");
             if($old_mail) {
                 $new_id = $old_mail['forwarding_id'];
-                $ok = $importer->mail_alias_update($session_id, $client_id, $new_id, $params);
+                $ok = $importer->mail_alias_update($session_id, $client_id, $new_id, array_merge($old_mail, $params));
                 if($ok === false) $msg .= "&nbsp; Error: " . $importer->getFault() . "<br />";
             } else {
                 $new_id = $importer->mail_alias_add($session_id, $client_id, $params);
@@ -1108,12 +1304,15 @@ if(isset($_POST['start']) && $_POST['start'] == 1) {
         
         $db_userids = array();
         
-        $db_users  = $exdb->queryAllRecords("SELECT u.id, u.login, u.account_id, u.db_id, a.password, a.type as `pwtype` FROM db_users as u LEFT JOIN accounts as a ON (a.id = u.account_id)");
+        $db_users  = $exdb->queryAllRecords("SELECT u.id, u.login, u.account_id, u.db_id, a.password, a.type as `pwtype`, d.dom_id FROM db_users as u INNER JOIN data_bases as d ON (d.id = u.db_id) LEFT JOIN accounts as a ON (a.id = u.account_id)");
         foreach($db_users as $db_user) {
             // database user
             $params = array('server_id' => $server_id,
                             'database_user' => $db_user['login'],
                             'database_password' => $db_user['password']);
+            
+            $client_id = $plesk_ispc_ids[$domain_owners[$db_user['dom_id']]];
+
             $check = $app->db->queryOneRecord('SELECT * FROM `web_database_user` WHERE `database_user` = \'' . $app->db->quote($db_user['login']) . '\'');
             $db_user_id = 0;
             if($check) {
@@ -1127,6 +1326,8 @@ if(isset($_POST['start']) && $_POST['start'] == 1) {
             if(!isset($db_userids[$db_user['db_id']])) $db_userids[$db_user['db_id']] = $db_user_id;
             $msg .= 'Created / updated database user: ' . $db_user['login'] . '<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 @@ if(isset($_POST['start']) && $_POST['start'] == 1) {
                             'active' => 'y',
                             'remote_ips' => '');
             
+            $client_id = $plesk_ispc_ids[$domain_owners[$database['dom_id']]];
+            
             $check = $app->db->queryOneRecord('SELECT * FROM `web_database` WHERE `database_name` = \'' . $app->db->quote($database['name']) . '\'');
             if($check) {
                 $ok = $importer->sites_database_update($session_id, $client_id, $check['database_id'], array_merge($check, $params));
@@ -1149,6 +1352,9 @@ if(isset($_POST['start']) && $_POST['start'] == 1) {
                 $importer->sites_database_add($session_id, $client_id, $params);
             }
             
+            add_command('for T in `mysql -u ${MYSQL_IMPORT_USER} -p${MYSQL_IMPORT_PASS} ' . $database['name'] . ' -e \'show tables\' | awk \'{ print $1}\' | grep -v \'^Tables\'` ; do echo "DROP TABLE \\`$T\\`" ; mysql -u ${MYSQL_IMPORT_USER} -p${MYSQL_IMPORT_PASS} ' . $database['name'] . ' -e "DROP TABLE \\`$T\\`" ; done');
+            add_command('mysqldump -cCQ --quote-names --hex-blob -h ${MYSERVER} -u ${MYSQL_EXPORT_USER} -p${MYSQL_EXPORT_PASS} ' . $database['name'] . ' | mysql -D ' . $database['name'] . ' -u ${MYSQL_IMPORT_USER} -p${MYSQL_IMPORT_PASS}');
+            
             $msg .= 'Created / updated database: ' . $database['name'] . '<br />';
          }
         
@@ -1187,6 +1393,13 @@ if(isset($_POST['start']) && $_POST['start'] == 1) {
         id, login, account_id, home, shell, quota, mapped_to
         
          */
+        add_command('unset MYSERVER');
+        add_command('unset MYSQL_EXPORT_USER');
+        add_command('unset MYSQL_EXPORT_PASS');
+        add_command('unset MYSQL_IMPORT_USER');
+        add_command('unset MYSQL_IMPORT_PASS');
+        add_command('# END');
+        file_put_contents('/tmp/plesk_import_commands.sh', $COMMANDS);
 	} else {
         $msg .= 'Connecting to external database failed!<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 0000000000000000000000000000000000000000..cb997941852c6b831c0bc6b9b50214eb9e183701
--- /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 62e0debc46f46e433e35c4f5b2a5e3b71b9b8c4a..5a1c501cb53be1563e0840e830cb3ad1242a071e 100644
--- a/interface/web/tools/lib/lang/de.lng
+++ b/interface/web/tools/lib/lang/de.lng
@@ -11,4 +11,3 @@ $wb['Import'] = 'Importieren';
 $wb['ISPConfig 3 mail'] = 'ISPConfig 3 E-Mail';
 $wb['PDNS Tupa'] = 'PowerDNS Tupa';
 ?>
-
diff --git a/interface/web/tools/lib/lang/de_import_ispconfig.lng b/interface/web/tools/lib/lang/de_import_ispconfig.lng
index eb3a8cf01276accf58246655f88b409ec204a92a..d8ae6cf1a7b3270abd977a50274b9d6ba9f93a61 100644
--- a/interface/web/tools/lib/lang/de_import_ispconfig.lng
+++ b/interface/web/tools/lib/lang/de_import_ispconfig.lng
@@ -21,4 +21,3 @@ $wb['import_forward_txt'] = 'Weiterleitungen importieren';
 $wb['import_user_filter_txt'] = 'Benutzer Filter importieren';
 $wb['import_spamfilter_txt'] = 'Spamfilter importieren';
 ?>
-
diff --git a/interface/web/tools/lib/lang/de_index.lng b/interface/web/tools/lib/lang/de_index.lng
index 0bfbcc7c1380a6109e51916771aa8083d19af232..8cde04515ecb9600722f4222cc0ee9de0df76db3 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 4ec5d9d8707f08faedc400dae8032dab35b6d8f6..2af008f7639d2806c904323588c719ba096c8605 100644
--- a/interface/web/tools/lib/lang/de_interface.lng
+++ b/interface/web/tools/lib/lang/de_interface.lng
@@ -5,4 +5,3 @@ $wb['language_txt'] = 'Sprache';
 $wb['startmodule_txt'] = 'Startmodul';
 $wb['app_theme_txt'] = 'Design';
 ?>
-
diff --git a/interface/web/tools/lib/lang/de_resync.lng b/interface/web/tools/lib/lang/de_resync.lng
index cf858b7df1d9c0601bfd67085f9fe66a0b0436cc..0387ae6265b891bf5fe5c9b1aca279842a5b2aa9 100644
--- a/interface/web/tools/lib/lang/de_resync.lng
+++ b/interface/web/tools/lib/lang/de_resync.lng
@@ -11,4 +11,3 @@ $wb['resync_dns_txt'] = 'DNS Einträge';
 $wb['btn_start_txt'] = 'Start';
 $wb['btn_cancel_txt'] = 'Zurück';
 ?>
-
diff --git a/interface/web/tools/lib/lang/de_tpl_default.lng b/interface/web/tools/lib/lang/de_tpl_default.lng
index 40cfdc02aa4546d76e1702da85a4c9550865162b..45de148b39202bf0eb7f6929fd70b0a1d0c1d38f 100644
--- a/interface/web/tools/lib/lang/de_tpl_default.lng
+++ b/interface/web/tools/lib/lang/de_tpl_default.lng
@@ -5,4 +5,3 @@ $wb['btn_cancel_txt'] = 'Zurück';
 $wb['list_head_txt'] = 'Standard Design Einstellungen';
 $wb['list_desc_txt'] = 'Spezielle Optionen des standard Designs ändern';
 ?>
-
diff --git a/interface/web/tools/lib/lang/de_usersettings.lng b/interface/web/tools/lib/lang/de_usersettings.lng
index 167a0f7dfe56bb5bd8a2b2c176883523dab9d3c2..908bbf6d5bfbf698ff9fd1aee3e931658f7a050b 100644
--- a/interface/web/tools/lib/lang/de_usersettings.lng
+++ b/interface/web/tools/lib/lang/de_usersettings.lng
@@ -10,4 +10,3 @@ $wb['repeat_password_txt'] = 'Passwort wiederholen';
 $wb['password_mismatch_txt'] = 'Die Passwörter stimmen nicht überein.';
 $wb['password_match_txt'] = 'Die Passwörter stimmen überein.';
 ?>
-
diff --git a/interface/web/tools/lib/lang/en_import_vpopmail.lng b/interface/web/tools/lib/lang/en_import_vpopmail.lng
new file mode 100644
index 0000000000000000000000000000000000000000..1e4dd281f73e4c5ef4a3c43f06a5e2347e1804b4
--- /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 0000000000000000000000000000000000000000..ade9476943acb525ef95e033c5fa1002800e0265
--- /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 a68f43f784cbf5f29a764ae78469ebfcb97b5d2a..cc6559f2204463355b516f9129f29c468cc4c2c2 100644
--- a/interface/web/vm/lib/lang/de.lng
+++ b/interface/web/vm/lib/lang/de.lng
@@ -5,4 +5,3 @@ $wb['VM Templates'] = 'VM Templates';
 $wb['IP addresses'] = 'IP Adressen';
 $wb['OpenVZ'] = 'OpenVZ';
 ?>
-
diff --git a/interface/web/vm/lib/lang/de_openvz_action.lng b/interface/web/vm/lib/lang/de_openvz_action.lng
index c0a5c0e5198f97168d25a9a5112eb17238ffa222..f40d2f28b1aa50485c994b8b2221986736ffe3fa 100644
--- a/interface/web/vm/lib/lang/de_openvz_action.lng
+++ b/interface/web/vm/lib/lang/de_openvz_action.lng
@@ -14,4 +14,3 @@ $wb['ostemplate_name_error'] = 'Der Name des OSTemplates enthält ungültige Zei
 $wb['ostemplate_name_unique_error'] = 'Es existiert bereits ein OSTemplate mit diesem Namen.';
 $wb['ostemplate_exec_txt'] = 'Der Befehl um das OSTemplate zu erstellen wurde an den VM-Host gesendet. Es kann einige Minuten dauern bis das OSTemplate verfügbar ist.';
 ?>
-
diff --git a/interface/web/vm/lib/lang/de_openvz_ip.lng b/interface/web/vm/lib/lang/de_openvz_ip.lng
index b7b1498b78b56189f1385ca1adc8ea6719e510c8..48c9a520c448c5d9a2cfc8a13db90ddb39d26d7d 100644
--- a/interface/web/vm/lib/lang/de_openvz_ip.lng
+++ b/interface/web/vm/lib/lang/de_openvz_ip.lng
@@ -7,4 +7,3 @@ $wb['ip_error_wrong'] = 'Bitte tragen Sie eine gültige IPv4-Adresse ein.';
 $wb['ip_error_unique'] = 'Diese IP-Adresse existiert bereits.';
 $wb['IP address'] = 'IP-Adresse';
 ?>
-
diff --git a/interface/web/vm/lib/lang/de_openvz_ip_list.lng b/interface/web/vm/lib/lang/de_openvz_ip_list.lng
index d214e951581cba008c4c788d4e495f3ad609cf13..f4302d813acc8a4eebaaf6193e017cc67abfa10a 100644
--- a/interface/web/vm/lib/lang/de_openvz_ip_list.lng
+++ b/interface/web/vm/lib/lang/de_openvz_ip_list.lng
@@ -5,4 +5,3 @@ $wb['vm_id_txt'] = 'VM';
 $wb['ip_address_txt'] = 'IP-Adresse';
 $wb['reserved_txt'] = 'Reserviert';
 ?>
-
diff --git a/interface/web/vm/lib/lang/de_openvz_ostemplate.lng b/interface/web/vm/lib/lang/de_openvz_ostemplate.lng
index e0fb9396db947750aa61817ec40696083f9b9d9a..8e4cfcb977fb52b136f96e937e737a0c9d856e31 100644
--- a/interface/web/vm/lib/lang/de_openvz_ostemplate.lng
+++ b/interface/web/vm/lib/lang/de_openvz_ostemplate.lng
@@ -9,4 +9,3 @@ $wb['template_name_error_empty'] = 'Template-Name ist leer.';
 $wb['template_file_error_empty'] = 'Template-Dateiname ist leer.';
 $wb['Template'] = 'Template';
 ?>
-
diff --git a/interface/web/vm/lib/lang/de_openvz_ostemplate_list.lng b/interface/web/vm/lib/lang/de_openvz_ostemplate_list.lng
index 09a174ee8a60a4a0b5c795eda1a1614d20d96ede..dff6bd2ded79845ca70f2a54f42b4fdb82680c8a 100644
--- a/interface/web/vm/lib/lang/de_openvz_ostemplate_list.lng
+++ b/interface/web/vm/lib/lang/de_openvz_ostemplate_list.lng
@@ -6,4 +6,3 @@ $wb['server_id_txt'] = 'Server';
 $wb['allservers_txt'] = 'Existiert auf allen Servern';
 $wb['ostemplate_id_txt'] = 'ID';
 ?>
-
diff --git a/interface/web/vm/lib/lang/de_openvz_template.lng b/interface/web/vm/lib/lang/de_openvz_template.lng
index 9e76ecaac447c67335f1a6971bfc201d7ff6a303..329a10601d4f2ef50d6b68ac70f5f858d2a49071 100644
--- a/interface/web/vm/lib/lang/de_openvz_template.lng
+++ b/interface/web/vm/lib/lang/de_openvz_template.lng
@@ -91,4 +91,3 @@ $wb['swappages_error_empty'] = 'Swappages ist leer.';
 $wb['Template'] = 'Template';
 $wb['Advanced'] = 'Erweitert';
 ?>
-
diff --git a/interface/web/vm/lib/lang/de_openvz_template_list.lng b/interface/web/vm/lib/lang/de_openvz_template_list.lng
index 682f2cc3c1b9c694d51a69eefacb30326fffae4d..9e32b341b50d4cc945cde1d75676f469ce0661f1 100644
--- a/interface/web/vm/lib/lang/de_openvz_template_list.lng
+++ b/interface/web/vm/lib/lang/de_openvz_template_list.lng
@@ -3,4 +3,3 @@ $wb['list_head_txt'] = 'OpenVZ Virtual Machine Template';
 $wb['active_txt'] = 'Aktiv';
 $wb['template_name_txt'] = 'Template-Name';
 ?>
-
diff --git a/interface/web/vm/lib/lang/de_openvz_vm.lng b/interface/web/vm/lib/lang/de_openvz_vm.lng
index b45a79fef26e5f724f0ccfdbcc5ec864790cde6f..c773885c69426bfc0bd1c044c15a86e10f5ed7fd 100644
--- a/interface/web/vm/lib/lang/de_openvz_vm.lng
+++ b/interface/web/vm/lib/lang/de_openvz_vm.lng
@@ -38,4 +38,3 @@ $wb['template_nameserver_error_empty'] = 'Nameserver ist leer.';
 $wb['Virtual server'] = 'Virtueller Server';
 $wb['Advanced'] = 'Erweitert';
 ?>
-
diff --git a/interface/web/vm/lib/lang/de_openvz_vm_list.lng b/interface/web/vm/lib/lang/de_openvz_vm_list.lng
index aecb4621e72f308f0959400f12ed52b41ac6fd21..0b3ac30c7fe26d7bb47cde5a456cd75e297e5f98 100644
--- a/interface/web/vm/lib/lang/de_openvz_vm_list.lng
+++ b/interface/web/vm/lib/lang/de_openvz_vm_list.lng
@@ -8,4 +8,3 @@ $wb['hostname_txt'] = 'Hostname';
 $wb['ip_address_txt'] = 'IP-Adresse';
 $wb['veid_txt'] = 'VEID';
 ?>
-
diff --git a/server/cron_daily.php b/server/cron_daily.php
index 19fe2ad5b3b143c482347cc68dd3590fba46c19f..1e0f238212357517bc8433f6655820d453aa3d2e 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 6cb922f67462666d3ee2599eec28e45cb5533fa5..f7944875f2b6a66b67b96c9e917ea45a5a43b5f0 100644
--- a/server/lib/classes/aps_installer.inc.php
+++ b/server/lib/classes/aps_installer.inc.php
@@ -445,11 +445,11 @@ class ApsInstaller extends ApsBase
                 $this->file_owner_user = $owner_res['system_user']; 
                 $this->file_owner_group = $owner_res['system_group'];
                 exec('chown -R '.$this->file_owner_user.':'.$this->file_owner_group.' '.escapeshellarg($this->local_installpath));
-				
-				//* Chown stats directory back
-				if(is_dir($this->local_installpath.'stats')) {
-					exec('chown -R root:root '.escapeshellarg($this->local_installpath.'stats'));
-				}
+
+		//* Chown stats directory back
+		if(is_dir($this->local_installpath.'stats')) {
+			exec('chown -R root:root '.escapeshellarg($this->local_installpath.'stats'));
+		}
             }
         }
         catch(Exception $e)
@@ -717,4 +717,4 @@ class ApsInstaller extends ApsBase
         unset($sxe);
     }
 }
-?>
\ No newline at end of file
+?>
diff --git a/server/lib/classes/monitor_tools.inc.php b/server/lib/classes/monitor_tools.inc.php
index 59c2c7ca4264f7ef0297fbeb4866fdea328fb791..42ef73ff8ec7ad435f446cc1baffed7002b5c5d1 100644
--- a/server/lib/classes/monitor_tools.inc.php
+++ b/server/lib/classes/monitor_tools.inc.php
@@ -455,6 +455,9 @@ class monitor_tools {
 					$logfile = '/var/log/fail2ban.log';
 				}
 				break;
+			case 'log_mongodb':
+					$logfile = '/var/log/mongodb/mongodb.log';
+				break;
 			case 'log_ispconfig':
 				if ($dist == 'debian') {
 					$logfile = $conf['ispconfig_log_dir'] . '/ispconfig.log';
diff --git a/server/mods-available/rescue_core_module.inc.php b/server/mods-available/rescue_core_module.inc.php
index 49012d50a0f7a82f1e8dbe39397e695340433ac1..d3d3621ad182e2590c97f91dd9bb80fb73210200 100644
--- a/server/mods-available/rescue_core_module.inc.php
+++ b/server/mods-available/rescue_core_module.inc.php
@@ -35,7 +35,7 @@ class rescue_core_module {
 	/* No actions at this time. maybe later... */
 	var $actions_available = array();
 	/**
-	 * The monitoring-Data of this module. 
+	 * The monitoring-Data of this module.
 	 * [0] are the actual data, [1] are the data 1 minnute ago [2] are teh data 2 minuntes...
 	 */
 	private $_monitoringData = array();
diff --git a/server/plugins-available/apache2_plugin.inc.php b/server/plugins-available/apache2_plugin.inc.php
index 2e1e80ce85ce455d87f34147707fa65a74ed4477..fb741dc48efa677a768e6f39de09b623cc97b423 100644
--- a/server/plugins-available/apache2_plugin.inc.php
+++ b/server/plugins-available/apache2_plugin.inc.php
@@ -88,8 +88,97 @@ class apache2_plugin {
 		
 		$app->plugins->registerEvent('ftp_user_delete',$this->plugin_name,'ftp_user_delete');
 		
+        $app->plugins->registerAction('php_ini_changed', $this->plugin_name, 'php_ini_changed');
 	}
+    
+    // check for php.ini changes
+    
+    
+    // Handle php.ini changes
+    function php_ini_changed($event_name, $data) {
+        global $app, $conf;
+        
+        $app->uses('getconf');
+		$web_config = $app->getconf->get_server_config($conf['server_id'], 'web');
+		$fastcgi_config = $app->getconf->get_server_config($conf['server_id'], 'fastcgi');
+        
+        /* $data contains an array with these keys:
+         * file -> full path of changed php_ini
+         * mode -> web_domain php modes to change (mod, fast-cgi, php-fpm or '' for all except 'mod')
+         * php_version -> php ini path that changed (additional php versions)
+         */
+        
+        $qrystr = "SELECT * FROM web_domain WHERE custom_php_ini != ''";
+        if($data['mode'] == 'mod') {
+            $qrystr .= " AND php = 'mod'";
+        } elseif($data['mode'] == 'fast-cgi') {
+            $qrystr .= " AND php = 'fast-cgi'";
+            if($data['php_version']) {
+                $qrystr .= " AND fastcgi_php_version LIKE '%:" . $app->db->quote($data['php_version']) . "'";
+            }
+        } elseif($data['mode'] == 'php-fpm') {
+            $qrystr .= " AND php = 'php-fpm'";
+            if($data['php_version']) {
+                $qrystr .= " AND fastcgi_php_version LIKE '%:" . $app->db->quote($data['php_version']) . ":%'";
+            }
+        } else {
+            $qrystr .= " AND php != 'mod' AND php != 'fast-cgi'";
+        }
+        
+        
+        //** Get all the webs
+        $web_domains = $app->db->queryAllRecords($qrystr);
+        foreach($web_domains as $web_data) {
+            $custom_php_ini_dir = $web_config['website_basedir'].'/conf/'.$web_data['system_user'];
+            $web_folder = 'web';
+            if($web_data['type'] == 'vhostsubdomain') {
+                $web_folder = $web_data['web_folder'];
+                $custom_php_ini_dir .= '_' . $web_folder;
+            }
+            if(!is_dir($web_config['website_basedir'].'/conf')) $app->system->mkdir($web_config['website_basedir'].'/conf');
+
 
+            if(!is_dir($custom_php_ini_dir)) $app->system->mkdir($custom_php_ini_dir);
+            $php_ini_content = '';
+            if($web_data['php'] == 'mod') {
+                $master_php_ini_path = $web_config['php_ini_path_apache'];
+            } else {
+                if($web_data['php'] == 'fast-cgi' && file_exists($fastcgi_config["fastcgi_phpini_path"])) {
+                    $master_php_ini_path = $fastcgi_config["fastcgi_phpini_path"];
+                } else {
+                    $master_php_ini_path = $web_config['php_ini_path_cgi'];
+                }
+            }
+            if($master_php_ini_path != '' && substr($master_php_ini_path,-7) == 'php.ini' && is_file($master_php_ini_path)) {
+                $php_ini_content .= $app->system->file_get_contents($master_php_ini_path)."\n";
+            }
+            $php_ini_content .= str_replace("\r",'',trim($web_data['custom_php_ini']));
+            $app->system->file_put_contents($custom_php_ini_dir.'/php.ini',$php_ini_content);
+            $app->log('Info: rewrote custom php.ini for web ' . $web_data['domain_id'] . ' (' . $web_data['domain'] . ').',LOGLEVEL_DEBUG);
+        }
+        
+        if(count($web_domains) > 0) {
+            //* We do not check the apache config here - we only changed the php.ini
+            //* Check if this is a chrooted setup
+            if($web_config['website_basedir'] != '' && @is_file($web_config['website_basedir'].'/etc/passwd')) {
+                $apache_chrooted = true;
+                $app->log('Info: Apache is chrooted.',LOGLEVEL_DEBUG);
+            } else {
+                $apache_chrooted = false;
+            }
+            
+            $app->log('Info: rewrote all php.ini and reloading apache now.',LOGLEVEL_DEBUG);
+            if($apache_chrooted) {
+                $app->services->restartServiceDelayed('httpd','restart');
+            } else {
+                // request a httpd reload when all records have been processed
+                $app->services->restartServiceDelayed('httpd','reload');
+            }
+        } else {
+            $app->log('Info: No webs affected by php.ini change.',LOGLEVEL_DEBUG);
+        }
+    }
+    
 	// Handle the creation of SSL certificates
 	function ssl($event_name,$data) {
 		global $app, $conf;
@@ -1339,23 +1428,23 @@ class apache2_plugin {
 			if(count($ipv4_ssl_alias_seo_redirects) > 0) $tmp_vhost_arr = $tmp_vhost_arr + array('alias_seo_redirects' => $ipv4_ssl_alias_seo_redirects);
 			$vhosts[] = $tmp_vhost_arr;
 			unset($tmp_vhost_arr, $ipv4_ssl_alias_seo_redirects);
-			$app->log('Enable SSL for: '.$domain,LOGLEVEL_DEBUG);
-		}
-		
-	//* Add vhost for IPv6 IP
-	if($data['new']['ipv6_address'] != '') {
-		if ($conf['serverconfig']['web']['vhost_rewrite_v6'] == 'y') {
-			if (isset($conf['serverconfig']['server']['v6_prefix']) && $conf['serverconfig']['server']['v6_prefix'] <> '') {
-				$explode_v6prefix=explode(':',$conf['serverconfig']['server']['v6_prefix']);
-				$explode_v6=explode(':',$data['new']['ipv6_address']);
-
-				for ( $i = 0; $i <= count($explode_v6prefix)-3; $i++ ) {
-				        $explode_v6[$i] = $explode_v6prefix[$i];
-				}
-				$data['new']['ipv6_address'] = implode(':',$explode_v6);
-			}
-		}
-			
+			$app->log('Enable SSL for: '.$domain,LOGLEVEL_DEBUG);
+		}
+		
+	//* Add vhost for IPv6 IP
+	if($data['new']['ipv6_address'] != '') {
+		if ($conf['serverconfig']['web']['vhost_rewrite_v6'] == 'y') {
+			if (isset($conf['serverconfig']['server']['v6_prefix']) && $conf['serverconfig']['server']['v6_prefix'] <> '') {
+				$explode_v6prefix=explode(':',$conf['serverconfig']['server']['v6_prefix']);
+				$explode_v6=explode(':',$data['new']['ipv6_address']);
+
+				for ( $i = 0; $i <= count($explode_v6prefix)-3; $i++ ) {
+				        $explode_v6[$i] = $explode_v6prefix[$i];
+				}
+				$data['new']['ipv6_address'] = implode(':',$explode_v6);
+			}
+		}
+			
 			$tmp_vhost_arr = array('ip_address' => '['.$data['new']['ipv6_address'].']', 'ssl_enabled' => 0, 'port' => 80);
 			if(count($rewrite_rules) > 0)  $tmp_vhost_arr = $tmp_vhost_arr + array('redirects' => $rewrite_rules);
 			if(count($alias_seo_redirects) > 0) $tmp_vhost_arr = $tmp_vhost_arr + array('alias_seo_redirects' => $alias_seo_redirects);
diff --git a/server/plugins-available/backup_plugin.inc.php b/server/plugins-available/backup_plugin.inc.php
index 78be959e6d0ae452c44d4cc7fe67c1be767923ba..5da8fc072ac510c1c4839593be2225a319295e35 100644
--- a/server/plugins-available/backup_plugin.inc.php
+++ b/server/plugins-available/backup_plugin.inc.php
@@ -80,7 +80,33 @@ class backup_plugin {
 					$app->log('cp '.$backup_dir.'/'.$backup['filename'].' '.$web['document_root'].'/backup/'.$backup['filename'],LOGLEVEL_DEBUG);
 				}
 			}
-			
+
+			//* Restore a MongoDB backup
+			if($action_name == 'backup_restore' && $backup['backup_type'] == 'mongodb') {
+				if(file_exists($backup_dir.'/'.$backup['filename'])) {
+					//$parts = explode('_',$backup['filename']);
+					//$db_name = $parts[1];
+					preg_match('@^db_(.+)_\d{4}-\d{2}-\d{2}_\d{2}-\d{2}\.tar\.gz$@', $backup['filename'], $matches);
+					$db_name = $matches[1];
+
+					// extract tar.gz archive
+					$dump_directory = str_replace(".tar.gz", "", $backup['filename']);
+					$extracted = "/usr/local/ispconfig/server/temp";
+					exec("tar -xzvf ".escapeshellarg($backup_dir.'/'.$backup['filename'])." --directory=".escapeshellarg($extracted));
+					$restore_directory = $extracted."/".$dump_directory."/".$db_name;
+
+					// mongorestore -h 127.0.0.1 -u root -p 123456 --authenticationDatabase admin -d c1debug --drop ./toRestore
+					$command = "mongorestore -h 127.0.0.1 --port 27017 -u root -p 123456 --authenticationDatabase admin -d ".$db_name." --drop ".escapeshellarg($restore_directory);
+					exec($command);
+					exec("rm -rf ".escapeshellarg($extracted."/".$dump_directory));
+				}
+
+				unset($clientdb_host);
+				unset($clientdb_user);
+				unset($clientdb_password);
+				$app->log('Restored MongoDB backup '.$backup_dir.'/'.$backup['filename'],LOGLEVEL_DEBUG);
+			}
+
 			//* Restore a mysql backup
 			if($action_name == 'backup_restore' && $backup['backup_type'] == 'mysql') {
 				//* Load sql dump into db
diff --git a/server/plugins-available/mongo_clientdb_plugin.inc.php b/server/plugins-available/mongo_clientdb_plugin.inc.php
new file mode 100644
index 0000000000000000000000000000000000000000..545fe9e4bd4875e14ba408ddfddc2b8551d39461
--- /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 0000000000000000000000000000000000000000..0fcdf13c16144561540590183d8a8c28f8cc0df8
--- /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 3415f6e6b933b8ead99434e0c483809df75f755e..2ead4904321edc18ad2ad9e7cbf864a4d1a968e5 100644
--- a/server/server.php
+++ b/server/server.php
@@ -170,6 +170,9 @@ if ($app->db->connect_error == NULL && $app->dbmaster->connect_error == NULL) {
 	$app->modules->loadModules('all');
 	//** Load the plugins that are in the plugins-enabled folder
 	$app->plugins->loadPlugins('all');
+	
+	$app->plugins->raiseAction('server_plugins_loaded', '');
+	
 	if ($tmp_num_records > 0) {
 		$app->log("Found $tmp_num_records changes, starting update process.", LOGLEVEL_DEBUG);
 		//** Go through the sys_datalog table and call the processing functions