diff --git a/install/sql/incremental/upd_dev_collection.sql b/install/sql/incremental/upd_dev_collection.sql
index b7db2767eda744d3f626494f52d4dd390243b33c..f6bd9982f798916b7a214dd7b878995730ac41a8 100644
--- a/install/sql/incremental/upd_dev_collection.sql
+++ b/install/sql/incremental/upd_dev_collection.sql
@@ -45,6 +45,7 @@ ALTER TABLE `web_domain` DROP COLUMN `enable_spdy`;
 -- was missing in incremental, inserted for fixing older installations
 ALTER TABLE `web_domain` ADD `folder_directive_snippets` TEXT NULL AFTER `https_port`;
 
+
 ALTER TABLE `web_domain` ADD `server_php_id` INT(11) UNSIGNED NOT NULL DEFAULT 0;
 
 UPDATE `web_domain` as w LEFT JOIN sys_group as g ON (g.groupid = w.sys_groupid) INNER JOIN `server_php` as p ON (w.fastcgi_php_version = CONCAT(p.name, ':', p.php_fastcgi_binary, ':', p.php_fastcgi_ini_dir) AND p.server_id IN (0, w.server_id) AND p.client_id IN (0, g.client_id)) SET w.server_php_id = p.server_php_id, w.fastcgi_php_version = '' WHERE 1;
@@ -70,3 +71,8 @@ ALTER TABLE `dns_soa` ADD `dnssec_algo` SET('NSEC3RSASHA1','ECDSAP256SHA256') NU
 UPDATE `dns_soa` SET `dnssec_algo` = 'NSEC3RSASHA1' WHERE `dnssec_algo` IS NULL AND dnssec_initialized = 'Y';
 UPDATE `dns_soa` SET `dnssec_algo` = 'ECDSAP256SHA256' WHERE `dnssec_algo` IS NULL AND dnssec_initialized = 'N';
 ALTER TABLE `dns_soa` CHANGE `dnssec_algo` `dnssec_algo` SET('NSEC3RSASHA1','ECDSAP256SHA256') CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'ECDSAP256SHA256';
+
+-- Fix issue #5635
+ALTER TABLE `client_template` CHANGE `ssh_chroot` `ssh_chroot` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '';
+ALTER TABLE `client_template` CHANGE `web_php_options` `web_php_options` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '';
+
diff --git a/install/sql/ispconfig3.sql b/install/sql/ispconfig3.sql
index 6b8d8101cb234d852965a152752609cf9c91c2c8..095a2d37de445c0fbeec796055d3fb685355fb64 100644
--- a/install/sql/ispconfig3.sql
+++ b/install/sql/ispconfig3.sql
@@ -330,7 +330,7 @@ CREATE TABLE `client_template` (
   `limit_web_ip` text,
   `limit_web_domain` int(11) NOT NULL default '-1',
   `limit_web_quota` int(11) NOT NULL default '-1',
-  `web_php_options` varchar(255) NOT NULL DEFAULT 'no',
+  `web_php_options` varchar(255) NOT NULL DEFAULT '',
   `limit_cgi` enum('n','y') NOT NULL DEFAULT 'n',
   `limit_ssi` enum('n','y') NOT NULL DEFAULT 'n',
   `limit_perl` enum('n','y') NOT NULL DEFAULT 'n',
@@ -345,7 +345,7 @@ CREATE TABLE `client_template` (
   `limit_web_aliasdomain` int(11) NOT NULL default '-1',
   `limit_ftp_user` int(11) NOT NULL default '-1',
   `limit_shell_user` int(11) NOT NULL default '0',
-  `ssh_chroot` varchar(255) NOT NULL DEFAULT 'no',
+  `ssh_chroot` varchar(255) NOT NULL DEFAULT '',
   `limit_webdav_user` int(11) NOT NULL default '0',
   `limit_backup` ENUM( 'n', 'y' ) NOT NULL DEFAULT 'y',
   `limit_directive_snippets` ENUM( 'n', 'y' ) NOT NULL DEFAULT 'n',
diff --git a/install/tpl/apache_apps.vhost.master b/install/tpl/apache_apps.vhost.master
index f65f47df90cf5df9868aecd50cb1d2a593f3fade..b07bb03f41e73d8cca958bd283b8ab0c23b96094 100644
--- a/install/tpl/apache_apps.vhost.master
+++ b/install/tpl/apache_apps.vhost.master
@@ -58,12 +58,6 @@
   <tmpl_var name="ssl_comment">SSLStaplingReturnResponderErrors Off
   </tmpl_if>
 
-<tmpl_if name='apache_version' op='>=' value='2.3.3' format='version'>
-<IfModule mod_ssl.c>
-  <tmpl_var name="ssl_comment">SSLStaplingCache shmcb:/var/run/ocsp(128000)
-</IfModule>
-</tmpl_if>
-
   <IfModule mod_headers.c>
 	RequestHeader unset Proxy early
   </IfModule>
@@ -127,6 +121,4 @@
   RewriteRule ^/rspamd/(.*) http://127.0.0.1:11334/$1 [P]
 {/tmpl_if}
 
-
-
 </VirtualHost>
diff --git a/install/tpl/apache_ispconfig.conf.master b/install/tpl/apache_ispconfig.conf.master
index ff744741ff2a7f67953e70c3f4b0350f00fb2911..688283f50ebd76108ba4e882f67ea4e6b8cfccd8 100644
--- a/install/tpl/apache_ispconfig.conf.master
+++ b/install/tpl/apache_ispconfig.conf.master
@@ -146,3 +146,28 @@ NameVirtualHost *:443
 NameVirtualHost {tmpl_var name="ip_address"}:{tmpl_var name="port"}
 </tmpl_loop>
 
+<tmpl_if name='apache_version' op='>=' value='2.3.3' format='version'>
+<IfModule mod_ssl.c>
+  <tmpl_var name="ssl_comment">SSLStaplingCache shmcb:/var/run/ocsp(128000)
+</IfModule>
+</tmpl_if>
+
+<Directory /var/www/php-cgi-scripts>
+  AllowOverride None
+  <tmpl_if name='apache_version' op='>' value='2.2' format='version'>
+  Require all denied
+  <tmpl_else>
+  Order Deny,Allow
+  Deny from all
+  </tmpl_if>
+</Directory>
+
+<Directory /var/www/php-fcgi-scripts>
+  AllowOverride None
+  <tmpl_if name='apache_version' op='>' value='2.2' format='version'>
+  Require all denied
+  <tmpl_else>
+  Order Deny,Allow
+  Deny from all
+  </tmpl_if>
+</Directory>
diff --git a/install/tpl/apache_ispconfig.vhost.master b/install/tpl/apache_ispconfig.vhost.master
index f90876170bbd6da883fb5fc9dee83a6ffb9b9096..cc177f5c480e4bb453867ea164a365603b945960 100644
--- a/install/tpl/apache_ispconfig.vhost.master
+++ b/install/tpl/apache_ispconfig.vhost.master
@@ -111,29 +111,3 @@ NameVirtualHost *:<tmpl_var name="vhost_port">
   <tmpl_var name="ssl_comment">SSLStaplingReturnResponderErrors Off
   </tmpl_if>
 </VirtualHost>
-
-<tmpl_if name='apache_version' op='>=' value='2.3.3' format='version'>
-<IfModule mod_ssl.c>
-  <tmpl_var name="ssl_comment">SSLStaplingCache shmcb:/var/run/ocsp(128000)
-</IfModule>
-</tmpl_if>
-
-<Directory /var/www/php-cgi-scripts>
-  AllowOverride None
-  <tmpl_if name='apache_version' op='>' value='2.2' format='version'>
-  Require all denied
-  <tmpl_else>
-  Order Deny,Allow
-  Deny from all
-  </tmpl_if>
-</Directory>
-
-<Directory /var/www/php-fcgi-scripts>
-  AllowOverride None
-  <tmpl_if name='apache_version' op='>' value='2.2' format='version'>
-  Require all denied
-  <tmpl_else>
-  Order Deny,Allow
-  Deny from all
-  </tmpl_if>
-</Directory>
diff --git a/install/tpl/system.ini.master b/install/tpl/system.ini.master
index ec6573d7b156a44a53e798310543adb86d1b8420..c42966a01c12bd90906d4795f79de1184eb3bf11 100644
--- a/install/tpl/system.ini.master
+++ b/install/tpl/system.ini.master
@@ -52,7 +52,6 @@ custom_login_link=
 dashboard_atom_url_admin=https://www.ispconfig.org/atom
 dashboard_atom_url_reseller=https://www.ispconfig.org/atom
 dashboard_atom_url_client=https://www.ispconfig.org/atom
-monitor_key=
 tab_change_discard=n
 tab_change_warning=n
 use_loadindicator=y
diff --git a/interface/lib/classes/tform_base.inc.php b/interface/lib/classes/tform_base.inc.php
index bd9f70a626ef308391f5a0f8ef3ae04a35507311..cbbb83ee9c7d8ee9860725c5650ecb80f1ace805 100644
--- a/interface/lib/classes/tform_base.inc.php
+++ b/interface/lib/classes/tform_base.inc.php
@@ -336,11 +336,11 @@ class tform_base {
 	}
 
 	//* If the parameter 'valuelimit' is set
-	function applyValueLimit($limit, $values, $current_value = '') {
+	function applyValueLimit($formtype, $limit, $values, $current_value = '') {
 
 		global $app;
 
-		// we mas have multiple limits, therefore we explode by ; first
+		// we may have multiple limits, therefore we explode by ; first
 		// Example: "system:sites:web_php_options;client:web_php_options"
 		$limits = explode(';',$limit);
 
@@ -399,18 +399,31 @@ class tform_base {
 				$tmp_key = $limit_parts[2];
 				$allowed = $allowed = explode(',',$tmp_conf[$tmp_key]);
 			}
+			
+			if($formtype == 'CHECKBOX') {
+				if(strstr($limit,'force_')) {
+					// Force the checkbox field to be ticked and enabled
+					if($allowed[0] == $values[1]) {
+						$values = 'on';
+					}
+				} else {
+					// Force the checkbox field to be unchecked and disabled
+					if($allowed[0] == $values[0]) {
+						$values = 'off';
+					}
+				}
+			} else {
+				// add the current value to the allowed array
+				$allowed[] = $current_value;
 
-			// add the current value to the allowed array
-			$allowed[] = $current_value;
-
-			// remove all values that are not allowed
-			$values_new = array();
-			foreach($values as $key => $val) {
-				if(in_array($key, $allowed)) $values_new[$key] = $val;
+				// remove all values that are not allowed
+				$values_new = array();
+				foreach($values as $key => $val) {
+					if(in_array($key, $allowed)) $values_new[$key] = $val;
+				}
+				$values = $values_new;
 			}
 
-			$values = $values_new;
-
 		}
 
 		return $values;
@@ -479,7 +492,7 @@ class tform_base {
 
 					// If a limitation for the values is set
 					if(isset($field['valuelimit']) && is_array($field["value"])) {
-						$field["value"] = $this->applyValueLimit($field['valuelimit'], $field["value"], $val);
+						$field["value"] = $this->applyValueLimit($field['formtype'], $field['valuelimit'], $field["value"], $val);
 					}
 
 					switch ($field['formtype']) {
@@ -521,8 +534,14 @@ class tform_base {
 						break;
 
 					case 'CHECKBOX':
-						$checked = ($val == $field['value'][1])?' CHECKED':'';
-						$new_record[$key] = "<input name=\"".$key."\" id=\"".$key."\" value=\"".$field['value'][1]."\" type=\"checkbox\" $checked />\r\n";
+						if($field["value"] == 'off') {
+							$new_record[$key] = "<input name=\"".$key."\" id=\"".$key."\" value=\"".$field['value'][1]."\" type=\"checkbox\" disabled=\"disabled\" />\r\n";
+						} elseif ($field["value"] == 'on') {
+							$new_record[$key] = "<input name=\"".$key."\" id=\"".$key."\" value=\"".$field['value'][1]."\" type=\"checkbox\" disabled=\"disabled\" CHECKED />\r\n";
+						} else {
+							$checked = ($val == $field['value'][1])?' CHECKED':'';
+							$new_record[$key] = "<input name=\"".$key."\" id=\"".$key."\" value=\"".$field['value'][1]."\" type=\"checkbox\" $checked />\r\n";
+						}
 						break;
 
 					case 'CHECKBOXARRAY':
@@ -614,7 +633,7 @@ class tform_base {
 
 				// If a limitation for the values is set
 				if(isset($field['valuelimit']) && is_array($field["value"])) {
-					$field["value"] = $this->applyValueLimit($field['valuelimit'], $field["value"], $field['default']);
+					$field["value"] = $this->applyValueLimit($field['formtype'], $field['valuelimit'], $field["value"], $field['default']);
 				}
 
 				switch ($field['formtype']) {
@@ -651,9 +670,15 @@ class tform_base {
 					break;
 
 				case 'CHECKBOX':
-					// $checked = (empty($field["default"]))?'':' CHECKED';
-					$checked = ($field["default"] == $field['value'][1])?' CHECKED':'';
-					$new_record[$key] = "<input name=\"".$key."\" id=\"".$key."\" value=\"".$field['value'][1]."\" type=\"checkbox\" $checked />\r\n";
+					if($field["value"] == 'off') {
+						$new_record[$key] = "<input name=\"".$key."\" id=\"".$key."\" value=\"".$field['value'][1]."\" type=\"checkbox\" disabled=\"disabled\" />\r\n";
+					} elseif ($field["value"] == 'on') {
+						$new_record[$key] = "<input name=\"".$key."\" id=\"".$key."\" value=\"".$field['value'][1]."\" type=\"checkbox\" disabled=\"disabled\" CHECKED />\r\n";
+					} else {
+						// $checked = (empty($field["default"]))?'':' CHECKED';
+						$checked = ($field["default"] == $field['value'][1])?' CHECKED':'';
+						$new_record[$key] = "<input name=\"".$key."\" id=\"".$key."\" value=\"".$field['value'][1]."\" type=\"checkbox\" $checked />\r\n";
+					}
 					break;
 
 				case 'CHECKBOXARRAY':
diff --git a/interface/lib/plugins/mail_user_filter_plugin.inc.php b/interface/lib/plugins/mail_user_filter_plugin.inc.php
index ccf58b853c0bb3b9da0224b527558507f4a62ead..4f24042b303bca819da67de91ec4ab6c72933b03 100644
--- a/interface/lib/plugins/mail_user_filter_plugin.inc.php
+++ b/interface/lib/plugins/mail_user_filter_plugin.inc.php
@@ -137,8 +137,13 @@ class mail_user_filter_plugin {
 			$content = '';
 			$content .= '### BEGIN FILTER_ID:'.$page_form->id."\n";
 
-			//$content .= 'require ["fileinto", "regex", "vacation"];'."\n";
-			
+			if($page_form->dataRecord["source"] == 'Header') {
+				$parts = explode(':',trim($page_form->dataRecord["searchterm"]));
+				$page_form->dataRecord["source"] = trim(array_shift($parts));
+				$page_form->dataRecord["searchterm"] = trim(implode(':',$parts));
+				unset($parts);
+			}
+
 			if($page_form->dataRecord["op"] == 'domain') {
 				$content .= 'if address :domain :is "'.strtolower($page_form->dataRecord["source"]).'" "'.$page_form->dataRecord["searchterm"].'" {'."\n";
 			} elseif ($page_form->dataRecord["op"] == 'localpart') {
@@ -152,33 +157,50 @@ class mail_user_filter_plugin {
 				$content .= 'if size :over '.intval($page_form->dataRecord["searchterm"]).$unit.' {'."\n";
 			} else {
 			
-				if($page_form->dataRecord["source"] == 'Header') {
-					$parts = explode(':',trim($page_form->dataRecord["searchterm"]));
-					$page_form->dataRecord["source"] = trim($parts[0]);
-					unset($parts[0]);
-					$page_form->dataRecord["searchterm"] = trim(implode(':',$parts));
-					unset($parts);
-				}
+				$content .= 'if header :regex    "'.strtolower($page_form->dataRecord["source"]).'" ["';
+
+				# special chars in sieve regex must be escaped with double-backslash
+				if($page_form->dataRecord["op"] == 'regex') {
+					# if providing a regex, special chars must already be quoted as intended;
+					# we will simply try to check for an obviously unquoted double-quote and handle that.
+					$patterns = array( '/([^\\\\]{2})"/', '/([^\\\\])\\\\"/' );
+					$replace  = array( '${1}\\\\\\\\"', '${1}\\\\\\\\"' );
+					$searchterm = preg_replace( $patterns, $replace, $page_form->dataRecord["searchterm"] );
+				} else {
+					$sieve_regex_escape = array(
+						'\\' => '\\\\\\',
+						'+' => '\\\\+',
+						'*' => '\\\\*',
+						'?' => '\\\\?',
+						'[' => '\\\\[',
+						'^' => '\\\\^',
+						']' => '\\\\]',
+						'$' => '\\\\$',
+						'(' => '\\\\(',
+						')' => '\\\\)',
+						'{' => '\\\\{',
+						'}' => '\\\\}',
+						'|' => '\\\\|',
+						'.' => '\\\\.',
+						# these (from preg_quote) should not be needed
+						#'=' => '\\\\=',
+						#'!' => '\\\\!',
+						#'<' => '\\\\<',
+						#'>' => '\\\\>',
+						#':' => '\\\\:',
+						#'-' => '\\\\-',
+						#'#' => '\\\\#',
+						);
+					$searchterm = strtr( $page_form->dataRecord["searchterm"], $sieve_regex_escape );
 
-				$content .= 'if header :regex    ["'.strtolower($page_form->dataRecord["source"]).'"] ["';
-
-				$searchterm = preg_quote($page_form->dataRecord["searchterm"]);
-				$searchterm = str_replace(
-					array(
-						'"',
-						'\\[',
-						'\\]'
-					),
-					array(
-						'\\"',
-						'\\\\[',
-						'\\\\]'
-					), $searchterm);
+				}
 
 				if($page_form->dataRecord["op"] == 'contains') {
 					$content .= ".*".$searchterm;
 				} elseif ($page_form->dataRecord["op"] == 'is') {
 					$content .= "^".$searchterm."$";
+				} elseif ($page_form->dataRecord["op"] == 'regex') {
+					$content .= $searchterm;
 				} elseif ($page_form->dataRecord["op"] == 'begins') {
 					$content .= "^".$searchterm."";
 				} elseif ($page_form->dataRecord["op"] == 'ends') {
diff --git a/interface/web/admin/form/system_config.tform.php b/interface/web/admin/form/system_config.tform.php
index 0e29902c33ed7a2886e70cb64a6f7551819e5958..d998c46015cc8c85b6b1bc44909c45f8becb89a7 100644
--- a/interface/web/admin/form/system_config.tform.php
+++ b/interface/web/admin/form/system_config.tform.php
@@ -595,12 +595,6 @@ $form["tabs"]['misc'] = array (
 			'default' => 'http://www.ispconfig.org/atom',
 			'value'  => ''
 		),
-		'monitor_key' => array (
-			'datatype' => 'VARCHAR',
-			'formtype' => 'TEXT',
-			'default' => '',
-			'value'  => ''
-		),
 		'tab_change_discard' => array (
 			'datatype' => 'VARCHAR',
 			'formtype' => 'CHECKBOX',
diff --git a/interface/web/admin/lib/lang/ar_system_config.lng b/interface/web/admin/lib/lang/ar_system_config.lng
index 495da61225f79edd9ee37810249121dba7e6d0a7..6715b22bfc4b0ae1b113b4788b32e182a757153d 100644
--- a/interface/web/admin/lib/lang/ar_system_config.lng
+++ b/interface/web/admin/lib/lang/ar_system_config.lng
@@ -27,7 +27,6 @@ $wb['enable_custom_login_txt'] = 'Allow custom login name';
 $wb['mailmailinglist_link_txt'] = 'Link to mailing list in Mailing list list';
 $wb['mailmailinglist_url_txt'] = 'Mailing list URL';
 $wb['admin_mail_txt'] = 'Administrators e-mail';
-$wb['monitor_key_txt'] = 'Monitor keyword';
 $wb['admin_name_txt'] = 'Administrators name';
 $wb['maintenance_mode_txt'] = 'Maintenance Mode';
 $wb['maintenance_mode_exclude_ips_txt'] = 'Exclude IP\'s from maintenance';
diff --git a/interface/web/admin/lib/lang/bg_system_config.lng b/interface/web/admin/lib/lang/bg_system_config.lng
index 25ad5d2cc5e1e504c65a3be5c355f7c564f61bb2..5511eb4a5acb7c541a2562cbb77087b6a1b6a877 100644
--- a/interface/web/admin/lib/lang/bg_system_config.lng
+++ b/interface/web/admin/lib/lang/bg_system_config.lng
@@ -19,7 +19,6 @@ $wb['new_domain_txt'] = 'HTML to create a new domain';
 $wb['webdavuser_prefix_txt'] = 'Webdav user prefix';
 $wb['webdavuser_prefix_error_regex'] = 'Неразрешени символи в името на webdav префикса.';
 $wb['webftp_url_txt'] = 'WebFTP URL';
-$wb['monitor_key_txt'] = 'Monitor keyword';
 $wb['dashboard_atom_url_admin_txt'] = 'Dashboard atom feed URL (admin)';
 $wb['dashboard_atom_url_reseller_txt'] = 'Dashboard atom feed URL (reseller)';
 $wb['dashboard_atom_url_client_txt'] = 'Dashboard atom feed URL (client)';
diff --git a/interface/web/admin/lib/lang/br_system_config.lng b/interface/web/admin/lib/lang/br_system_config.lng
index a6802651161e74c1befae13e99540ef629561c87..a3748d5c446eced0abc172f2d101401973a03c14 100644
--- a/interface/web/admin/lib/lang/br_system_config.lng
+++ b/interface/web/admin/lib/lang/br_system_config.lng
@@ -38,7 +38,6 @@ $wb['use_domain_module_hint'] = 'Se você usar este módulo, os clientes podem s
 $wb['new_domain_txt'] = 'Código HTML para criar um novo domínio';
 $wb['webftp_url_txt'] = 'URL do FTPweb';
 $wb['admin_mail_txt'] = 'Administrador(es) de e-mails';
-$wb['monitor_key_txt'] = 'Palavras reservadas a monitorar';
 $wb['admin_name_txt'] = 'Nome do administrador';
 $wb['maintenance_mode_txt'] = 'Modo manutenção';
 $wb['maintenance_mode_exclude_ips_txt'] = 'Exclude IP\'s from maintenance';
diff --git a/interface/web/admin/lib/lang/ca_system_config.lng b/interface/web/admin/lib/lang/ca_system_config.lng
index f40012120f60b186e9503f3680fa5a2102d6f424..81c2241c591de918876f406c35294b7be6708340 100644
--- a/interface/web/admin/lib/lang/ca_system_config.lng
+++ b/interface/web/admin/lib/lang/ca_system_config.lng
@@ -38,7 +38,6 @@ $wb['use_domain_module_hint'] = 'If you use the domain limits, your customers ca
 $wb['new_domain_txt'] = 'HTML to create a new domain';
 $wb['webftp_url_txt'] = 'WebFTP URL';
 $wb['admin_mail_txt'] = 'Administrator\'s e-mail';
-$wb['monitor_key_txt'] = 'Monitor keyword';
 $wb['admin_name_txt'] = 'Administrator\'s name';
 $wb['maintenance_mode_txt'] = 'Maintenance Mode';
 $wb['maintenance_mode_exclude_ips_txt'] = 'Exclude IP\'s from maintenance';
diff --git a/interface/web/admin/lib/lang/cz_system_config.lng b/interface/web/admin/lib/lang/cz_system_config.lng
index b7a7515403ae91f3acd6d7ccccdc43dbba820ce4..45ddabf38dd972f3441f893e6669d2210f03d0b7 100644
--- a/interface/web/admin/lib/lang/cz_system_config.lng
+++ b/interface/web/admin/lib/lang/cz_system_config.lng
@@ -28,7 +28,6 @@ $wb['admin_name_txt'] = 'Jméno Administrátora';
 $wb['enable_custom_login_txt'] = 'Povolit vlastní přihlašovací jméno u e-mailové schránky';
 $wb['mailmailinglist_link_txt'] = 'Ikonový odkaz na aplikaci E-mailových konferencí seznamu e-mailových konferencí';
 $wb['mailmailinglist_url_txt'] = 'E-mailové konference URL';
-$wb['monitor_key_txt'] = 'Monitor keyword';
 $wb['maintenance_mode_txt'] = 'Režim údržby';
 $wb['maintenance_mode_exclude_ips_txt'] = 'Exclude IP\'s from maintenance';
 $wb['maintenance_mode_exclude_ips_error_isip'] = 'One or more invalid IP addresses in maintenance mode exclude list. Must be a list of comma-separated IPv4 and/or IPv6 addresses.';
diff --git a/interface/web/admin/lib/lang/de_system_config.lng b/interface/web/admin/lib/lang/de_system_config.lng
index 58575617ad2a9eadb05eae0edf6c28a9841c2052..082c6fb3a14612d03a4a8fa84748bf0968273223 100644
--- a/interface/web/admin/lib/lang/de_system_config.lng
+++ b/interface/web/admin/lib/lang/de_system_config.lng
@@ -35,7 +35,6 @@ $wb['enable_custom_login_txt'] = 'Abweichenden Login Namen erlauben';
 $wb['mailmailinglist_link_txt'] = 'Link zur Mailingliste in der Mailinglisten Übersicht';
 $wb['mailmailinglist_url_txt'] = 'Mailinglisten URL';
 $wb['admin_mail_txt'] = 'Administrator E-Mail';
-$wb['monitor_key_txt'] = 'ISPConfig Monitor App Passwort';
 $wb['admin_name_txt'] = 'Name des Administrators';
 $wb['maintenance_mode_txt'] = 'Wartungsmodus';
 $wb['maintenance_mode_exclude_ips_txt'] = 'Exclude IP\'s from maintenance';
diff --git a/interface/web/admin/lib/lang/dk_system_config.lng b/interface/web/admin/lib/lang/dk_system_config.lng
index 6801b566c9aeea8cb574e8cca7d36596831db6f8..ed6837aaf0e198d7ea8e3a072c4a1dc9624b5c4a 100644
--- a/interface/web/admin/lib/lang/dk_system_config.lng
+++ b/interface/web/admin/lib/lang/dk_system_config.lng
@@ -33,7 +33,6 @@ $wb['use_domain_module_hint'] = 'Hvis du bruger domæne grænser, kan dine kunde
 $wb['new_domain_txt'] = 'HTML for at oprette et nyt domæne';
 $wb['webftp_url_txt'] = 'WebFTP URL';
 $wb['admin_mail_txt'] = 'Administratorer e-mail';
-$wb['monitor_key_txt'] = 'Monitor nøgleord';
 $wb['admin_name_txt'] = 'Administratorer navn';
 $wb['maintenance_mode_txt'] = 'Vedligeholdelsestilstand';
 $wb['maintenance_mode_exclude_ips_txt'] = 'Exclude IP\'s from maintenance';
diff --git a/interface/web/admin/lib/lang/el_system_config.lng b/interface/web/admin/lib/lang/el_system_config.lng
index f324e335b3c1af3e0eaab925683e7ebbdef0100b..54f8c49712998c95b4a71d5000e15f0237317db2 100644
--- a/interface/web/admin/lib/lang/el_system_config.lng
+++ b/interface/web/admin/lib/lang/el_system_config.lng
@@ -27,7 +27,6 @@ $wb['enable_custom_login_txt'] = 'Αποδοχή  προσαρμοσμένου 
 $wb['mailmailinglist_link_txt'] = 'Link to mailing list in Mailing list list';
 $wb['mailmailinglist_url_txt'] = 'URL της Mailing list ';
 $wb['admin_mail_txt'] = 'e-mail Διαχειριστών';
-$wb['monitor_key_txt'] = 'Monitor keyword';
 $wb['admin_name_txt'] = 'Όνομα Administrator';
 $wb['maintenance_mode_txt'] = 'Maintenance Mode';
 $wb['maintenance_mode_exclude_ips_txt'] = 'Exclude IP\'s from maintenance';
diff --git a/interface/web/admin/lib/lang/es_system_config.lng b/interface/web/admin/lib/lang/es_system_config.lng
index 4eeaa9abe994ca43dca157d771086938ab041280..fce27f40a3753623fa9a61a374b1e29755271621 100644
--- a/interface/web/admin/lib/lang/es_system_config.lng
+++ b/interface/web/admin/lib/lang/es_system_config.lng
@@ -45,7 +45,6 @@ $wb['maintenance_mode_exclude_ips_txt'] = 'Exclude IP\'s from maintenance';
 $wb['maintenance_mode_exclude_ips_error_isip'] = 'One or more invalid IP addresses in maintenance mode exclude list. Must be a list of comma-separated IPv4 and/or IPv6 addresses.';
 $wb['min_password_length_txt'] = 'Longitud mínima de la contraseña';
 $wb['min_password_strength_txt'] = 'Fortaleza mínima de la contraseña';
-$wb['monitor_key_txt'] = 'Palabra clave del Monitor';
 $wb['new_domain_txt'] = 'HTML para la creación de nuevos dominios';
 $wb['No'] = 'No';
 $wb['phpmyadmin_url_error_regex'] = 'URL inválida a phpMyAdmin';
diff --git a/interface/web/admin/lib/lang/fi_system_config.lng b/interface/web/admin/lib/lang/fi_system_config.lng
index 831eee9ff6d9837bf651037b583fdb6091f18b86..fbf2f67db1c8781eac9545358bae343ec2e41096 100644
--- a/interface/web/admin/lib/lang/fi_system_config.lng
+++ b/interface/web/admin/lib/lang/fi_system_config.lng
@@ -27,7 +27,6 @@ $wb['enable_custom_login_txt'] = 'Allow custom login name';
 $wb['mailmailinglist_link_txt'] = 'Link to mailing list in Mailing list list';
 $wb['mailmailinglist_url_txt'] = 'Mailing list URL';
 $wb['admin_mail_txt'] = 'Administrators e-mail';
-$wb['monitor_key_txt'] = 'Monitor keyword';
 $wb['admin_name_txt'] = 'Administrators name';
 $wb['maintenance_mode_txt'] = 'Maintenance Mode';
 $wb['maintenance_mode_exclude_ips_txt'] = 'Exclude IP\'s from maintenance';
diff --git a/interface/web/admin/lib/lang/fr_system_config.lng b/interface/web/admin/lib/lang/fr_system_config.lng
index a5270b879fa8d5284eb3f3a26db43f40d3f4957d..56d1b239f5068bec0f88242856ca6201ac8776df 100644
--- a/interface/web/admin/lib/lang/fr_system_config.lng
+++ b/interface/web/admin/lib/lang/fr_system_config.lng
@@ -27,7 +27,6 @@ $wb['use_domain_module_hint'] = 'Si vous utilisez ce module, vos utilisateurs pe
 $wb['new_domain_txt'] = 'HTML pour créer un nouveau domaine';
 $wb['webftp_url_txt'] = 'URL du WebFTP';
 $wb['admin_mail_txt'] = 'E-mail de l’administrateur';
-$wb['monitor_key_txt'] = 'Mot-clé du moniteur';
 $wb['admin_name_txt'] = 'Nom des administrateurs';
 $wb['maintenance_mode_txt'] = 'Maintenance Mode';
 $wb['maintenance_mode_exclude_ips_txt'] = 'Exclude IP\'s from maintenance';
diff --git a/interface/web/admin/lib/lang/hr_system_config.lng b/interface/web/admin/lib/lang/hr_system_config.lng
index 220ca7e90ca9482831ad458a7ab47deeaac8a712..cd396706745b1d820d712e49b5f01bee5732d791 100644
--- a/interface/web/admin/lib/lang/hr_system_config.lng
+++ b/interface/web/admin/lib/lang/hr_system_config.lng
@@ -20,7 +20,6 @@ $wb['use_domain_module_txt'] = 'Koristi modul Domene za dodavanje novih domena';
 $wb['use_domain_module_hint'] = 'Ukoliko koristite ovaj modul, vaši klijenti mogu izabrati samo domenu koju im je admin kreirao. Klijenti ne mogu slobodno mijenjati postavke domene. Morate se ponovno logirati nakon mijenjanja ove postavke da bi promjene bile vidljive.';
 $wb['new_domain_txt'] = 'HTML za kreiranje nove domene';
 $wb['webftp_url_txt'] = 'WebFTP URL';
-$wb['monitor_key_txt'] = 'Monitoriranje riječi';
 $wb['dashboard_atom_url_admin_txt'] = 'RSS URL za početnu stranicu (admin)';
 $wb['dashboard_atom_url_reseller_txt'] = 'RSS URL za početnu stranicu (reseller)';
 $wb['dashboard_atom_url_client_txt'] = 'RSS URL za početnu stranicu (client)';
diff --git a/interface/web/admin/lib/lang/hu_system_config.lng b/interface/web/admin/lib/lang/hu_system_config.lng
index 0069f31c07448ed4fcf4e2fb1f277604be3ccff9..c5484c67d15e1d9d0f200e0b02558c8a8e4f8803 100644
--- a/interface/web/admin/lib/lang/hu_system_config.lng
+++ b/interface/web/admin/lib/lang/hu_system_config.lng
@@ -28,7 +28,6 @@ $wb['mailmailinglist_url_txt'] = 'Mailing list URL';
 $wb['admin_mail_txt'] = 'Administrators e-mail';
 $wb['admin_name_txt'] = 'Administrators name';
 $wb['enable_custom_login_txt'] = 'Allow custom login name';
-$wb['monitor_key_txt'] = 'Monitor keyword';
 $wb['maintenance_mode_txt'] = 'Maintenance Mode';
 $wb['maintenance_mode_exclude_ips_txt'] = 'Exclude IP\'s from maintenance';
 $wb['maintenance_mode_exclude_ips_error_isip'] = 'One or more invalid IP addresses in maintenance mode exclude list. Must be a list of comma-separated IPv4 and/or IPv6 addresses.';
diff --git a/interface/web/admin/lib/lang/id_system_config.lng b/interface/web/admin/lib/lang/id_system_config.lng
index 539699da888897e43fee3bcce3425a3b5ed3a463..b0808f8835c5fcc782c5773443a2af6d2d1d8d4f 100644
--- a/interface/web/admin/lib/lang/id_system_config.lng
+++ b/interface/web/admin/lib/lang/id_system_config.lng
@@ -27,7 +27,6 @@ $wb['enable_custom_login_txt'] = 'Allow custom login name';
 $wb['mailmailinglist_link_txt'] = 'Link to mailing list in Mailing list list';
 $wb['mailmailinglist_url_txt'] = 'Mailing list URL';
 $wb['admin_mail_txt'] = 'Administrators e-mail';
-$wb['monitor_key_txt'] = 'Monitor keyword';
 $wb['admin_name_txt'] = 'Administrators name';
 $wb['maintenance_mode_txt'] = 'Maintenance Mode';
 $wb['maintenance_mode_exclude_ips_txt'] = 'Exclude IP\'s from maintenance';
diff --git a/interface/web/admin/lib/lang/it_system_config.lng b/interface/web/admin/lib/lang/it_system_config.lng
index 0c20959df29caa4f411234e58d0cc4b6e8fd6f0e..98be8b9a0b1ef4c9f0dbac0823ea9245db05f29b 100644
--- a/interface/web/admin/lib/lang/it_system_config.lng
+++ b/interface/web/admin/lib/lang/it_system_config.lng
@@ -20,7 +20,6 @@ $wb['new_domain_txt'] = 'HTML to create a new domain';
 $wb['webdavuser_prefix_txt'] = 'Webdav user prefix';
 $wb['webdavuser_prefix_error_regex'] = 'Char not allowed in webdav user prefix.';
 $wb['webftp_url_txt'] = 'WebFTP URL';
-$wb['monitor_key_txt'] = 'Monitor keyword';
 $wb['dashboard_atom_url_admin_txt'] = 'Dashboard atom feed URL (admin)';
 $wb['dashboard_atom_url_reseller_txt'] = 'Dashboard atom feed URL (reseller)';
 $wb['dashboard_atom_url_client_txt'] = 'Dashboard atom feed URL (client)';
diff --git a/interface/web/admin/lib/lang/ja_system_config.lng b/interface/web/admin/lib/lang/ja_system_config.lng
index f6b5c9e1a519ec3ba3f642bb94d5c3e11792ede1..c629f7cf92f138110e3e7f36b72fc00d02a10b1f 100644
--- a/interface/web/admin/lib/lang/ja_system_config.lng
+++ b/interface/web/admin/lib/lang/ja_system_config.lng
@@ -27,7 +27,6 @@ $wb['enable_custom_login_txt'] = 'Allow custom login name';
 $wb['mailmailinglist_link_txt'] = 'Link to mailing list in Mailing list list';
 $wb['mailmailinglist_url_txt'] = 'Mailing list URL';
 $wb['admin_mail_txt'] = 'Administrators e-mail';
-$wb['monitor_key_txt'] = 'Monitor keyword';
 $wb['admin_name_txt'] = 'Administrators name';
 $wb['maintenance_mode_txt'] = 'Maintenance Mode';
 $wb['maintenance_mode_exclude_ips_txt'] = 'Exclude IP\'s from maintenance';
diff --git a/interface/web/admin/lib/lang/nl_system_config.lng b/interface/web/admin/lib/lang/nl_system_config.lng
index 19eae464a354a780c17bdbd273c7241356292ca6..88dce5ac51db4a24d37b5e799487d6b6a641882e 100644
--- a/interface/web/admin/lib/lang/nl_system_config.lng
+++ b/interface/web/admin/lib/lang/nl_system_config.lng
@@ -30,7 +30,6 @@ $wb['enable_custom_login_txt'] = 'Allow custom login name';
 $wb['mailmailinglist_link_txt'] = 'Link to mailing list in Mailing list list';
 $wb['mailmailinglist_url_txt'] = 'Mailing list URL';
 $wb['admin_mail_txt'] = 'Administrators e-mail';
-$wb['monitor_key_txt'] = 'Monitor keyword';
 $wb['admin_name_txt'] = 'Administrators name';
 $wb['maintenance_mode_txt'] = 'Maintenance Mode';
 $wb['maintenance_mode_exclude_ips_txt'] = 'Exclude IP\'s from maintenance';
diff --git a/interface/web/admin/lib/lang/pl_system_config.lng b/interface/web/admin/lib/lang/pl_system_config.lng
index f44853ccb2b4ecb62bacdc99784592a4b5ff489e..184991d794f7af9d3dd720dd74e36dc556ea9cc5 100644
--- a/interface/web/admin/lib/lang/pl_system_config.lng
+++ b/interface/web/admin/lib/lang/pl_system_config.lng
@@ -26,7 +26,6 @@ $wb['enable_custom_login_txt'] = 'Zezwalaj na dowolnÄ… nazwÄ™ loginu';
 $wb['mailmailinglist_link_txt'] = 'Link do listy mailingowej na liście list mailingowych';
 $wb['mailmailinglist_url_txt'] = 'URL listy mailingowej';
 $wb['admin_mail_txt'] = 'E-Mail administratora';
-$wb['monitor_key_txt'] = 'Klucz monitora';
 $wb['admin_name_txt'] = 'Nazwa administratora';
 $wb['system_config_desc_txt'] = '';
 $wb['smtp_missing_admin_mail_txt'] = 'Podaj nazwę administratora oraz adres email jeżeli chcesz użyć wysyłanie maili przez SMTP.';
diff --git a/interface/web/admin/lib/lang/pt_system_config.lng b/interface/web/admin/lib/lang/pt_system_config.lng
index bbfedbf3a43f5b931b99ca8b6bea80a03a8afdb6..31b3163807a9b8684e8062646b067329eefffbcc 100644
--- a/interface/web/admin/lib/lang/pt_system_config.lng
+++ b/interface/web/admin/lib/lang/pt_system_config.lng
@@ -27,7 +27,6 @@ $wb['enable_custom_login_txt'] = 'Allow custom login name';
 $wb['mailmailinglist_link_txt'] = 'Link to mailing list in Mailing list list';
 $wb['mailmailinglist_url_txt'] = 'Mailing list URL';
 $wb['admin_mail_txt'] = 'Administrators e-mail';
-$wb['monitor_key_txt'] = 'Monitor keyword';
 $wb['admin_name_txt'] = 'Administrators name';
 $wb['maintenance_mode_txt'] = 'Maintenance Mode';
 $wb['maintenance_mode_exclude_ips_txt'] = 'Exclude IP\'s from maintenance';
diff --git a/interface/web/admin/lib/lang/ro_system_config.lng b/interface/web/admin/lib/lang/ro_system_config.lng
index a7756c737d8361c0147b26179f8fde2a29a06f90..d6f6c6e68370cfd101b2357da58fd4cbf7369ec2 100644
--- a/interface/web/admin/lib/lang/ro_system_config.lng
+++ b/interface/web/admin/lib/lang/ro_system_config.lng
@@ -27,7 +27,6 @@ $wb['enable_custom_login_txt'] = 'Allow custom login name';
 $wb['mailmailinglist_link_txt'] = 'Link to mailing list in Mailing list list';
 $wb['mailmailinglist_url_txt'] = 'Mailing list URL';
 $wb['admin_mail_txt'] = 'Administrators e-mail';
-$wb['monitor_key_txt'] = 'Monitor keyword';
 $wb['admin_name_txt'] = 'Administrators name';
 $wb['maintenance_mode_txt'] = 'Maintenance Mode';
 $wb['maintenance_mode_exclude_ips_txt'] = 'Exclude IP\'s from maintenance';
diff --git a/interface/web/admin/lib/lang/ru_system_config.lng b/interface/web/admin/lib/lang/ru_system_config.lng
index 37d9c263abf8e2ce1ac5e152a73804d0eb05157a..4505ca2089d90807e5a64c0cd8424f77342dc872 100644
--- a/interface/web/admin/lib/lang/ru_system_config.lng
+++ b/interface/web/admin/lib/lang/ru_system_config.lng
@@ -20,7 +20,6 @@ $wb['new_domain_txt'] = 'HTML текст, чтобы создать новый 
 $wb['webdavuser_prefix_txt'] = 'Префикс пользователя WebDAV';
 $wb['webdavuser_prefix_error_regex'] = 'Некорректный символ в префиксе пользователя WebDAV.';
 $wb['webftp_url_txt'] = 'URL WebFTP';
-$wb['monitor_key_txt'] = 'Monitor keyword';
 $wb['dashboard_atom_url_admin_txt'] = 'Dashboard atom feed URL (admin)';
 $wb['dashboard_atom_url_reseller_txt'] = 'Dashboard atom feed URL (reseller)';
 $wb['dashboard_atom_url_client_txt'] = 'Dashboard atom feed URL (client)';
diff --git a/interface/web/admin/lib/lang/se_system_config.lng b/interface/web/admin/lib/lang/se_system_config.lng
index 6768bc411887e561c57362e0eb73370bf7f0cd6a..3d29084a097bc06bcbcfc01052bacef53d466709 100644
--- a/interface/web/admin/lib/lang/se_system_config.lng
+++ b/interface/web/admin/lib/lang/se_system_config.lng
@@ -27,7 +27,6 @@ $wb['enable_custom_login_txt'] = 'Tillåt valfritt inloggningsnamn';
 $wb['mailmailinglist_link_txt'] = 'Länka till epostlista i listan över epostlistor';
 $wb['mailmailinglist_url_txt'] = 'Adress till epostlista';
 $wb['admin_mail_txt'] = 'Administratörens epostadress';
-$wb['monitor_key_txt'] = 'Bevakning nyckelord';
 $wb['admin_name_txt'] = 'Administratörens namn';
 $wb['maintenance_mode_txt'] = 'Underhållsläge';
 $wb['maintenance_mode_exclude_ips_txt'] = 'Exclude IP\'s from maintenance';
diff --git a/interface/web/admin/lib/lang/sk_system_config.lng b/interface/web/admin/lib/lang/sk_system_config.lng
index 85a96bf5bf1126e65cccd898d2a7bb2276197934..54edd2de4a5562481cdf344dba86684550576ee3 100644
--- a/interface/web/admin/lib/lang/sk_system_config.lng
+++ b/interface/web/admin/lib/lang/sk_system_config.lng
@@ -27,7 +27,6 @@ $wb['enable_custom_login_txt'] = 'Allow custom login name';
 $wb['mailmailinglist_link_txt'] = 'Link to mailing list in Mailing list list';
 $wb['mailmailinglist_url_txt'] = 'Mailing list URL';
 $wb['admin_mail_txt'] = 'Administrators e-mail';
-$wb['monitor_key_txt'] = 'Monitor keyword';
 $wb['admin_name_txt'] = 'Administrators name';
 $wb['maintenance_mode_txt'] = 'Maintenance Mode';
 $wb['maintenance_mode_exclude_ips_txt'] = 'Exclude IP\'s from maintenance';
diff --git a/interface/web/admin/lib/lang/tr_system_config.lng b/interface/web/admin/lib/lang/tr_system_config.lng
index b4cb7c8d11bc3db4633af003cc31f0ea0595de59..ad9c01bc588efcecfd815e8a034b000cf4e35bd6 100644
--- a/interface/web/admin/lib/lang/tr_system_config.lng
+++ b/interface/web/admin/lib/lang/tr_system_config.lng
@@ -38,7 +38,6 @@ $wb['use_domain_module_hint'] = 'Bu modül kullanıldığında, müşteriler yal
 $wb['new_domain_txt'] = 'Yeni etki alanı oluşturma HTML kodu';
 $wb['webftp_url_txt'] = 'WebFTP Adresi';
 $wb['admin_mail_txt'] = 'Yönetici E-posta Adresi';
-$wb['monitor_key_txt'] = 'İzlenecek Kelime';
 $wb['admin_name_txt'] = 'Yönetici Adı';
 $wb['maintenance_mode_txt'] = 'Bakım Kipi';
 $wb['maintenance_mode_exclude_ips_txt'] = 'Exclude IP\'s from maintenance';
diff --git a/interface/web/admin/templates/directive_snippets_edit.htm b/interface/web/admin/templates/directive_snippets_edit.htm
index 4506cafd634189b6be65cf278b1d11fa8909dc6f..b01e7e255c82007a9c974a794a84a0907ffc46d6 100644
--- a/interface/web/admin/templates/directive_snippets_edit.htm
+++ b/interface/web/admin/templates/directive_snippets_edit.htm
@@ -11,8 +11,8 @@
 			<div class="form-group">
                 <label for="snippet" class="col-sm-3 control-label">{tmpl_var name='snippet_txt'}</label>
                 <tmpl_if name='is_master'><div class="col-sm-9 col-text"><pre>{tmpl_var name='snippet'}</pre></div></tmpl_else><div class="col-sm-9"><textarea class="form-control" name="snippet" id="snippet" rows='10' cols='50'>{tmpl_var name='snippet'}</textarea>
-                &nbsp; Nginx {tmpl_var name='variables_txt'}: <a href="javascript:void(0);" class="addPlaceholder">{DOCROOT}</a>, <a href="javascript:void(0);" class="addPlaceholder">{FASTCGIPASS}</a>, <a href="javascript:void(0);" class="addPlaceholder">{PHPFALLBACKFASTCGIPASS}</a><br />
-				&nbsp; Apache {tmpl_var name='variables_txt'}: <a href="javascript:void(0);" class="addPlaceholder">{DOCROOT}</a>, <a href="javascript:void(0);" class="addPlaceholder">{DOCROOT_CLIENT}</a> <br />
+                &nbsp; Nginx {tmpl_var name='variables_txt'}: <a href="javascript:void(0);" class="addPlaceholder">{DOCROOT}</a>, <a href="javascript:void(0);" class="addPlaceholder">{DOMAIN}</a>, <a href="javascript:void(0);" class="addPlaceholder">{FASTCGIPASS}</a>, <a href="javascript:void(0);" class="addPlaceholder">{PHPFALLBACKFASTCGIPASS}</a><br />
+				&nbsp; Apache {tmpl_var name='variables_txt'}: <a href="javascript:void(0);" class="addPlaceholder">{DOCROOT}</a>, <a href="javascript:void(0);" class="addPlaceholder">{DOCROOT_CLIENT}</a>, <a href="javascript:void(0);" class="addPlaceholder">{DOMAIN}</a> <br />
 				&nbsp; PHP {tmpl_var name='variables_txt'}: <a href="javascript:void(0);" class="addPlaceholder">{WEBROOT}</a>
 				</div></tmpl_if>
             </div>
@@ -38,23 +38,23 @@
             </div>
 			<div class="form-group">
 				<label for="update_sites" class="col-sm-3 control-label">{tmpl_var name='update_sites_txt'}</label>
-				<div class="col-sm-9">{tmpl_var name='update_sites'}</div>        
-			</div> 
-            
+				<div class="col-sm-9">{tmpl_var name='update_sites'}</div>
+			</div>
+
         <input type="hidden" name="id" value="{tmpl_var name='id'}">
-            
+
         <div class="clear"><div class="right">
             <button class="btn btn-default formbutton-success" type="button" value="{tmpl_var name='btn_save_txt'}" data-submit-form="pageForm" data-form-action="admin/directive_snippets_edit.php">{tmpl_var name='btn_save_txt'}</button>
             <button class="btn btn-default formbutton-default" type="button" value="{tmpl_var name='btn_cancel_txt'}" data-load-content="admin/directive_snippets_list.php">{tmpl_var name='btn_cancel_txt'}</button>
         </div></div>
 <script language="JavaScript" type="text/javascript">
-		
+
     if(jQuery('#type').val() == 'nginx'){
         jQuery('.nginx:hidden').show();
     } else {
         jQuery('.nginx:visible').hide();
     }
-	
+
 	if (jQuery('#type').val() != 'nginx' && jQuery('#type').val() != 'apache') {
 		jQuery('#customer_viewable').closest('div.ctrlHolder:visible').hide();
 		jQuery('.php:visible').hide();
@@ -62,7 +62,7 @@
 		jQuery('#customer_viewable').closest('div.ctrlHolder:hidden').show();
 		jQuery('.php:hidden').show();
 	}
-    
+
     jQuery('#type').change(function(){
 		if (jQuery(this).val() != 'nginx' && jQuery(this).val() != 'apache') {
 			jQuery('#customer_viewable').closest('div.ctrlHolder:visible').hide();
@@ -77,5 +77,5 @@
             jQuery('.nginx:visible').hide();
         }
     });
-			
+
 </script>
diff --git a/interface/web/admin/templates/system_config_misc_edit.htm b/interface/web/admin/templates/system_config_misc_edit.htm
index 31fafdc5453b9d403718f482212d441413d652c4..356d2e1b252e6803a3dd94c6f32f9f3c51e912f0 100644
--- a/interface/web/admin/templates/system_config_misc_edit.htm
+++ b/interface/web/admin/templates/system_config_misc_edit.htm
@@ -1,204 +1,229 @@
-			<!--
-			<div class="form-group">
-                <label for="file" class="col-sm-3 control-label">{tmpl_var name='logo_txt'}</label>
-                <div class="col-sm-3 col-text"><input name="file" id="file" size="30" type="file" class="fileUpload" /></div><div class="col-sm-6"><button class="btn btn-default formbutton-success" type="button" value="{tmpl_var name='btn_save_txt'}" id="start_upload">{tmpl_var name='upload_txt'}</button></div>
-            </div>
-			<div class="form-group">
-                <label for="dashboard_atom_url_admin" class="col-sm-3 control-label">{tmpl_var name='used_logo_txt'}</label>
-                <div class="col-sm-9" id="used_logo">{tmpl_var name='used_logo'}</div>
-			</div>-->
-            <div class="form-group">
-                <label for="page_title" class="col-sm-3 control-label">{tmpl_var name='company_name_txt'}</label>
-                <div class="col-sm-9"><input type="text" name="company_name" id="company_name" value="{tmpl_var name='company_name'}" size="" maxlength="" class="form-control" /></div></div>
-            <div class="form-group">
-                <label for="page_title" class="col-sm-3 control-label">{tmpl_var name='custom_login_text_txt'}</label>
-                <div class="col-sm-9"><input type="text" name="custom_login_text" id="custom_login_text" value="{tmpl_var name='custom_login_text'}" size="" maxlength="" class="form-control" /></div></div>
-            <div class="form-group">
-                <label for="page_title" class="col-sm-3 control-label">{tmpl_var name='custom_login_link_txt'}</label>
-                <div class="col-sm-9"><input type="text" name="custom_login_link" id="custom_login_link" value="{tmpl_var name='custom_login_link'}" size="" maxlength="" class="form-control" /></div></div>
-            <div class="form-group">
-                <label for="dashboard_atom_url_admin" class="col-sm-3 control-label">{tmpl_var name='dashboard_atom_url_admin_txt'}</label>
-                <div class="col-sm-9"><input type="text" name="dashboard_atom_url_admin" id="dashboard_atom_url_admin" value="{tmpl_var name='dashboard_atom_url_admin'}" size="" maxlength="" class="form-control" /></div></div>
-            <div class="form-group">
-                <label for="dashboard_atom_url_reseller" class="col-sm-3 control-label">{tmpl_var name='dashboard_atom_url_reseller_txt'}</label>
-                <div class="col-sm-9"><input type="text" name="dashboard_atom_url_reseller" id="dashboard_atom_url_reseller" value="{tmpl_var name='dashboard_atom_url_reseller'}" size="" maxlength="" class="form-control" /></div></div>
-            <div class="form-group">
-                <label for="dashboard_atom_url_client" class="col-sm-3 control-label">{tmpl_var name='dashboard_atom_url_client_txt'}</label>
-                <div class="col-sm-9"><input type="text" name="dashboard_atom_url_client" id="dashboard_atom_url_client" value="{tmpl_var name='dashboard_atom_url_client'}" size="" maxlength="" class="form-control" /></div></div>
-            <div class="form-group">
-                <label for="monitor_key" class="col-sm-3 control-label">{tmpl_var name='monitor_key_txt'}</label>
-                <div class="col-sm-9"><input type="text" name="monitor_key" id="monitor_key" value="{tmpl_var name='monitor_key'}" size="" maxlength="" class="form-control" /></div></div>
-			<div class="form-group">
-                <label for="admin_dashlets_left" class="col-sm-3 control-label">{tmpl_var name='admin_dashlets_left_txt'}</label>
-                <div class="col-sm-9"><input type="text" name="admin_dashlets_left" id="admin_dashlets_left" value="{tmpl_var name='admin_dashlets_left'}" size="" maxlength="" class="form-control" />{tmpl_var name='available_dashlets_note_txt'} {tmpl_var name="available_dashlets_txt"}
-            </div></div>
-			<div class="form-group">
-                <label for="admin_dashlets_right" class="col-sm-3 control-label">{tmpl_var name='admin_dashlets_right_txt'}</label>
-                <div class="col-sm-9"><input type="text" name="admin_dashlets_right" id="admin_dashlets_right" value="{tmpl_var name='admin_dashlets_right'}" size="" maxlength="" class="form-control" />{tmpl_var name='available_dashlets_note_txt'} {tmpl_var name="available_dashlets_txt"}
-            </div></div>
-			<div class="form-group">
-                <label for="reseller_dashlets_left" class="col-sm-3 control-label">{tmpl_var name='reseller_dashlets_left_txt'}</label>
-                <div class="col-sm-9"><input type="text" name="reseller_dashlets_left" id="reseller_dashlets_left" value="{tmpl_var name='reseller_dashlets_left'}" size="" maxlength="" class="form-control" />{tmpl_var name='available_dashlets_note_txt'} {tmpl_var name="available_dashlets_txt"}
-            </div></div>
-			<div class="form-group">
-                <label for="reseller_dashlets_right" class="col-sm-3 control-label">{tmpl_var name='reseller_dashlets_right_txt'}</label>
-                <div class="col-sm-9"><input type="text" name="reseller_dashlets_right" id="reseller_dashlets_right" value="{tmpl_var name='reseller_dashlets_right'}" size="" maxlength="" class="form-control" />{tmpl_var name='available_dashlets_note_txt'} {tmpl_var name="available_dashlets_txt"}
-            </div></div>
-			<div class="form-group">
-                <label for="client_dashlets_left" class="col-sm-3 control-label">{tmpl_var name='client_dashlets_left_txt'}</label>
-                <div class="col-sm-9"><input type="text" name="client_dashlets_left" id="client_dashlets_left" value="{tmpl_var name='client_dashlets_left'}" size="" maxlength="" class="form-control" />{tmpl_var name='available_dashlets_note_txt'} {tmpl_var name="available_dashlets_txt"}
-            </div></div>
-			<div class="form-group">
-                <label for="client_dashlets_right" class="col-sm-3 control-label">{tmpl_var name='client_dashlets_right_txt'}</label>
-                <div class="col-sm-9"><input type="text" name="client_dashlets_right" id="client_dashlets_right" value="{tmpl_var name='client_dashlets_right'}" size="" maxlength="" class="form-control" />{tmpl_var name='available_dashlets_note_txt'} {tmpl_var name="available_dashlets_txt"}
-            </div></div>
-            <div class="form-group">
-                <label class="col-sm-3 control-label">{tmpl_var name='tab_change_discard_txt'}</label>
-                <div class="col-sm-9">
-                    {tmpl_var name='tab_change_discard'}
-                </div>
-            </div>
-            <div class="form-group">
-                <label class="col-sm-3 control-label">{tmpl_var name='tab_change_warning_txt'}</label>
-                <div class="col-sm-9">
-                    {tmpl_var name='tab_change_warning'}<br/>{tmpl_var name='tab_change_warning_note_txt'}
-                </div>
-            </div>
-			<div class="form-group">
-                <label class="col-sm-3 control-label">{tmpl_var name='use_loadindicator_txt'}</label>
-                <div class="col-sm-9">
-                    {tmpl_var name='use_loadindicator'}<br/>{tmpl_var name='f5_to_reload_js_txt'}
-                </div>
-            </div>
-			<div class="form-group">
-                <label class="col-sm-3 control-label">{tmpl_var name='use_combobox_txt'}</label>
-                <div class="col-sm-9">
-                    {tmpl_var name='use_combobox'}<br/>{tmpl_var name='f5_to_reload_js_txt'}
-                </div>
-            </div>
-			<div class="form-group">
-                <label for="customer_no_template" class="col-sm-3 control-label">{tmpl_var name='customer_no_template_txt'}</label>
-                <div class="col-sm-9"><input type="text" name="customer_no_template" id="customer_no_template" value="{tmpl_var name='customer_no_template'}" class="form-control" /></div></div>
-			<div class="form-group">
-                <label for="customer_no_start" class="col-sm-3 control-label">{tmpl_var name='customer_no_start_txt'}</label>
-                <div class="col-sm-9"><input type="text" name="customer_no_start" id="customer_no_start" value="{tmpl_var name='customer_no_start'}" class="form-control" /></div></div>
-			<div class="form-group">
-                <label for="customer_no_counter" class="col-sm-3 control-label">{tmpl_var name='customer_no_counter_txt'}</label>
-                <div class="col-sm-9"><input type="text" name="customer_no_counter" id="customer_no_counter" value="{tmpl_var name='customer_no_counter'}" class="form-control" /></div></div>
-			<div class="form-group">
-                <label for="session_timeout" class="col-sm-3 control-label">{tmpl_var name='session_timeout_txt'}</label>
-                <div class="col-sm-9"><input type="text" name="session_timeout" id="session_timeout" value="{tmpl_var name='session_timeout'}" class="form-control" /></div></div>
-			<div class="form-group">
-                <label class="col-sm-3 control-label">{tmpl_var name='session_allow_endless_txt'}</label>
-                <div class="col-sm-9">
-                    {tmpl_var name='session_allow_endless'}
-                </div>
-            </div>
-            <div class="form-group">
-                <label for="min_password_length" class="col-sm-3 control-label">{tmpl_var name='min_password_length_txt'}</label>
-                <div class="col-sm-9"><input type="text" name="min_password_length" id="min_password_length" value="{tmpl_var name='min_password_length'}" class="form-control" /></div></div>
-            <div class="form-group">
-                <label for="min_password_strength" class="col-sm-3 control-label">{tmpl_var name='min_password_strength_txt'}</label>
-                <div class="col-sm-9"><select name="min_password_strength" id="min_password_strength" class="form-control">
-                    {tmpl_var name='min_password_strength'}
-                </select></div>
-            </div>
-            <div class="form-group">
-                <label for="ssh_authentication" class="col-sm-3 control-label">{tmpl_var name='ssh_authentication_txt'}</label>
-                <div class="col-sm-9"><select name="ssh_authentication" id="ssh_authentication" class="form-control">
-                    {tmpl_var name='ssh_authentication'}
-                </select></div>
-            </div>
-			<div class="form-group">
-                <label class="col-sm-3 control-label">{tmpl_var name='maintenance_mode_txt'}</label>
-                <div class="col-sm-9">
-                    {tmpl_var name='maintenance_mode'}
-                </div>
-            </div>
-            <div class="form-group">
-                <label class="col-sm-3 control-label">{tmpl_var name='maintenance_mode_exclude_ips_txt'}</label>
-                <div class="col-sm-9">
-                    <input type="text" name="maintenance_mode_exclude_ips" id="maintenance_mode_exclude_ips" value="{tmpl_var name='maintenance_mode_exclude_ips'}" class="form-control" />
-                </div>
-            </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><tmpl_var name="error_txt"></h3><ol><tmpl_var name="error"></ol></div>
-            </tmpl_if>
-        
-        <input type="hidden" name="id" id="id" value="{tmpl_var name='id'}">
-        <div class="clear"><div class="right">
-            <button class="btn btn-default formbutton-success" type="button" value="{tmpl_var name='btn_save_txt'}" data-submit-form="pageForm" data-form-action="admin/system_config_edit.php">{tmpl_var name='btn_save_txt'}</button>
-            <button class="btn btn-default formbutton-default" type="button" value="{tmpl_var name='btn_cancel_txt'}" data-load-content="admin/server_list.php">{tmpl_var name='btn_cancel_txt'}</button>
-        </div></div>
+<!--
+  <div class="form-group">
+               <label for="file" class="col-sm-3 control-label">{tmpl_var name='logo_txt'}</label>
+               <div class="col-sm-3 col-text"><input name="file" id="file" size="30" type="file" class="fileUpload" /></div><div class="col-sm-6"><button class="btn btn-default formbutton-success" type="button" value="{tmpl_var name='btn_save_txt'}" id="start_upload">{tmpl_var name='upload_txt'}</button></div>
+           </div>
+  <div class="form-group">
+               <label for="dashboard_atom_url_admin" class="col-sm-3 control-label">{tmpl_var name='used_logo_txt'}</label>
+               <div class="col-sm-9" id="used_logo">{tmpl_var name='used_logo'}</div>
+  </div>-->
+<div class="form-group">
+  <label for="page_title" class="col-sm-3 control-label">{tmpl_var name='company_name_txt'}</label>
+  <div class="col-sm-9"><input type="text" name="company_name" id="company_name" value="{tmpl_var name='company_name'}" size="" maxlength="" class="form-control" /></div>
+</div>
+<div class="form-group">
+  <label for="page_title" class="col-sm-3 control-label">{tmpl_var name='custom_login_text_txt'}</label>
+  <div class="col-sm-9"><input type="text" name="custom_login_text" id="custom_login_text" value="{tmpl_var name='custom_login_text'}" size="" maxlength="" class="form-control" /></div>
+</div>
+<div class="form-group">
+  <label for="page_title" class="col-sm-3 control-label">{tmpl_var name='custom_login_link_txt'}</label>
+  <div class="col-sm-9"><input type="text" name="custom_login_link" id="custom_login_link" value="{tmpl_var name='custom_login_link'}" size="" maxlength="" class="form-control" /></div>
+</div>
+<div class="form-group">
+  <label for="dashboard_atom_url_admin" class="col-sm-3 control-label">{tmpl_var name='dashboard_atom_url_admin_txt'}</label>
+  <div class="col-sm-9"><input type="text" name="dashboard_atom_url_admin" id="dashboard_atom_url_admin" value="{tmpl_var name='dashboard_atom_url_admin'}" size="" maxlength="" class="form-control" /></div>
+</div>
+<div class="form-group">
+  <label for="dashboard_atom_url_reseller" class="col-sm-3 control-label">{tmpl_var name='dashboard_atom_url_reseller_txt'}</label>
+  <div class="col-sm-9"><input type="text" name="dashboard_atom_url_reseller" id="dashboard_atom_url_reseller" value="{tmpl_var name='dashboard_atom_url_reseller'}" size="" maxlength="" class="form-control" /></div>
+</div>
+<div class="form-group">
+  <label for="dashboard_atom_url_client" class="col-sm-3 control-label">{tmpl_var name='dashboard_atom_url_client_txt'}</label>
+  <div class="col-sm-9"><input type="text" name="dashboard_atom_url_client" id="dashboard_atom_url_client" value="{tmpl_var name='dashboard_atom_url_client'}" size="" maxlength="" class="form-control" /></div>
+</div>
+<label for="admin_dashlets_left" class="col-sm-3 control-label">{tmpl_var name='admin_dashlets_left_txt'}</label>
+<div class="col-sm-9"><input type="text" name="admin_dashlets_left" id="admin_dashlets_left" value="{tmpl_var name='admin_dashlets_left'}" size="" maxlength="" class="form-control" />{tmpl_var name='available_dashlets_note_txt'} {tmpl_var name="available_dashlets_txt"}
+</div>
+</div>
+<div class="form-group">
+  <label for="admin_dashlets_right" class="col-sm-3 control-label">{tmpl_var name='admin_dashlets_right_txt'}</label>
+  <div class="col-sm-9"><input type="text" name="admin_dashlets_right" id="admin_dashlets_right" value="{tmpl_var name='admin_dashlets_right'}" size="" maxlength="" class="form-control" />{tmpl_var name='available_dashlets_note_txt'} {tmpl_var name="available_dashlets_txt"}
+  </div>
+</div>
+<div class="form-group">
+  <label for="reseller_dashlets_left" class="col-sm-3 control-label">{tmpl_var name='reseller_dashlets_left_txt'}</label>
+  <div class="col-sm-9"><input type="text" name="reseller_dashlets_left" id="reseller_dashlets_left" value="{tmpl_var name='reseller_dashlets_left'}" size="" maxlength="" class="form-control" />{tmpl_var name='available_dashlets_note_txt'} {tmpl_var name="available_dashlets_txt"}
+  </div>
+</div>
+<div class="form-group">
+  <label for="reseller_dashlets_right" class="col-sm-3 control-label">{tmpl_var name='reseller_dashlets_right_txt'}</label>
+  <div class="col-sm-9"><input type="text" name="reseller_dashlets_right" id="reseller_dashlets_right" value="{tmpl_var name='reseller_dashlets_right'}" size="" maxlength="" class="form-control" />{tmpl_var name='available_dashlets_note_txt'} {tmpl_var name="available_dashlets_txt"}
+  </div>
+</div>
+<div class="form-group">
+  <label for="client_dashlets_left" class="col-sm-3 control-label">{tmpl_var name='client_dashlets_left_txt'}</label>
+  <div class="col-sm-9"><input type="text" name="client_dashlets_left" id="client_dashlets_left" value="{tmpl_var name='client_dashlets_left'}" size="" maxlength="" class="form-control" />{tmpl_var name='available_dashlets_note_txt'} {tmpl_var name="available_dashlets_txt"}
+  </div>
+</div>
+<div class="form-group">
+  <label for="client_dashlets_right" class="col-sm-3 control-label">{tmpl_var name='client_dashlets_right_txt'}</label>
+  <div class="col-sm-9"><input type="text" name="client_dashlets_right" id="client_dashlets_right" value="{tmpl_var name='client_dashlets_right'}" size="" maxlength="" class="form-control" />{tmpl_var name='available_dashlets_note_txt'} {tmpl_var name="available_dashlets_txt"}
+  </div>
+</div>
+<div class="form-group">
+  <label class="col-sm-3 control-label">{tmpl_var name='tab_change_discard_txt'}</label>
+  <div class="col-sm-9">
+    {tmpl_var name='tab_change_discard'}
+  </div>
+</div>
+<div class="form-group">
+  <label class="col-sm-3 control-label">{tmpl_var name='tab_change_warning_txt'}</label>
+  <div class="col-sm-9">
+    {tmpl_var name='tab_change_warning'}<br/>{tmpl_var name='tab_change_warning_note_txt'}
+  </div>
+</div>
+<div class="form-group">
+  <label class="col-sm-3 control-label">{tmpl_var name='use_loadindicator_txt'}</label>
+  <div class="col-sm-9">
+    {tmpl_var name='use_loadindicator'}<br/>{tmpl_var name='f5_to_reload_js_txt'}
+  </div>
+</div>
+<div class="form-group">
+  <label class="col-sm-3 control-label">{tmpl_var name='use_combobox_txt'}</label>
+  <div class="col-sm-9">
+    {tmpl_var name='use_combobox'}<br/>{tmpl_var name='f5_to_reload_js_txt'}
+  </div>
+</div>
+<div class="form-group">
+  <label for="customer_no_template" class="col-sm-3 control-label">{tmpl_var name='customer_no_template_txt'}</label>
+  <div class="col-sm-9"><input type="text" name="customer_no_template" id="customer_no_template" value="{tmpl_var name='customer_no_template'}" class="form-control" /></div>
+</div>
+<div class="form-group">
+  <label for="customer_no_start" class="col-sm-3 control-label">{tmpl_var name='customer_no_start_txt'}</label>
+  <div class="col-sm-9"><input type="text" name="customer_no_start" id="customer_no_start" value="{tmpl_var name='customer_no_start'}" class="form-control" /></div>
+</div>
+<div class="form-group">
+  <label for="customer_no_counter" class="col-sm-3 control-label">{tmpl_var name='customer_no_counter_txt'}</label>
+  <div class="col-sm-9"><input type="text" name="customer_no_counter" id="customer_no_counter" value="{tmpl_var name='customer_no_counter'}" class="form-control" /></div>
+</div>
+<div class="form-group">
+  <label for="session_timeout" class="col-sm-3 control-label">{tmpl_var name='session_timeout_txt'}</label>
+  <div class="col-sm-9"><input type="text" name="session_timeout" id="session_timeout" value="{tmpl_var name='session_timeout'}" class="form-control" /></div>
+</div>
+<div class="form-group">
+  <label class="col-sm-3 control-label">{tmpl_var name='session_allow_endless_txt'}</label>
+  <div class="col-sm-9">
+    {tmpl_var name='session_allow_endless'}
+  </div>
+</div>
+<div class="form-group">
+  <label for="min_password_length" class="col-sm-3 control-label">{tmpl_var name='min_password_length_txt'}</label>
+  <div class="col-sm-9"><input type="text" name="min_password_length" id="min_password_length" value="{tmpl_var name='min_password_length'}" class="form-control" /></div>
+</div>
+<div class="form-group">
+  <label for="min_password_strength" class="col-sm-3 control-label">{tmpl_var name='min_password_strength_txt'}</label>
+  <div class="col-sm-9"><select name="min_password_strength" id="min_password_strength" class="form-control">
+    {tmpl_var name='min_password_strength'}
+    </select>
+  </div>
+</div>
+<div class="form-group">
+  <label for="ssh_authentication" class="col-sm-3 control-label">{tmpl_var name='ssh_authentication_txt'}</label>
+  <div class="col-sm-9"><select name="ssh_authentication" id="ssh_authentication" class="form-control">
+    {tmpl_var name='ssh_authentication'}
+    </select>
+  </div>
+</div>
+<div class="form-group">
+  <label class="col-sm-3 control-label">{tmpl_var name='maintenance_mode_txt'}</label>
+  <div class="col-sm-9">
+    {tmpl_var name='maintenance_mode'}
+  </div>
+</div>
+<div class="form-group">
+  <label class="col-sm-3 control-label">{tmpl_var name='maintenance_mode_exclude_ips_txt'}</label>
+  <div class="col-sm-9">
+    <input type="text" name="maintenance_mode_exclude_ips" id="maintenance_mode_exclude_ips" value="{tmpl_var name='maintenance_mode_exclude_ips'}" class="form-control" />
+  </div>
+</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>
+      <tmpl_var name="error_txt">
+    </h3>
+    <ol>
+      <tmpl_var name="error">
+    </ol>
+  </div>
+</tmpl_if>
+<input type="hidden" name="id" id="id" value="{tmpl_var name='id'}">
+<div class="clear">
+  <div class="right">
+    <button class="btn btn-default formbutton-success" type="button" value="{tmpl_var name='btn_save_txt'}" data-submit-form="pageForm" data-form-action="admin/system_config_edit.php">{tmpl_var name='btn_save_txt'}</button>
+    <button class="btn btn-default formbutton-default" type="button" value="{tmpl_var name='btn_cancel_txt'}" data-load-content="admin/server_list.php">{tmpl_var name='btn_cancel_txt'}</button>
+  </div>
+</div>
 <!--<script language="JavaScript" type="text/javascript">
+  var defaultLogo = '{tmpl_var name='default_logo'}';
+  $(document).on('click', '#del_custom_logo', function(){
+  	delCustomLogo();
+  });
 
-	var defaultLogo = '{tmpl_var name='default_logo'}';
-	$(document).on('click', '#del_custom_logo', function(){
-		delCustomLogo();
-	});
-	
-	function delCustomLogo() {
-        var id = jQuery('input[name="id"]').val();
-        
-        jQuery.getJSON('admin/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {'id': id, 'type': "delcustomlogo"}, function(data) {
-			//console.log(data);
-			$('#used_logo').html(defaultLogo);
-			$('#logo').css({ "background": "url("+data.data+") no-repeat", "width": data.width, "height": data.height });
-        });
-    }
-	
-	// Variable to store your files
-	var files;
-	// Add events
-	$('input[type="file"]').on('change', prepareUpload);
-	$('#start_upload').on('click', uploadFiles);
-	
-	// Grab the files and set them to our variable
-	function prepareUpload(event){
-		files = event.target.files;
-	}
-	
-	// Catch the form submit and upload the files
-	function uploadFiles(event){
-		event.stopPropagation(); // Stop stuff happening
-		event.preventDefault(); // Totally stop stuff happening
-		
-		var id = jQuery('input[name="id"]').val();
-		
-		// Create a formdata object and add the files
-		var data = new FormData();
-		$.each(files, function(key, value){
-			data.append(key, value);
-		});
-		
-		$.ajax({
-			url: 'admin/ajax_get_json.php?id='+id+'&type=uploadfile',
-			type: 'POST',
-			data: data,
-			cache: false,
-			dataType: 'json',
-			processData: false, // Don't process the files
-			contentType: false, // Set content type to false as jQuery will tell the server its a query string request
-			success: function(data, textStatus, jqXHR){
-				if(typeof data.error === 'undefined'){
-					// Success so call function to process the form
-					//console.log(data);
-					$('#used_logo').html('<img src="'+data.data+'" />&nbsp;&nbsp;<a href="#" class="btn btn-default formbutton-danger formbutton-narrow" style="margin:5px" id="del_custom_logo"><span class="icon icon-delete"></span></a>');
-					$('#logo').css({ "background": "url("+data.data+") no-repeat", "width": data.width, "height": data.height });
-				} else {
-					// Handle errors here
-					//console.log(data);
-				}
-			},
-			error: function(jqXHR, textStatus, errorThrown){
-				// Handle errors here
-				//console.log(data);
-			}
-		});
-	}
-	
-</script>-->
+  function delCustomLogo() {
+         var id = jQuery('input[name="id"]').val();
+
+         jQuery.getJSON('admin/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {'id': id, 'type': "delcustomlogo"}, function(data) {
+  		//console.log(data);
+  		$('#used_logo').html(defaultLogo);
+  		$('#logo').css({ "background": "url("+data.data+") no-repeat", "width": data.width, "height": data.height });
+         });
+     }
+
+  // Variable to store your files
+  var files;
+  // Add events
+  $('input[type="file"]').on('change', prepareUpload);
+  $('#start_upload').on('click', uploadFiles);
+
+  // Grab the files and set them to our variable
+  function prepareUpload(event){
+  	files = event.target.files;
+  }
+
+  // Catch the form submit and upload the files
+  function uploadFiles(event){
+  	event.stopPropagation(); // Stop stuff happening
+  	event.preventDefault(); // Totally stop stuff happening
+
+  	var id = jQuery('input[name="id"]').val();
+
+  	// Create a formdata object and add the files
+  	var data = new FormData();
+  	$.each(files, function(key, value){
+  		data.append(key, value);
+  	});
+
+  	$.ajax({
+  		url: 'admin/ajax_get_json.php?id='+id+'&type=uploadfile',
+  		type: 'POST',
+  		data: data,
+  		cache: false,
+  		dataType: 'json',
+  		processData: false, // Don't process the files
+  		contentType: false, // Set content type to false as jQuery will tell the server its a query string request
+  		success: function(data, textStatus, jqXHR){
+  			if(typeof data.error === 'undefined'){
+  				// Success so call function to process the form
+  				//console.log(data);
+  				$('#used_logo').html('<img src="'+data.data+'" />&nbsp;&nbsp;<a href="#" class="btn btn-default formbutton-danger formbutton-narrow" style="margin:5px" id="del_custom_logo"><span class="icon icon-delete"></span></a>');
+  				$('#logo').css({ "background": "url("+data.data+") no-repeat", "width": data.width, "height": data.height });
+  			} else {
+  				// Handle errors here
+  				//console.log(data);
+  			}
+  		},
+  		error: function(jqXHR, textStatus, errorThrown){
+  			// Handle errors here
+  			//console.log(data);
+  		}
+  	});
+  }
+
+  </script>-->
diff --git a/interface/web/client/form/client.tform.php b/interface/web/client/form/client.tform.php
index 17b9e623b66cda763d4db8561d101b5f33fcad8d..523507b108a981ad24c6315488a45479c4e955c9 100644
--- a/interface/web/client/form/client.tform.php
+++ b/interface/web/client/form/client.tform.php
@@ -985,42 +985,49 @@ $form["tabs"]['limits'] = array (
             'datatype' => 'VARCHAR',
             'formtype' => 'CHECKBOX',
             'default' => 'n',
+			'valuelimit' => 'client:limit_xmpp_muc',
             'value'  => array(0 => 'n', 1 => 'y')
         ),
         'limit_xmpp_anon' => array(
             'datatype' => 'VARCHAR',
             'formtype' => 'CHECKBOX',
             'default' => 'n',
+			'valuelimit' => 'client:limit_xmpp_anon',
             'value'  => array(0 => 'n', 1 => 'y')
         ),
         'limit_xmpp_vjud' => array(
             'datatype' => 'VARCHAR',
             'formtype' => 'CHECKBOX',
             'default' => 'n',
+			'valuelimit' => 'client:limit_xmpp_vjud',
             'value'  => array(0 => 'n', 1 => 'y')
         ),
         'limit_xmpp_proxy' => array(
             'datatype' => 'VARCHAR',
             'formtype' => 'CHECKBOX',
             'default' => 'n',
+			'valuelimit' => 'client:limit_xmpp_proxy',
             'value'  => array(0 => 'n', 1 => 'y')
         ),
         'limit_xmpp_status' => array(
             'datatype' => 'VARCHAR',
             'formtype' => 'CHECKBOX',
             'default' => 'n',
+			'valuelimit' => 'client:limit_xmpp_status',
             'value'  => array(0 => 'n', 1 => 'y')
         ),
         'limit_xmpp_pastebin' => array(
             'datatype' => 'VARCHAR',
             'formtype' => 'CHECKBOX',
             'default' => 'n',
+			'valuelimit' => 'client:limit_xmpp_pastebin',
             'value'  => array(0 => 'n', 1 => 'y')
         ),
         'limit_xmpp_httparchive' => array(
             'datatype' => 'VARCHAR',
             'formtype' => 'CHECKBOX',
             'default' => 'n',
+			'valuelimit' => 'client:limit_xmpp_httparchive',
             'value'  => array(0 => 'n', 1 => 'y')
         ),
 		'default_webserver' => array (
@@ -1087,67 +1094,77 @@ $form["tabs"]['limits'] = array (
 			),
 			'default' => '',
 			'separator' => ',',
-			'valuelimit' => 'system:sites:web_php_options',
+			'valuelimit' => 'system:sites:web_php_options;client:web_php_options',
 			'value'  => array('no' => 'Disabled', 'fast-cgi' => 'Fast-CGI', 'cgi' => 'CGI', 'mod' => 'Mod-PHP', 'suphp' => 'SuPHP', 'php-fpm' => 'PHP-FPM', 'hhvm' => 'HHVM')
 		),
 		'limit_cgi' => array (
 			'datatype' => 'VARCHAR',
 			'formtype' => 'CHECKBOX',
 			'default' => 'n',
+			'valuelimit' => 'client:limit_cgi',
 			'value'  => array(0 => 'n', 1 => 'y')
 		),
 		'limit_ssi' => array (
 			'datatype' => 'VARCHAR',
 			'formtype' => 'CHECKBOX',
 			'default' => 'n',
+			'valuelimit' => 'client:limit_ssi',
 			'value'  => array(0 => 'n', 1 => 'y')
 		),
 		'limit_perl' => array (
 			'datatype' => 'VARCHAR',
 			'formtype' => 'CHECKBOX',
 			'default' => 'n',
+			'valuelimit' => 'client:limit_perl',
 			'value'  => array(0 => 'n', 1 => 'y')
 		),
 		'limit_ruby' => array (
 			'datatype' => 'VARCHAR',
 			'formtype' => 'CHECKBOX',
 			'default' => 'n',
+			'valuelimit' => 'client:limit_ruby',
 			'value'  => array(0 => 'n', 1 => 'y')
 		),
 		'limit_python' => array (
 			'datatype' => 'VARCHAR',
 			'formtype' => 'CHECKBOX',
 			'default' => 'n',
+			'valuelimit' => 'client:limit_python',
 			'value'  => array(0 => 'n', 1 => 'y')
 		),
 		'force_suexec' => array (
 			'datatype' => 'VARCHAR',
 			'formtype' => 'CHECKBOX',
 			'default' => 'y',
+			'valuelimit' => 'client:force_suexec',
 			'value'  => array(0 => 'n', 1 => 'y')
 		),
 		'limit_hterror' => array (
 			'datatype' => 'VARCHAR',
 			'formtype' => 'CHECKBOX',
 			'default' => 'n',
+			'valuelimit' => 'client:limit_hterror',
 			'value'  => array(0 => 'n', 1 => 'y')
 		),
 		'limit_wildcard' => array (
 			'datatype' => 'VARCHAR',
 			'formtype' => 'CHECKBOX',
 			'default' => 'n',
+			'valuelimit' => 'client:limit_wildcard',
 			'value'  => array(0 => 'n', 1 => 'y')
 		),
 		'limit_ssl' => array (
 			'datatype' => 'VARCHAR',
 			'formtype' => 'CHECKBOX',
 			'default' => 'n',
+			'valuelimit' => 'client:limit_ssl',
 			'value'  => array(0 => 'n', 1 => 'y')
 		),
 		'limit_ssl_letsencrypt' => array (
 			'datatype' => 'VARCHAR',
 			'formtype' => 'CHECKBOX',
 			'default' => 'n',
+			'valuelimit' => 'client:limit_ssl_letsencrypt',
 			'value'  => array(0 => 'n', 1 => 'y')
 		),
 		'limit_web_aliasdomain' => array (
@@ -1235,12 +1252,14 @@ $form["tabs"]['limits'] = array (
 			'datatype' => 'VARCHAR',
 			'formtype' => 'CHECKBOX',
 			'default' => 'y',
+			'valuelimit' => 'client:limit_backup',
 			'value'  => array(0 => 'n', 1 => 'y')
 		),
 		'limit_directive_snippets' => array (
 			'datatype' => 'VARCHAR',
 			'formtype' => 'CHECKBOX',
 			'default' => 'n',
+			'valuelimit' => 'client:limit_directive_snippets',
 			'value'  => array(0 => 'n', 1 => 'y')
 		),
 		'default_dnsserver' => array (
@@ -1426,6 +1445,7 @@ $form["tabs"]['limits'] = array (
 			'datatype'  => 'VARCHAR',
 			'formtype'  => 'SELECT',
 			'default'   => '',
+			'valuelimit' => 'client:limit_cron_type',
 			'value'     => array('full' => 'Full Cron', 'chrooted' => 'Chrooted Cron', 'url' => 'URL Cron')
 		),
 		'limit_cron_frequency' => array (
@@ -1479,6 +1499,7 @@ $form["tabs"]['limits'] = array (
 				'keyfield'=> 'template_id',
 				'valuefield'=> 'template_name'
 			),
+			'valuelimit' => 'client:limit_openvz_vm_template_id',
 			'value'  => array(0 => ' ')
 		),
 		'limit_aps' => array (
diff --git a/interface/web/client/form/client_template.tform.php b/interface/web/client/form/client_template.tform.php
index 1da5cdafcd845b83401eeda28b0ceb7a00d2f0de..4a3405bbe5f622a8fce3328a3d16156626269021 100644
--- a/interface/web/client/form/client_template.tform.php
+++ b/interface/web/client/form/client_template.tform.php
@@ -401,42 +401,49 @@ $form["tabs"]['limits'] = array (
             'datatype' => 'VARCHAR',
             'formtype' => 'CHECKBOX',
             'default' => 'n',
+			'valuelimit' => 'client:limit_xmpp_muc',
             'value'  => array(0 => 'n', 1 => 'y')
         ),
         'limit_xmpp_anon' => array(
             'datatype' => 'VARCHAR',
             'formtype' => 'CHECKBOX',
             'default' => 'n',
+			'valuelimit' => 'client:limit_xmpp_anon',
             'value'  => array(0 => 'n', 1 => 'y')
         ),
         'limit_xmpp_vjud' => array(
             'datatype' => 'VARCHAR',
             'formtype' => 'CHECKBOX',
             'default' => 'n',
+			'valuelimit' => 'client:limit_xmpp_vjud',
             'value'  => array(0 => 'n', 1 => 'y')
         ),
         'limit_xmpp_proxy' => array(
             'datatype' => 'VARCHAR',
             'formtype' => 'CHECKBOX',
             'default' => 'n',
+			'valuelimit' => 'client:limit_xmpp_proxy',
             'value'  => array(0 => 'n', 1 => 'y')
         ),
         'limit_xmpp_status' => array(
             'datatype' => 'VARCHAR',
             'formtype' => 'CHECKBOX',
             'default' => 'n',
+			'valuelimit' => 'client:limit_xmpp_status',
             'value'  => array(0 => 'n', 1 => 'y')
         ),
         'limit_xmpp_pastebin' => array(
             'datatype' => 'VARCHAR',
             'formtype' => 'CHECKBOX',
             'default' => 'n',
+			'valuelimit' => 'client:limit_xmpp_pastebin',
             'value'  => array(0 => 'n', 1 => 'y')
         ),
         'limit_xmpp_httparchive' => array(
             'datatype' => 'VARCHAR',
             'formtype' => 'CHECKBOX',
             'default' => 'n',
+			'valuelimit' => 'client:limit_xmpp_httparchive',
             'value'  => array(0 => 'n', 1 => 'y')
         ),/*
 		'default_webserver' => array (
@@ -495,67 +502,77 @@ $form["tabs"]['limits'] = array (
 			'formtype' => 'CHECKBOXARRAY',
 			'default' => '',
 			'separator' => ',',
-			'valuelimit' => 'system:sites:web_php_options',
+			'valuelimit' => 'system:sites:web_php_options;client:web_php_options',
 			'value'  => array('no' => 'Disabled', 'fast-cgi' => 'Fast-CGI', 'cgi' => 'CGI', 'mod' => 'Mod-PHP', 'suphp' => 'SuPHP', 'php-fpm' => 'PHP-FPM', 'hhvm' => 'HHVM')
 		),
 		'limit_cgi' => array (
 			'datatype' => 'VARCHAR',
 			'formtype' => 'CHECKBOX',
 			'default' => 'n',
+			'valuelimit' => 'client:limit_cgi',
 			'value'  => array(0 => 'n', 1 => 'y')
 		),
 		'limit_ssi' => array (
 			'datatype' => 'VARCHAR',
 			'formtype' => 'CHECKBOX',
 			'default' => 'n',
+			'valuelimit' => 'client:limit_ssi',
 			'value'  => array(0 => 'n', 1 => 'y')
 		),
 		'limit_perl' => array (
 			'datatype' => 'VARCHAR',
 			'formtype' => 'CHECKBOX',
 			'default' => 'n',
+			'valuelimit' => 'client:limit_perl',
 			'value'  => array(0 => 'n', 1 => 'y')
 		),
 		'limit_ruby' => array (
 			'datatype' => 'VARCHAR',
 			'formtype' => 'CHECKBOX',
 			'default' => 'n',
+			'valuelimit' => 'client:limit_ruby',
 			'value'  => array(0 => 'n', 1 => 'y')
 		),
 		'limit_python' => array (
 			'datatype' => 'VARCHAR',
 			'formtype' => 'CHECKBOX',
 			'default' => 'n',
+			'valuelimit' => 'client:limit_python',
 			'value'  => array(0 => 'n', 1 => 'y')
 		),
 		'force_suexec' => array (
 			'datatype' => 'VARCHAR',
 			'formtype' => 'CHECKBOX',
 			'default' => 'y',
+			'valuelimit' => 'client:force_suexec',
 			'value'  => array(0 => 'n', 1 => 'y')
 		),
 		'limit_hterror' => array (
 			'datatype' => 'VARCHAR',
 			'formtype' => 'CHECKBOX',
 			'default' => 'n',
+			'valuelimit' => 'client:limit_hterror',
 			'value'  => array(0 => 'n', 1 => 'y')
 		),
 		'limit_wildcard' => array (
 			'datatype' => 'VARCHAR',
 			'formtype' => 'CHECKBOX',
 			'default' => 'n',
+			'valuelimit' => 'client:limit_wildcard',
 			'value'  => array(0 => 'n', 1 => 'y')
 		),
 		'limit_ssl' => array (
 			'datatype' => 'VARCHAR',
 			'formtype' => 'CHECKBOX',
 			'default' => 'n',
+			'valuelimit' => 'client:limit_ssl',
 			'value'  => array(0 => 'n', 1 => 'y')
 		),
 		'limit_ssl_letsencrypt' => array (
 			'datatype' => 'VARCHAR',
 			'formtype' => 'CHECKBOX',
 			'default' => 'n',
+			'valuelimit' => 'client:limit_ssl_letsencrypt',
 			'value'  => array(0 => 'n', 1 => 'y')
 		),
 		'limit_web_aliasdomain' => array (
@@ -646,12 +663,14 @@ $form["tabs"]['limits'] = array (
 			'datatype' => 'VARCHAR',
 			'formtype' => 'CHECKBOX',
 			'default' => 'y',
+			'valuelimit' => 'client:limit_backup',
 			'value'  => array(0 => 'n', 1 => 'y')
 		),
 		'limit_directive_snippets' => array (
 			'datatype' => 'VARCHAR',
 			'formtype' => 'CHECKBOX',
 			'default' => 'n',
+			'valuelimit' => 'client:limit_directive_snippets',
 			'value'  => array(0 => 'n', 1 => 'y')
 		),/*
 		'default_dnsserver' => array (
@@ -830,6 +849,7 @@ $form["tabs"]['limits'] = array (
 			'datatype'  => 'VARCHAR',
 			'formtype'  => 'SELECT',
 			'default'   => '',
+			'valuelimit' => 'client:limit_cron_type',
 			'value'     => array('full' => 'Full Cron', 'chrooted' => 'Chrooted Cron', 'url' => 'URL Cron')
 		),
 		'limit_cron_frequency' => array (
@@ -883,6 +903,7 @@ $form["tabs"]['limits'] = array (
 				'keyfield'=> 'template_id',
 				'valuefield'=> 'template_name'
 			),
+			'valuelimit' => 'client:limit_openvz_vm_template_id',
 			'value'  => array(0 => ' ')
 		),
 		'limit_aps' => array (
diff --git a/interface/web/mail/form/mail_user_filter.tform.php b/interface/web/mail/form/mail_user_filter.tform.php
index b1370ecaa1349548c450bcfdffdf479a53bf41f6..0b10799163044b55e569509d6bab764d606c294a 100644
--- a/interface/web/mail/form/mail_user_filter.tform.php
+++ b/interface/web/mail/form/mail_user_filter.tform.php
@@ -94,8 +94,7 @@ $form["tabs"]['filter'] = array (
 			'datatype' => 'VARCHAR',
 			'formtype' => 'SELECT',
 			'default' => '',
-			//'value'  => array('contains'=>'contains_txt','is' => 'Is','begins'=>'Begins with','ends'=>'Ends with')
-			'value'  => array('contains'=>'contains_txt', 'is' => 'is_txt', 'begins'=>'begins_with_txt', 'ends'=>'ends_with_txt', 'localpart' => 'localpart_txt', 'domain' => 'domain_txt')
+			'value'  => array('contains'=>'contains_txt', 'is'=>'is_txt', 'begins'=>'begins_with_txt', 'ends'=>'ends_with_txt', 'regex'=>'regex_txt', 'localpart'=>'localpart_txt', 'domain'=>'domain_txt')
 		),
 		'searchterm' => array (
 			'datatype' => 'VARCHAR',
diff --git a/interface/web/mail/lib/lang/ar_mail_user_filter.lng b/interface/web/mail/lib/lang/ar_mail_user_filter.lng
index 9a15472e88734a485d954d89d58944a8a72a4516..bed377b2f63593b1f1e0acd926b41ae5761693cf 100644
--- a/interface/web/mail/lib/lang/ar_mail_user_filter.lng
+++ b/interface/web/mail/lib/lang/ar_mail_user_filter.lng
@@ -16,6 +16,7 @@ $wb['contains_txt'] = 'Contains';
 $wb['is_txt'] = 'Is';
 $wb['begins_with_txt'] = 'Begins with';
 $wb['ends_with_txt'] = 'Ends with';
+$wb['regex_txt'] = 'Matches Regex';
 $wb['delete_txt'] = 'Delete';
 $wb['move_stop_txt'] = 'Move to';
 $wb['header_txt'] = 'Header';
diff --git a/interface/web/mail/lib/lang/bg_mail_user_filter.lng b/interface/web/mail/lib/lang/bg_mail_user_filter.lng
index 6929752c5afb0a0051fb343bc1946eeedc1dc2d5..ed7d137db0bbcb78f6379d956cf36557fc3a0adf 100644
--- a/interface/web/mail/lib/lang/bg_mail_user_filter.lng
+++ b/interface/web/mail/lib/lang/bg_mail_user_filter.lng
@@ -16,6 +16,7 @@ $wb['contains_txt'] = 'Описание';
 $wb['is_txt'] = 'е';
 $wb['begins_with_txt'] = 'Начало с';
 $wb['ends_with_txt'] = 'Край с';
+$wb['regex_txt'] = 'Matches Regex';
 $wb['delete_txt'] = 'Изтрий';
 $wb['move_stop_txt'] = 'Move to';
 $wb['header_txt'] = 'Header';
diff --git a/interface/web/mail/lib/lang/br_mail_user_filter.lng b/interface/web/mail/lib/lang/br_mail_user_filter.lng
index 226b7e2722db81b3a60be7f29cfe783bde426f68..560858c7137e8be482926fbd5d41d6831aa8d3f4 100644
--- a/interface/web/mail/lib/lang/br_mail_user_filter.lng
+++ b/interface/web/mail/lib/lang/br_mail_user_filter.lng
@@ -16,6 +16,7 @@ $wb['contains_txt'] = 'Contêm';
 $wb['is_txt'] = 'é';
 $wb['begins_with_txt'] = 'Iniciando com';
 $wb['ends_with_txt'] = 'Terminando com';
+$wb['regex_txt'] = 'Matches Regex';
 $wb['move_stop_txt'] = 'Mover para';
 $wb['delete_txt'] = 'Remover';
 $wb['header_txt'] = 'Cabeçalho';
diff --git a/interface/web/mail/lib/lang/ca_mail_user_filter.lng b/interface/web/mail/lib/lang/ca_mail_user_filter.lng
index 8744b2ab79209f4a27b1d36681be930a0bde220a..3aaa7f16657faccd2f240cdbfe7e9419c094cf07 100644
--- a/interface/web/mail/lib/lang/ca_mail_user_filter.lng
+++ b/interface/web/mail/lib/lang/ca_mail_user_filter.lng
@@ -16,6 +16,7 @@ $wb['contains_txt'] = 'Contient';
 $wb['is_txt'] = 'Est';
 $wb['begins_with_txt'] = 'Commence par';
 $wb['ends_with_txt'] = 'Fini par';
+$wb['regex_txt'] = 'Matches Regex';
 $wb['delete_txt'] = 'Supprimer';
 $wb['move_stop_txt'] = 'Move to';
 $wb['header_txt'] = 'Header';
diff --git a/interface/web/mail/lib/lang/cz_mail_user_filter.lng b/interface/web/mail/lib/lang/cz_mail_user_filter.lng
index 3f5357f73538dd57536be651102932b17ce7ce21..3d56a9b83900207b529690bb27ba9a88d7c39439 100644
--- a/interface/web/mail/lib/lang/cz_mail_user_filter.lng
+++ b/interface/web/mail/lib/lang/cz_mail_user_filter.lng
@@ -16,6 +16,7 @@ $wb['contains_txt'] = 'Obsahuje';
 $wb['is_txt'] = 'Je';
 $wb['begins_with_txt'] = 'Začíná na';
 $wb['ends_with_txt'] = 'Končí na';
+$wb['regex_txt'] = 'Matches Regex';
 $wb['delete_txt'] = 'Smazat';
 $wb['move_stop_txt'] = 'Přesunout';
 $wb['header_txt'] = 'Hlavička';
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 345b9c4fbb38d3de1c06b7fe074c0f15a9917e2f..579a867e983d631fd2059984a046d2523e7f5fe6 100644
--- a/interface/web/mail/lib/lang/de_mail_user_filter.lng
+++ b/interface/web/mail/lib/lang/de_mail_user_filter.lng
@@ -16,6 +16,7 @@ $wb['contains_txt'] = 'Enthält';
 $wb['is_txt'] = 'Ist';
 $wb['begins_with_txt'] = 'Beginnt mit';
 $wb['ends_with_txt'] = 'Endet mit';
+$wb['regex_txt'] = 'Matches Regex';
 $wb['move_stop_txt'] = 'Verschieben nach';
 $wb['delete_txt'] = 'Löschen';
 $wb['header_txt'] = 'Header';
diff --git a/interface/web/mail/lib/lang/dk_mail_user_filter.lng b/interface/web/mail/lib/lang/dk_mail_user_filter.lng
index ef8be2a0c97f46b8aa3ae9442f41ad8c45db9ea6..8da1a242010f227e89ee15441b73cda9dc2ad432 100644
--- a/interface/web/mail/lib/lang/dk_mail_user_filter.lng
+++ b/interface/web/mail/lib/lang/dk_mail_user_filter.lng
@@ -16,6 +16,7 @@ $wb['contains_txt'] = 'Indeholder';
 $wb['is_txt'] = 'Er';
 $wb['begins_with_txt'] = 'Begynder med';
 $wb['ends_with_txt'] = 'Slutter med';
+$wb['regex_txt'] = 'Matches Regex';
 $wb['move_stop_txt'] = 'Flyt til';
 $wb['delete_txt'] = 'Slet';
 $wb['header_txt'] = 'Hoved';
diff --git a/interface/web/mail/lib/lang/el_mail_user_filter.lng b/interface/web/mail/lib/lang/el_mail_user_filter.lng
index 72710a9f7e72d3435023a6e73ea554ab7831ec83..c3c232362e1a76bda46635d147da6cbf299a5a95 100644
--- a/interface/web/mail/lib/lang/el_mail_user_filter.lng
+++ b/interface/web/mail/lib/lang/el_mail_user_filter.lng
@@ -16,6 +16,7 @@ $wb['contains_txt'] = 'Περιλαμβάνει';
 $wb['is_txt'] = 'είναι';
 $wb['begins_with_txt'] = 'Ξεκινά με';
 $wb['ends_with_txt'] = 'Τελειώνει σε';
+$wb['regex_txt'] = 'Matches Regex';
 $wb['delete_txt'] = 'Διαγραφή';
 $wb['move_stop_txt'] = 'Move to';
 $wb['header_txt'] = 'Header';
diff --git a/interface/web/mail/lib/lang/en_mail_user_filter.lng b/interface/web/mail/lib/lang/en_mail_user_filter.lng
index 462ee6d93653f8fd07abf97f2f7b82d23b053f39..7db2df5a7260bfb401dc79cbd0935c15671fcf9d 100644
--- a/interface/web/mail/lib/lang/en_mail_user_filter.lng
+++ b/interface/web/mail/lib/lang/en_mail_user_filter.lng
@@ -16,6 +16,7 @@ $wb['contains_txt'] = 'Contains';
 $wb['is_txt'] = 'Is';
 $wb['begins_with_txt'] = 'Begins with';
 $wb['ends_with_txt'] = 'Ends with';
+$wb['regex_txt'] = 'Matches Regex';
 $wb['move_stop_txt'] = 'Move to';
 $wb['delete_txt'] = 'Delete';
 $wb['header_txt'] = 'Header';
diff --git a/interface/web/mail/lib/lang/es_mail_user_filter.lng b/interface/web/mail/lib/lang/es_mail_user_filter.lng
index ed221d5cb30a702fa181b27ecf4969f43299e045..4e50fbceff012b7a8023d3225eccba999b2c78b6 100644
--- a/interface/web/mail/lib/lang/es_mail_user_filter.lng
+++ b/interface/web/mail/lib/lang/es_mail_user_filter.lng
@@ -6,6 +6,7 @@ $wb['contains_txt'] = 'Contiene';
 $wb['delete_txt'] = 'Borrar';
 $wb['domain_txt'] = 'Domain';
 $wb['ends_with_txt'] = 'Termina con';
+$wb['regex_txt'] = 'Matches Regex';
 $wb['from_txt'] = 'De';
 $wb['header_txt'] = 'Cabecera';
 $wb['is_txt'] = 'Es';
diff --git a/interface/web/mail/lib/lang/fi_mail_user_filter.lng b/interface/web/mail/lib/lang/fi_mail_user_filter.lng
index 1238dc86fd79bc1a85fbf911121b65fabcc04488..5315bc6f1ead437378ec233dc1cb26830a377d93 100644
--- a/interface/web/mail/lib/lang/fi_mail_user_filter.lng
+++ b/interface/web/mail/lib/lang/fi_mail_user_filter.lng
@@ -16,6 +16,7 @@ $wb['contains_txt'] = 'Contains';
 $wb['is_txt'] = 'Is';
 $wb['begins_with_txt'] = 'Begins with';
 $wb['ends_with_txt'] = 'Ends with';
+$wb['regex_txt'] = 'Matches Regex';
 $wb['delete_txt'] = 'Delete';
 $wb['move_stop_txt'] = 'Move to';
 $wb['header_txt'] = 'Header';
diff --git a/interface/web/mail/lib/lang/fr_mail_user_filter.lng b/interface/web/mail/lib/lang/fr_mail_user_filter.lng
index b5cacf2e98628f05d922532ef14e023f12d9ee08..324d6f3c781fc0b8e17600a2472a8ce9f9e17503 100644
--- a/interface/web/mail/lib/lang/fr_mail_user_filter.lng
+++ b/interface/web/mail/lib/lang/fr_mail_user_filter.lng
@@ -16,6 +16,7 @@ $wb['contains_txt'] = 'Contient';
 $wb['is_txt'] = 'Est';
 $wb['begins_with_txt'] = 'Commence par';
 $wb['ends_with_txt'] = 'Fini par';
+$wb['regex_txt'] = 'Matches Regex';
 $wb['delete_txt'] = 'Supprimer';
 $wb['move_stop_txt'] = 'Move to';
 $wb['header_txt'] = 'Header';
diff --git a/interface/web/mail/lib/lang/hr_mail_user_filter.lng b/interface/web/mail/lib/lang/hr_mail_user_filter.lng
index 33fd0106a8df7502e0c0b4fdb92c7a0f3b1b319b..55e46fab9144aa88b02c347accb2379624270206 100644
--- a/interface/web/mail/lib/lang/hr_mail_user_filter.lng
+++ b/interface/web/mail/lib/lang/hr_mail_user_filter.lng
@@ -16,6 +16,7 @@ $wb['contains_txt'] = 'Sadrži';
 $wb['is_txt'] = 'Is';
 $wb['begins_with_txt'] = 'Počinje sa';
 $wb['ends_with_txt'] = 'Završava sa';
+$wb['regex_txt'] = 'Matches Regex';
 $wb['delete_txt'] = 'Obriši';
 $wb['move_stop_txt'] = 'Move to';
 $wb['header_txt'] = 'Header';
diff --git a/interface/web/mail/lib/lang/hu_mail_user_filter.lng b/interface/web/mail/lib/lang/hu_mail_user_filter.lng
index a3db584920c97c0a95b53a8b05bc10fdb11c4489..8b39c062a6854e3422e8abc067dc8d1dccf4cea2 100644
--- a/interface/web/mail/lib/lang/hu_mail_user_filter.lng
+++ b/interface/web/mail/lib/lang/hu_mail_user_filter.lng
@@ -14,6 +14,7 @@ $wb['contains_txt'] = 'Tartalmazza';
 $wb['is_txt'] = 'Is';
 $wb['begins_with_txt'] = 'Begins with';
 $wb['ends_with_txt'] = 'Ends with';
+$wb['regex_txt'] = 'Matches Regex';
 $wb['target_error_regex'] = 'The target may only contain these characters: a-z, 0-9, -, ., _, and {space}';
 $wb['limit_mailfilter_txt'] = 'The max. number of mailfilters is reached.';
 $wb['delete_txt'] = 'Delete';
diff --git a/interface/web/mail/lib/lang/id_mail_user_filter.lng b/interface/web/mail/lib/lang/id_mail_user_filter.lng
index 93f45979f39348b4af6d623eb201895daee9775e..2a8ec29b459deb785e35a650ab9653bbaec3fff6 100644
--- a/interface/web/mail/lib/lang/id_mail_user_filter.lng
+++ b/interface/web/mail/lib/lang/id_mail_user_filter.lng
@@ -16,6 +16,7 @@ $wb['contains_txt'] = 'Contains';
 $wb['is_txt'] = 'Is';
 $wb['begins_with_txt'] = 'Begins with';
 $wb['ends_with_txt'] = 'Ends with';
+$wb['regex_txt'] = 'Matches Regex';
 $wb['delete_txt'] = 'Delete';
 $wb['move_stop_txt'] = 'Move to';
 $wb['header_txt'] = 'Header';
diff --git a/interface/web/mail/lib/lang/it_mail_user_filter.lng b/interface/web/mail/lib/lang/it_mail_user_filter.lng
index 827f906345186d111bb3af2b77e2d494f7f0fb2c..131b7ff6b5711a8f75aa3f2cfd5edba8c07bf4b8 100644
--- a/interface/web/mail/lib/lang/it_mail_user_filter.lng
+++ b/interface/web/mail/lib/lang/it_mail_user_filter.lng
@@ -16,6 +16,7 @@ $wb['contains_txt'] = 'Contiene';
 $wb['is_txt'] = 'è';
 $wb['begins_with_txt'] = 'Inizia con';
 $wb['ends_with_txt'] = 'Termina con';
+$wb['regex_txt'] = 'Matches Regex';
 $wb['delete_txt'] = 'Elimina';
 $wb['move_stop_txt'] = 'Move to';
 $wb['header_txt'] = 'Header';
diff --git a/interface/web/mail/lib/lang/ja_mail_user_filter.lng b/interface/web/mail/lib/lang/ja_mail_user_filter.lng
index 8ee3801cc8d146ab6086a6c66f082dc0d5902a14..7354c4026515cab15d3c12ef29ebc56ff8356796 100644
--- a/interface/web/mail/lib/lang/ja_mail_user_filter.lng
+++ b/interface/web/mail/lib/lang/ja_mail_user_filter.lng
@@ -16,6 +16,7 @@ $wb['contains_txt'] = 'Contains';
 $wb['is_txt'] = 'Is';
 $wb['begins_with_txt'] = 'Begins with';
 $wb['ends_with_txt'] = 'Ends with';
+$wb['regex_txt'] = 'Matches Regex';
 $wb['delete_txt'] = 'Delete';
 $wb['move_stop_txt'] = 'Move to';
 $wb['header_txt'] = 'Header';
diff --git a/interface/web/mail/lib/lang/nl_mail_user_filter.lng b/interface/web/mail/lib/lang/nl_mail_user_filter.lng
index 050d64aaf98fa3edbb6cc64fa473be7ab5aa16fd..99dd91b58cf08b49f4ce846a5f0c96493fa63d1a 100644
--- a/interface/web/mail/lib/lang/nl_mail_user_filter.lng
+++ b/interface/web/mail/lib/lang/nl_mail_user_filter.lng
@@ -16,6 +16,7 @@ $wb['contains_txt'] = 'Bevat';
 $wb['is_txt'] = 'Is';
 $wb['begins_with_txt'] = 'Begint met';
 $wb['ends_with_txt'] = 'Eindigt in';
+$wb['regex_txt'] = 'Matches Regex';
 $wb['delete_txt'] = 'Verwijderen';
 $wb['move_stop_txt'] = 'Verplaatsen naar';
 $wb['header_txt'] = 'Header';
diff --git a/interface/web/mail/lib/lang/pl_mail_user_filter.lng b/interface/web/mail/lib/lang/pl_mail_user_filter.lng
index d0bc6d6a288d921b8c79b35dd2467b1fb0e951a5..6c86f3e52aa7f501ed119ce3502ad43dcc4ac6e7 100644
--- a/interface/web/mail/lib/lang/pl_mail_user_filter.lng
+++ b/interface/web/mail/lib/lang/pl_mail_user_filter.lng
@@ -16,6 +16,7 @@ $wb['contains_txt'] = 'Zawiera';
 $wb['is_txt'] = 'Jest';
 $wb['begins_with_txt'] = 'Zaczyna siÄ™ od';
 $wb['ends_with_txt'] = 'Kończy się na';
+$wb['regex_txt'] = 'Matches Regex';
 $wb['delete_txt'] = 'Usuń';
 $wb['move_stop_txt'] = 'Move to';
 $wb['header_txt'] = 'Header';
diff --git a/interface/web/mail/lib/lang/pt_mail_user_filter.lng b/interface/web/mail/lib/lang/pt_mail_user_filter.lng
index 906c27ecd2d6e523b6b8ec5c255383e1d065f33e..41235591a7e091e3cd0408be0c9a69aba730b97d 100644
--- a/interface/web/mail/lib/lang/pt_mail_user_filter.lng
+++ b/interface/web/mail/lib/lang/pt_mail_user_filter.lng
@@ -16,6 +16,7 @@ $wb['contains_txt'] = 'Contains';
 $wb['is_txt'] = 'Is';
 $wb['begins_with_txt'] = 'Begins with';
 $wb['ends_with_txt'] = 'Ends with';
+$wb['regex_txt'] = 'Matches Regex';
 $wb['delete_txt'] = 'Delete';
 $wb['move_stop_txt'] = 'Move to';
 $wb['header_txt'] = 'Header';
diff --git a/interface/web/mail/lib/lang/ro_mail_user_filter.lng b/interface/web/mail/lib/lang/ro_mail_user_filter.lng
index 22435d9e91524bfa0167dd2a79a4940e828cc404..3ca08e982a5cbe7a57207cbcd18a47700048f279 100644
--- a/interface/web/mail/lib/lang/ro_mail_user_filter.lng
+++ b/interface/web/mail/lib/lang/ro_mail_user_filter.lng
@@ -16,6 +16,7 @@ $wb['contains_txt'] = 'Contains';
 $wb['is_txt'] = 'Is';
 $wb['begins_with_txt'] = 'Begins with';
 $wb['ends_with_txt'] = 'Ends with';
+$wb['regex_txt'] = 'Matches Regex';
 $wb['delete_txt'] = 'Delete';
 $wb['move_stop_txt'] = 'Move to';
 $wb['header_txt'] = 'Header';
diff --git a/interface/web/mail/lib/lang/ru_mail_user_filter.lng b/interface/web/mail/lib/lang/ru_mail_user_filter.lng
index 78fac01aee482c71c9f1b4b5c19a272fc22e5475..07e767c245ebddf5952adb401d61f35e13b3bfe4 100644
--- a/interface/web/mail/lib/lang/ru_mail_user_filter.lng
+++ b/interface/web/mail/lib/lang/ru_mail_user_filter.lng
@@ -16,6 +16,7 @@ $wb['contains_txt'] = 'Содержит';
 $wb['is_txt'] = 'Равно';
 $wb['begins_with_txt'] = 'Начинается с';
 $wb['ends_with_txt'] = 'Заканчивается на';
+$wb['regex_txt'] = 'Matches Regex';
 $wb['delete_txt'] = 'Удалить';
 $wb['move_stop_txt'] = 'Переместить в';
 $wb['header_txt'] = 'Заголовок';
diff --git a/interface/web/mail/lib/lang/se_mail_user_filter.lng b/interface/web/mail/lib/lang/se_mail_user_filter.lng
index 9830059195a097af027fe3310186350ec891395c..f8c2a6154695a6a6c5879bed62ffd337823bc23a 100644
--- a/interface/web/mail/lib/lang/se_mail_user_filter.lng
+++ b/interface/web/mail/lib/lang/se_mail_user_filter.lng
@@ -16,6 +16,7 @@ $wb['contains_txt'] = 'Innehåller';
 $wb['is_txt'] = 'Är';
 $wb['begins_with_txt'] = 'Börjar med';
 $wb['ends_with_txt'] = 'Slutar med';
+$wb['regex_txt'] = 'Matches Regex';
 $wb['delete_txt'] = 'Radera';
 $wb['move_stop_txt'] = 'Move to';
 $wb['header_txt'] = 'Header';
diff --git a/interface/web/mail/lib/lang/sk_mail_user_filter.lng b/interface/web/mail/lib/lang/sk_mail_user_filter.lng
index 7546cd6afa278c1cf57224c389335b9ee147f6dc..966161ed3f7f509bf93c54f69d0f8289a5756b14 100644
--- a/interface/web/mail/lib/lang/sk_mail_user_filter.lng
+++ b/interface/web/mail/lib/lang/sk_mail_user_filter.lng
@@ -16,6 +16,7 @@ $wb['contains_txt'] = 'Contains';
 $wb['is_txt'] = 'Is';
 $wb['begins_with_txt'] = 'Begins with';
 $wb['ends_with_txt'] = 'Ends with';
+$wb['regex_txt'] = 'Matches Regex';
 $wb['delete_txt'] = 'Delete';
 $wb['move_stop_txt'] = 'Move to';
 $wb['header_txt'] = 'Header';
diff --git a/interface/web/mail/lib/lang/tr_mail_user_filter.lng b/interface/web/mail/lib/lang/tr_mail_user_filter.lng
index 6d4e0b8868c128e6a834d7bcd397c49dd0629bd9..816174445b4031f181c79fe477118594c8caea82 100644
--- a/interface/web/mail/lib/lang/tr_mail_user_filter.lng
+++ b/interface/web/mail/lib/lang/tr_mail_user_filter.lng
@@ -16,6 +16,7 @@ $wb['contains_txt'] = 'Şunu içeren';
 $wb['is_txt'] = 'Şununla aynı';
 $wb['begins_with_txt'] = 'Åžununla baÅŸlayan';
 $wb['ends_with_txt'] = 'Åžununla biten';
+$wb['regex_txt'] = 'Matches Regex';
 $wb['move_stop_txt'] = 'Şuraya taşı';
 $wb['delete_txt'] = 'Sil';
 $wb['header_txt'] = 'Başlık';
diff --git a/interface/web/remote/monitor.php b/interface/web/remote/monitor.php
deleted file mode 100644
index 914a09382ea4fa65d1442912d8fb42436e67ef09..0000000000000000000000000000000000000000
--- a/interface/web/remote/monitor.php
+++ /dev/null
@@ -1,64 +0,0 @@
-<?php
-require_once '../../lib/config.inc.php';
-$conf['start_session'] = false;
-require_once '../../lib/app.inc.php';
-
-if($conf['demo_mode'] == true) $app->error('This function is disabled in demo mode.');
-
-header('Content-Type: application/json; charset=utf-8');
-header('Access-Control-Allow-Origin: *');
-header('Access-Control-Allow-Headers: X-Requested-With');
-header('Cache-Control: no-cache, must-revalidate'); // HTTP/1.1
-header('Expires: Sat, 26 Jul 1997 05:00:00 GMT'); // Date in the past
-
-$type = addslashes($_GET['type']);
-$token = addslashes($_GET['token']);
-$server_id = $app->functions->intval($_GET['server']);
-
-$app->uses('getconf');
-$interface_config = $app->getconf->get_global_config('misc');
-$secret = $interface_config['monitor_key'];
-
-$out = array();
-
-if($token == '' or $secret == '' or $token != $secret) {
-	$out['state'] = 'syserror';
-	$out['data'] = 'Password empty or incorrect.';
-	$out['time'] = date('Y-m-d H:i');
-} else {
-	if($type == 'serverlist') {
-		$sql = 'SELECT server_id, server_name FROM server WHERE 1 ORDER BY server_id';
-		$records = $app->db->queryAllRecords($sql);
-		foreach($records as $index => $rec) {
-			$rec = $app->db->queryOneRecord("SELECT * FROM monitor_data WHERE server_id = ? AND state NOT IN ('ok', 'no_state', 'info')", $rec['server_id']);
-			if($rec) $records[$index]['state'] = 'warn';
-			else $records[$index]['state'] = 'ok';
-		}
-		$out['state'] = 'ok';
-		$out['data'] = $records;
-		$out['time'] = date('Y-m-d H:i', $rec['created']);
-	} else {
-		$rec = $app->db->queryOneRecord("SELECT * FROM monitor_data WHERE type = ? AND server_id = ?", $type, $server_id);
-		if(is_array($rec)) {
-			$out['state'] = $rec['state'];
-			$out['data'] = unserialize(stripslashes($rec['data']));
-			if(is_array($out['data']) && sizeof($out['data']) > 0){
-				foreach($out['data'] as $key => $val){
-					if(!$val) $out['data'][$key] = "&nbsp;";
-				}
-			}
-			$out['time'] = date('Y-m-d H:i', $rec['created']);
-		} else {
-			$out['state'] = 'syserror';
-			$out['data'] = 'No monitor record found.';
-			$out['time'] = date('Y-m-d H:i');
-		}
-		$sql = 'SELECT server_id, server_name FROM server WHERE 1 ORDER BY server_id';
-		$records = $app->db->queryAllRecords($sql);
-		$out['serverlist'] = $records;
-	}
-}
-$out['type'] = $type;
-echo json_encode($out);
-exit;
-?>
diff --git a/interface/web/sites/templates/web_vhost_domain_advanced.htm b/interface/web/sites/templates/web_vhost_domain_advanced.htm
index f1df422bad7f01ec2bb6bbc741b154b87d739aa8..e878a06fbbc6477d818f70c348188fdd7af5c96d 100644
--- a/interface/web/sites/templates/web_vhost_domain_advanced.htm
+++ b/interface/web/sites/templates/web_vhost_domain_advanced.htm
@@ -1,198 +1,206 @@
 <tmpl_if name="config_error_msg">
-<div style="background: #ffdfdf; border: 1px solid #df7d7d; border-width: 1px 0; margin: 1.5em 0 1.5em 0; padding: 7px;">
-                <p style="font-face:bold">{tmpl_var name='configuration_error_txt'}</p>
-				<div>
-				<div style="float:left;width:150px;">{tmpl_var name='config_error_tstamp'} :&nbsp;</div><div style="padding-left:150px;">{tmpl_var name='config_error_msg'}</div>
-				</div>
-</div>
+  <div style="background: #ffdfdf; border: 1px solid #df7d7d; border-width: 1px 0; margin: 1.5em 0 1.5em 0; padding: 7px;">
+    <p style="font-face:bold">{tmpl_var name='configuration_error_txt'}</p>
+    <div>
+      <div style="float:left;width:150px;">{tmpl_var name='config_error_tstamp'} :&nbsp;</div>
+      <div style="padding-left:150px;">{tmpl_var name='config_error_msg'}</div>
+    </div>
+  </div>
 </tmpl_if>
+<input name="document_root" id="document_root" value="{tmpl_var name='document_root'}" size="30" maxlength="255" type="hidden" class="textInput" />
+<div class="form-group">
+  <label for="added_date" class="col-sm-3 control-label">{tmpl_var name='added_date_txt'}</label>
+  <div class="col-sm-9"><input type="text" name="added_date" id="added_date" value="{tmpl_var name='added_date'}" class="form-control" /></div>
+</div>
+<div class="form-group">
+  <label for="added_by" class="col-sm-3 control-label">{tmpl_var name='added_by_txt'}</label>
+  <div class="col-sm-9"><input type="text" name="added_by" id="added_by" value="{tmpl_var name='added_by'}" class="form-control" /></div>
+</div>
+<div class="form-group">
+  <label for="system_user" class="col-sm-3 control-label">{tmpl_var name='system_user_txt'}</label>
+  <div class="col-sm-9">
+    <div class="checkbox">&nbsp; &nbsp;{tmpl_var name='system_user'}</div>
+  </div>
+  <input name="system_user" id="system_user" value="{tmpl_var name='system_user'}" type="hidden" />
+</div>
+<div class="form-group">
+  <label for="system_group" class="col-sm-3 control-label">{tmpl_var name='system_group_txt'}</label>
+  <div class="col-sm-9">
+    <div class="checkbox">&nbsp; &nbsp;{tmpl_var name='system_group'}</div>
+  </div>
+  <input name="system_group" id="system_group" value="{tmpl_var name='system_group'}" type="hidden" />
+</div>
+<div class="form-group">
+  <label for="log_retention" class="col-sm-3 control-label">{tmpl_var name='log_retention_txt'}</label>
+  <div class="col-sm-9"><input name="log_retention" id="log_retention" value="{tmpl_var name='log_retention'}" type="text" class="form-control" /></div>
+</div>
+<div class="form-group apache">
+  <label for="allow_override" class="col-sm-3 control-label">{tmpl_var name='allow_override_txt'}</label>
+  <div class="col-sm-9"><input type="text" name="allow_override" id="allow_override" value="{tmpl_var name='allow_override'}" class="form-control" /></div>
+</div>
+<div class="form-group nginx">
+  <label for="http_port" class="col-sm-3 control-label">{tmpl_var name='http_port_txt'}</label>
+  <div class="col-sm-9"><input name="http_port" id="http_port" value="{tmpl_var name='http_port'}" type="text" class="form-control" /></div>
+</div>
+<div class="form-group nginx">
+  <label for="https_port" class="col-sm-3 control-label">{tmpl_var name='https_port_txt'}</label>
+  <div class="col-sm-9"><input name="https_port" id="https_port" value="{tmpl_var name='https_port'}" type="text" class="form-control" /></div>
+</div>
+<div class="form-group">
+  <label class="col-sm-3 control-label">{tmpl_var name='proxy_protocol_txt'}</label>
+  <div class="col-sm-9">
+    {tmpl_var name='proxy_protocol'}
+  </div>
+</div>
+<div class="phpfpm">
+  <div class="form-group">
+    <label class="col-sm-3 control-label">{tmpl_var name='php_fpm_use_socket_txt'}</label>
+    <div class="col-sm-9">
+      {tmpl_var name='php_fpm_use_socket'}
+    </div>
+  </div>
+  <div class="form-group">
+    <label class="col-sm-3 control-label">{tmpl_var name='php_fpm_chroot_txt'}</label>
+    <div class="col-sm-9">
+      {tmpl_var name='php_fpm_chroot'}
+    </div>
+  </div>
+  <div class="form-group">
+    <label for="pm" class="col-sm-3 control-label">{tmpl_var name='pm_txt'}</label>
+    <div class="col-sm-9"><select name="pm" id="pm" class="form-control">
+      {tmpl_var name='pm'}
+      </select>
+    </div>
+  </div>
+  <div class="ctrlHolder pm_ondemand" style="background: #ffdfdf; border: 1px solid #df7d7d; border-width: 1px 0; margin: 1.5em 0 1.5em 0; padding: 7px;">
+    {tmpl_var name='pm_ondemand_hint_txt'}
+  </div>
+  <div class="form-group">
+    <label for="pm_max_children" class="col-sm-3 control-label">{tmpl_var name='pm_max_children_txt'}</label>
+    <div class="col-sm-9"><input type="text" name="pm_max_children" id="pm_max_children" value="{tmpl_var name='pm_max_children'}" class="form-control" /></div>
+  </div>
+  <div class="form-group pm_dynamic">
+    <label for="pm_start_servers" class="col-sm-3 control-label">{tmpl_var name='pm_start_servers_txt'}</label>
+    <div class="col-sm-9"><input type="text" name="pm_start_servers" id="pm_start_servers" value="{tmpl_var name='pm_start_servers'}" class="form-control" /></div>
+  </div>
+  <div class="form-group pm_dynamic">
+    <label for="pm_min_spare_servers" class="col-sm-3 control-label">{tmpl_var name='pm_min_spare_servers_txt'}</label>
+    <div class="col-sm-9"><input type="text" name="pm_min_spare_servers" id="pm_min_spare_servers" value="{tmpl_var name='pm_min_spare_servers'}" class="form-control" /></div>
+  </div>
+  <div class="form-group pm_dynamic">
+    <label for="pm_max_spare_servers" class="col-sm-3 control-label">{tmpl_var name='pm_max_spare_servers_txt'}</label>
+    <div class="col-sm-9"><input type="text" name="pm_max_spare_servers" id="pm_max_spare_servers" value="{tmpl_var name='pm_max_spare_servers'}" class="form-control" /></div>
+  </div>
+  <div class="form-group pm_ondemand">
+    <label for="pm_process_idle_timeout" class="col-sm-3 control-label">{tmpl_var name='pm_process_idle_timeout_txt'}</label>
+    <div class="col-sm-6"><input type="text" name="pm_process_idle_timeout" id="pm_process_idle_timeout" value="{tmpl_var name='pm_process_idle_timeout'}" class="form-control" /></div>
+    <div class="col-sm-3 input-sm">&nbsp;s
+    </div>
+  </div>
+  <div class="form-group">
+    <label for="pm_max_requests" class="col-sm-3 control-label">{tmpl_var name='pm_max_requests_txt'}</label>
+    <div class="col-sm-9"><input type="text" name="pm_max_requests" id="pm_max_requests" value="{tmpl_var name='pm_max_requests'}" class="form-control" /></div>
+  </div>
+</div>
+<div class="form-group php">
+  <label for="php_open_basedir" class="col-sm-3 control-label">{tmpl_var name='php_open_basedir_txt'}</label>
+  <div class="col-sm-9"><input type="text" name="php_open_basedir" id="php_open_basedir" value="{tmpl_var name='php_open_basedir'}" class="form-control" /></div>
+</div>
+<div class="form-group php">
+  <label for="custom_php_ini" class="col-sm-3 control-label">{tmpl_var name='custom_php_ini_txt'}</label>
+  <div class="col-sm-9"><textarea class="form-control" name="custom_php_ini" id="custom_php_ini" rows='10' cols='50'>{tmpl_var name='custom_php_ini'}</textarea>
+    <b>{tmpl_var name="available_php_directive_snippets_txt"}</b><br><br>&nbsp;{tmpl_var name="php_directive_snippets_txt"}
+  </div>
+</div>
+<div class="form-group apache">
+  <label for="apache_directives" class="col-sm-3 control-label">{tmpl_var name='apache_directives_txt'}</label>
+  <div class="col-sm-9"><textarea class="form-control" name="apache_directives" id="apache_directives" rows='10' cols='50'>{tmpl_var name='apache_directives'}</textarea>
+    <b>{tmpl_var name="available_apache_directive_snippets_txt"}</b><br><br>&nbsp;{tmpl_var name="apache_directive_snippets_txt"}<br>----<br><b>&nbsp;{tmpl_var name='variables_txt'}:</b> <a href="javascript:void(0);" class="addPlaceholder">{DOCROOT}</a>,  <a href="javascript:void(0);" class="addPlaceholder">{DOCROOT_CLIENT}</a>,  <a href="javascript:void(0);" class="addPlaceholder">{DOMAIN}</a>
+  </div>
+</div>
+<div class="form-group nginx">
+  <label for="nginx_directives" class="col-sm-3 control-label">{tmpl_var name='nginx_directives_txt'}</label>
+  <div class="col-sm-9"><textarea class="form-control" name="nginx_directives" id="nginx_directives" rows='10' cols='50'>{tmpl_var name='nginx_directives'}</textarea>
+    <b>{tmpl_var name="available_nginx_directive_snippets_txt"}</b><br><br>&nbsp;{tmpl_var name="nginx_directive_snippets_txt"}<br>----<br><b>&nbsp;{tmpl_var name='variables_txt'}:</b> <a href="javascript:void(0);" class="addPlaceholder">{DOCROOT}</a>,  <a href="javascript:void(0);" class="addPlaceholder">{DOCROOT_CLIENT}</a>,  <a href="javascript:void(0);" class="addPlaceholder">{DOMAIN}</a>,  <a href="javascript:void(0);" class="addPlaceholder">{FASTCGIPASS}</a>, <a href="javascript:void(0);" class="addPlaceholder">{PHPFALLBACKFASTCGIPASS}</a>
+  </div>
+</div>
+<div class="form-group proxy">
+  <label for="proxy_directives" class="col-sm-3 control-label">{tmpl_var name='proxy_directives_txt'}</label>
+  <div class="col-sm-9"><textarea class="form-control" name="proxy_directives" id="proxy_directives" rows='10'>{tmpl_var name='proxy_directives'}</textarea>
+    <b>{tmpl_var name="available_proxy_directive_snippets_txt"}</b><br><br>&nbsp;{tmpl_var name="proxy_directive_snippets_txt"}
+  </div>
+</div>
+<input type="hidden" name="id" value="{tmpl_var name='id'}">
+<div class="clear">
+  <div class="right">
+    <button class="btn btn-default formbutton-success" type="button" value="{tmpl_var name='btn_save_txt'}" data-submit-form="pageForm" data-form-action="sites/web_vhost_domain_edit.php">{tmpl_var name='btn_save_txt'}</button>
+    <button class="btn btn-default formbutton-default" type="button" value="{tmpl_var name='btn_cancel_txt'}" data-load-content="sites/web_vhost_domain_list.php">{tmpl_var name='btn_cancel_txt'}</button>
+  </div>
+</div>
+<script language="JavaScript" type="text/javascript">
+  var webId = jQuery('input[name="id"]').val();
+  var serverId;
+  getServerId();
+  adjustForm();
 
+  var pm = jQuery('#pm').val();
+  pmMode(pm);
+  jQuery('#pm').change(function(){
+      pm = jQuery(this).val();
+      pmMode(pm);
+  });
 
-        
-            <input name="document_root" id="document_root" value="{tmpl_var name='document_root'}" size="30" maxlength="255" type="hidden" class="textInput" />
-            <div class="form-group">
-                <label for="added_date" class="col-sm-3 control-label">{tmpl_var name='added_date_txt'}</label>
-                <div class="col-sm-9"><input type="text" name="added_date" id="added_date" value="{tmpl_var name='added_date'}" class="form-control" /></div></div>
-			<div class="form-group">
-                <label for="added_by" class="col-sm-3 control-label">{tmpl_var name='added_by_txt'}</label>
-                <div class="col-sm-9"><input type="text" name="added_by" id="added_by" value="{tmpl_var name='added_by'}" class="form-control" /></div></div>
-			<div class="form-group">
-                <label for="system_user" class="col-sm-3 control-label">{tmpl_var name='system_user_txt'}</label>
-                <div class="col-sm-9">
-                <div class="checkbox">&nbsp; &nbsp;{tmpl_var name='system_user'}</div>
-                </div>
-                <input name="system_user" id="system_user" value="{tmpl_var name='system_user'}" type="hidden" />
-            </div>
-            <div class="form-group">
-                <label for="system_group" class="col-sm-3 control-label">{tmpl_var name='system_group_txt'}</label>
-                <div class="col-sm-9">
-                <div class="checkbox">&nbsp; &nbsp;{tmpl_var name='system_group'}</div>
-                </div>
-                <input name="system_group" id="system_group" value="{tmpl_var name='system_group'}" type="hidden" />
-            </div>
-            <div class="form-group">
-                <label for="log_retention" class="col-sm-3 control-label">{tmpl_var name='log_retention_txt'}</label>
-                <div class="col-sm-9"><input name="log_retention" id="log_retention" value="{tmpl_var name='log_retention'}" type="text" class="form-control" /></div>
-            </div>
-            <div class="form-group apache">
-                <label for="allow_override" class="col-sm-3 control-label">{tmpl_var name='allow_override_txt'}</label>
-                <div class="col-sm-9"><input type="text" name="allow_override" id="allow_override" value="{tmpl_var name='allow_override'}" class="form-control" /></div></div>
-			<div class="form-group nginx">
-                <label for="http_port" class="col-sm-3 control-label">{tmpl_var name='http_port_txt'}</label>
-                <div class="col-sm-9"><input name="http_port" id="http_port" value="{tmpl_var name='http_port'}" type="text" class="form-control" /></div>
-            </div>
-			<div class="form-group nginx">
-                <label for="https_port" class="col-sm-3 control-label">{tmpl_var name='https_port_txt'}</label>
-                <div class="col-sm-9"><input name="https_port" id="https_port" value="{tmpl_var name='https_port'}" type="text" class="form-control" /></div>
-            </div>
-            <div class="form-group">
-                <label class="col-sm-3 control-label">{tmpl_var name='proxy_protocol_txt'}</label>
-                <div class="col-sm-9">
-                    {tmpl_var name='proxy_protocol'}
-                </div>
-            </div>
-            <div class="phpfpm">
-                <div class="form-group">
-                    <label class="col-sm-3 control-label">{tmpl_var name='php_fpm_use_socket_txt'}</label>
-                    <div class="col-sm-9">
-                        {tmpl_var name='php_fpm_use_socket'}
-                    </div>
-                </div>
-                <div class="form-group">
-                    <label class="col-sm-3 control-label">{tmpl_var name='php_fpm_chroot_txt'}</label>
-                    <div class="col-sm-9">
-                        {tmpl_var name='php_fpm_chroot'}
-                    </div>
-                </div>
-                <div class="form-group">
-                    <label for="pm" class="col-sm-3 control-label">{tmpl_var name='pm_txt'}</label>
-                    <div class="col-sm-9"><select name="pm" id="pm" class="form-control">
-                        {tmpl_var name='pm'}
-                    </select></div>
-                </div>
-                <div class="ctrlHolder pm_ondemand" style="background: #ffdfdf; border: 1px solid #df7d7d; border-width: 1px 0; margin: 1.5em 0 1.5em 0; padding: 7px;">
-                    {tmpl_var name='pm_ondemand_hint_txt'}
-                </div>
-                <div class="form-group">
-                    <label for="pm_max_children" class="col-sm-3 control-label">{tmpl_var name='pm_max_children_txt'}</label>
-                    <div class="col-sm-9"><input type="text" name="pm_max_children" id="pm_max_children" value="{tmpl_var name='pm_max_children'}" class="form-control" /></div></div>
-                <div class="form-group pm_dynamic">
-                    <label for="pm_start_servers" class="col-sm-3 control-label">{tmpl_var name='pm_start_servers_txt'}</label>
-                    <div class="col-sm-9"><input type="text" name="pm_start_servers" id="pm_start_servers" value="{tmpl_var name='pm_start_servers'}" class="form-control" /></div></div>
-                <div class="form-group pm_dynamic">
-                    <label for="pm_min_spare_servers" class="col-sm-3 control-label">{tmpl_var name='pm_min_spare_servers_txt'}</label>
-                    <div class="col-sm-9"><input type="text" name="pm_min_spare_servers" id="pm_min_spare_servers" value="{tmpl_var name='pm_min_spare_servers'}" class="form-control" /></div></div>
-                <div class="form-group pm_dynamic">
-                    <label for="pm_max_spare_servers" class="col-sm-3 control-label">{tmpl_var name='pm_max_spare_servers_txt'}</label>
-                    <div class="col-sm-9"><input type="text" name="pm_max_spare_servers" id="pm_max_spare_servers" value="{tmpl_var name='pm_max_spare_servers'}" class="form-control" /></div></div>
-                <div class="form-group pm_ondemand">
-                    <label for="pm_process_idle_timeout" class="col-sm-3 control-label">{tmpl_var name='pm_process_idle_timeout_txt'}</label>
-                    <div class="col-sm-6"><input type="text" name="pm_process_idle_timeout" id="pm_process_idle_timeout" value="{tmpl_var name='pm_process_idle_timeout'}" class="form-control" /></div><div class="col-sm-3 input-sm">&nbsp;s
-                </div></div>
-                <div class="form-group">
-                    <label for="pm_max_requests" class="col-sm-3 control-label">{tmpl_var name='pm_max_requests_txt'}</label>
-                    <div class="col-sm-9"><input type="text" name="pm_max_requests" id="pm_max_requests" value="{tmpl_var name='pm_max_requests'}" class="form-control" /></div></div>
-            </div>
-            <div class="form-group php">
-                <label for="php_open_basedir" class="col-sm-3 control-label">{tmpl_var name='php_open_basedir_txt'}</label>
-                <div class="col-sm-9"><input type="text" name="php_open_basedir" id="php_open_basedir" value="{tmpl_var name='php_open_basedir'}" class="form-control" /></div></div>
-            <div class="form-group php">
-                <label for="custom_php_ini" class="col-sm-3 control-label">{tmpl_var name='custom_php_ini_txt'}</label>
-                <div class="col-sm-9"><textarea class="form-control" name="custom_php_ini" id="custom_php_ini" rows='10' cols='50'>{tmpl_var name='custom_php_ini'}</textarea>
-				<b>{tmpl_var name="available_php_directive_snippets_txt"}</b><br><br>&nbsp;{tmpl_var name="php_directive_snippets_txt"}
-				</div>
-            </div>
-            <div class="form-group apache">
-                <label for="apache_directives" class="col-sm-3 control-label">{tmpl_var name='apache_directives_txt'}</label>
-                <div class="col-sm-9"><textarea class="form-control" name="apache_directives" id="apache_directives" rows='10' cols='50'>{tmpl_var name='apache_directives'}</textarea>
-				<b>{tmpl_var name="available_apache_directive_snippets_txt"}</b><br><br>&nbsp;{tmpl_var name="apache_directive_snippets_txt"}<br>----<br><b>&nbsp;{tmpl_var name='variables_txt'}:</b> <a href="javascript:void(0);" class="addPlaceholder">{DOCROOT}</a>,  <a href="javascript:void(0);" class="addPlaceholder">{DOCROOT_CLIENT}</a>
-				</div>
-			</div>
-            <div class="form-group nginx">
-                <label for="nginx_directives" class="col-sm-3 control-label">{tmpl_var name='nginx_directives_txt'}</label>
-                <div class="col-sm-9"><textarea class="form-control" name="nginx_directives" id="nginx_directives" rows='10' cols='50'>{tmpl_var name='nginx_directives'}</textarea>
-				<b>{tmpl_var name="available_nginx_directive_snippets_txt"}</b><br><br>&nbsp;{tmpl_var name="nginx_directive_snippets_txt"}<br>----<br><b>&nbsp;{tmpl_var name='variables_txt'}:</b> <a href="javascript:void(0);" class="addPlaceholder">{DOCROOT}</a>,  <a href="javascript:void(0);" class="addPlaceholder">{DOCROOT_CLIENT}</a>, <a href="javascript:void(0);" class="addPlaceholder">{FASTCGIPASS}</a>, <a href="javascript:void(0);" class="addPlaceholder">{PHPFALLBACKFASTCGIPASS}</a>
-				</div>
-			</div>
-			<div class="form-group proxy">
-                <label for="proxy_directives" class="col-sm-3 control-label">{tmpl_var name='proxy_directives_txt'}</label>
-                <div class="col-sm-9"><textarea class="form-control" name="proxy_directives" id="proxy_directives" rows='10'>{tmpl_var name='proxy_directives'}</textarea>
-				<b>{tmpl_var name="available_proxy_directive_snippets_txt"}</b><br><br>&nbsp;{tmpl_var name="proxy_directive_snippets_txt"}
-				</div>
-            </div>
-        
+  function pmMode(pm){
+      switch(pm){
+          case "static":
+              jQuery('.pm_dynamic').add('.pm_ondemand').hide();
+              jQuery('.pm_static').show();
+              break;
+          case "dynamic":
+              jQuery('.pm_static').add('.pm_ondemand').hide();
+              jQuery('.pm_dynamic').show();
+              break;
+          case "ondemand":
+              jQuery('.pm_static').add('.pm_dynamic').hide();
+              jQuery('.pm_ondemand').show();
+              break;
+      }
+  }
 
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
+  function getServerId(){
+      jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {web_id : webId, type : "getserverid"}, function(data) {
+          serverId = data.serverid;
+      });
+  }
 
-        <div class="clear"><div class="right">
-            <button class="btn btn-default formbutton-success" type="button" value="{tmpl_var name='btn_save_txt'}" data-submit-form="pageForm" data-form-action="sites/web_vhost_domain_edit.php">{tmpl_var name='btn_save_txt'}</button>
-            <button class="btn btn-default formbutton-default" type="button" value="{tmpl_var name='btn_cancel_txt'}" data-load-content="sites/web_vhost_domain_list.php">{tmpl_var name='btn_cancel_txt'}</button>
-        </div></div>
-<script language="JavaScript" type="text/javascript">
-    var webId = jQuery('input[name="id"]').val();
-    var serverId;
-    getServerId();
-    adjustForm();
-		
-    var pm = jQuery('#pm').val();
-    pmMode(pm);
-    jQuery('#pm').change(function(){
-        pm = jQuery(this).val();
-        pmMode(pm);
-    });
-		
-    function pmMode(pm){
-        switch(pm){
-            case "static":
-                jQuery('.pm_dynamic').add('.pm_ondemand').hide();
-                jQuery('.pm_static').show();
-                break;
-            case "dynamic":
-                jQuery('.pm_static').add('.pm_ondemand').hide();
-                jQuery('.pm_dynamic').show();
-                break;
-            case "ondemand":
-                jQuery('.pm_static').add('.pm_dynamic').hide();
-                jQuery('.pm_ondemand').show();
-                break;
-        }
-    }
-		
-    function getServerId(){
-        jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {web_id : webId, type : "getserverid"}, function(data) {
-            serverId = data.serverid;
-        });
-    }
-		
-    function adjustForm(){
-        jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {server_id : serverId, type : "getservertype"}, function(data) {
-            if(data.servertype == "nginx"){
-                jQuery('.nginx').show();
-                jQuery('.apache').hide();
-            } else {
-                jQuery('.nginx').hide();
-                jQuery('.apache').show();
-            }
-        });
-        jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {web_id : webId, type : "getphptype"}, function(data) {
-            if(data.phptype == "php-fpm"){
-                jQuery('.phpfpm').show();
-            } else {
-                jQuery('.phpfpm').hide();
-            }
-			if(data.phptype == "no"){
-                jQuery('.php').hide();
-            } else {
-                jQuery('.php').show();
-            }
-        });
-		jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {web_id : webId, type : "getredirecttype"}, function(data) {
-            if(data.redirecttype == "proxy"){
-                jQuery('.proxy').show();
-            } else {
-                jQuery('.proxy').hide();
-            }
-        });
-    }
-			
+  function adjustForm(){
+      jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {server_id : serverId, type : "getservertype"}, function(data) {
+          if(data.servertype == "nginx"){
+              jQuery('.nginx').show();
+              jQuery('.apache').hide();
+          } else {
+              jQuery('.nginx').hide();
+              jQuery('.apache').show();
+          }
+      });
+      jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {web_id : webId, type : "getphptype"}, function(data) {
+          if(data.phptype == "php-fpm"){
+              jQuery('.phpfpm').show();
+          } else {
+              jQuery('.phpfpm').hide();
+          }
+  if(data.phptype == "no"){
+              jQuery('.php').hide();
+          } else {
+              jQuery('.php').show();
+          }
+      });
+  jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {web_id : webId, type : "getredirecttype"}, function(data) {
+          if(data.redirecttype == "proxy"){
+              jQuery('.proxy').show();
+          } else {
+              jQuery('.proxy').hide();
+          }
+      });
+  }
 </script>
diff --git a/security/ids.whitelist b/security/ids.whitelist
index 6a953f45cf4216b4fef56ec565676b4dd2f8990a..d9b0ba70b5bbd06d8e51641597b38e25e8b04a92 100644
--- a/security/ids.whitelist
+++ b/security/ids.whitelist
@@ -55,4 +55,6 @@ user:/login/index.php:POST.password
 user:/mail/mail_domain_edit.php:POST.dkim_private
 user:/mail/mail_domain_edit.php:POST.dkim_public
 user:/mail/mail_domain_edit.php:POST.dns_record
-user:/sites/web_vhost_domain_edit.php:POST.fastcgi_php_version
\ No newline at end of file
+admin:/mail/mail_user_filter_edit.php:POST.searchterm
+user:/mail/mail_user_filter_edit.php:POST.searchterm
+admin:/mail/mail_user_edit.php:POST.custom_mailfilter
diff --git a/server/conf/apache_apps.vhost.master b/server/conf/apache_apps.vhost.master
index f65f47df90cf5df9868aecd50cb1d2a593f3fade..8d6df71b7da0cf2c07e7e57cce50c77d04787b2e 100644
--- a/server/conf/apache_apps.vhost.master
+++ b/server/conf/apache_apps.vhost.master
@@ -58,12 +58,6 @@
   <tmpl_var name="ssl_comment">SSLStaplingReturnResponderErrors Off
   </tmpl_if>
 
-<tmpl_if name='apache_version' op='>=' value='2.3.3' format='version'>
-<IfModule mod_ssl.c>
-  <tmpl_var name="ssl_comment">SSLStaplingCache shmcb:/var/run/ocsp(128000)
-</IfModule>
-</tmpl_if>
-
   <IfModule mod_headers.c>
 	RequestHeader unset Proxy early
   </IfModule>
@@ -127,6 +121,10 @@
   RewriteRule ^/rspamd/(.*) http://127.0.0.1:11334/$1 [P]
 {/tmpl_if}
 
-
-
 </VirtualHost>
+
+<tmpl_if name='apache_version' op='>=' value='2.3.3' format='version'>
+<IfModule mod_ssl.c>
+  <tmpl_var name="ssl_comment">SSLStaplingCache shmcb:/var/run/ocsp(128000)
+</IfModule>
+</tmpl_if>
diff --git a/server/conf/goaccess_index.php.master b/server/conf/goaccess_index.php.master
index d0a8bf3c84a39a3e1cab901fef8f64f674a37315..ecb91c7a9cbaefeabd668a651f32cf1b24503f48 100644
--- a/server/conf/goaccess_index.php.master
+++ b/server/conf/goaccess_index.php.master
@@ -60,6 +60,7 @@ foreach ($goaprev as $key => $value)
 $goaccessindex = 'goaindex.html';
 
 $html = "<!DOCTYPE html>\n<html>\n<head>\n<title>Stats</title>\n";
+$html .= "<meta charset=\"UTF-8\">\n";
 $html .= "<style>\nhtml,body {margin:0px;padding:0px;width:100%;height:100%;background-color: #ccc;}\n";
 $html .= "#header\n{\nwidth:100%;margin:0px auto;\nheight:20px;\nposition:fixed;\npadding:4px;\ntext-align:center;\n}\n";
 $html .= "iframe {width:100%;height:95%;margin:0px;margin-top:40px;border:0px;padding:0px;}\n</style>\n</head>\n<body>\n";
diff --git a/server/conf/nginx_vhost.conf.master b/server/conf/nginx_vhost.conf.master
index c7e36de39e341ebcb40671d80ad47aac626f7e87..e00a892fece390ee61e6aa97d98bae5dd402e0fc 100644
--- a/server/conf/nginx_vhost.conf.master
+++ b/server/conf/nginx_vhost.conf.master
@@ -34,7 +34,7 @@ server {
         server_name <tmpl_var name='domain'> <tmpl_var name='alias'>;
 
         root   <tmpl_var name='web_document_root_www'>;
-		disable_symlinks if_not_owner;
+		disable_symlinks if_not_owner from=$document_root;
 
 <tmpl_if name='ssl_enabled'>
 <tmpl_if name='rewrite_to_https' op='==' value='y'>
diff --git a/server/lib/classes/cron.d/150-goaccess.inc.php b/server/lib/classes/cron.d/150-goaccess.inc.php
index 8f397c819a2bde230d49314a8e861fd385749165..7bdbbeb03b28e2f02937e021a72020bc5f6ce5b3 100644
--- a/server/lib/classes/cron.d/150-goaccess.inc.php
+++ b/server/lib/classes/cron.d/150-goaccess.inc.php
@@ -56,7 +56,7 @@ class cronjob_goaccess extends cronjob {
 		// Create goaccess statistics
 		//######################################################################################################
 
-		$sql = "SELECT domain_id, domain, document_root, web_folder, type, system_user, system_group, parent_domain_id FROM web_domain WHERE (type = 'vhost' or type = 'vhostsubdomain' or type = 'vhostalias') and stats_type = 'goaccess' AND server_id = ?";
+		$sql = "SELECT domain_id, sys_groupid, domain, document_root, web_folder, type, system_user, system_group, parent_domain_id FROM web_domain WHERE (type = 'vhost' or type = 'vhostsubdomain' or type = 'vhostalias') and stats_type = 'goaccess' AND server_id = ?";
 		$records = $app->db->queryAllRecords($sql, $conf['server_id']);
 
 		$web_config = $app->getconf->get_server_config($conf['server_id'], 'web');
@@ -130,21 +130,13 @@ class cronjob_goaccess extends cronjob {
 						unset($content);
 					}
 
-					/* Update the primary domain name in the title, it could occasionally change */
-					if(is_file($goaccess_conf) && (filesize($goaccess_conf) > 0)) {
-						$content = $app->system->file_get_contents($goaccess_conf, true);
-						$content = preg_replace('/^(#)?html-report-title(.*)/m', "html-report-title $domain", $content);
-						$app->system->file_put_contents($goaccess_conf, $content, true);
-						unset($content);
-					}
-
 	                                $username = $rec['system_user'];
 	                                $groupname = $rec['system_group'];
 	                                $docroot = $rec['document_root'];
 
 					if(!@is_dir($statsdir)) $app->system->mkdirpath($statsdir, 0755, $username, $groupname);
 
-					$goa_db_dir = $docroot.'/'.$web_folder.'/stats/.db/';
+                                        $goa_db_dir = $docroot.'/log/goaccess_db';
 					$output_html = $docroot.'/'.$web_folder.'/stats/goaindex.html';
 		                        if(!@is_dir($goa_db_dir)) $app->system->mkdirpath($goa_db_dir);
 	
@@ -177,11 +169,6 @@ class cronjob_goaccess extends cronjob {
 							 $app->system->mkdirpath($statsdirold, 0755, $username, $groupname);
 						}
 
-						// don't rotate db files per month
-						//rename($goa_db_dir, $statsdirold.'db');
-						//mkdir($goa_db_dir);
-
-
 						$files = scandir($statsdir);
 
 						foreach ($files as $file) {
@@ -199,12 +186,48 @@ class cronjob_goaccess extends cronjob {
 					}
 
 
-					/*
-					 * GoAccess removed with 1.4 btree support and supports from this version on only "In-Memory with On-Disk Persitance Storage".
-					 * For versions prior 1.4 you need GoAccess with btree support compiled!
-					 */
-				
-					$cust_lang = $conf['language']."_".strtoupper($conf['language']);
+					$sql_user = "SELECT client_id FROM sys_group WHERE groupid = ?";
+					$rec_user = $app->db->queryOneRecord($sql_user, $rec['sys_groupid']);
+					$lang_query = "SELECT country,language FROM client WHERE client_id = ?";
+					$lang_user = $app->db->queryOneRecord($lang_query, $rec_user['client_id']);
+					$cust_lang = $lang_user['language']."_".strtoupper($lang_user['language']).".UTF-8";
+
+					switch($lang_user['language'])
+					{
+						case 'en':
+							$cust_lang = 'en_UK.UTF-8';
+							break;
+						case 'br':
+							$cust_lang = 'pt_PT.UTF-8';
+							break;
+						case 'ca':
+							$cust_lang = 'en_US.UTF-8';
+							break;
+						case 'ja':
+							$cust_lang = 'ja_JP.UTF-8';
+							break;
+						case 'ar':
+							$cust_lang = 'es_ES.UTF-8';
+							break;
+						case 'el':
+							$cust_lang = 'el_GR.UTF-8';
+							break;
+						case 'se':
+							$cust_lang = 'sv_SE.UTF-8';
+							break;
+						case 'dk':
+							$cust_lang = 'da_DK.UTF-8';
+							break;
+						case 'cz':
+							$cust_lang = 'cs_CZ.UTF-8';
+							break;
+					}
+
+
+                                        /*
+                                         * GoAccess removed with 1.4 B+Tree support and supports from this version on only "In-Memory with On-Disk Persistance Storage".
+                                         * For versions prior 1.4 you need GoAccess with B+Tree support compiled!
+                                         */
 
 					if(version_compare($goaccess_version,1.4) >= 0) {
 						$app->system->exec_safe("LANG=? goaccess -f ? --config-file ? --restore --persist --db-path=? --output=?", $cust_lang, $logfile, $goaccess_conf, $goa_db_dir, $output_html);
@@ -214,11 +237,16 @@ class cronjob_goaccess extends cronjob {
 						if($match[0] == "keep-db-files") {
 							$app->system->exec_safe("LANG=? goaccess -f ? --config-file ? --load-from-disk --keep-db-files --db-path=? --output=?", $cust_lang, $logfile, $goaccess_conf, $goa_db_dir, $output_html);
 						} else {
-		                                        $app->log("Stats not generated. The GoAccess binary was not compiled with btree support. Please recompile/reinstall GoAccess with btree support, or install GoAccess version >= 1.4!", LOGLEVEL_ERROR);
+		                                        $app->log("Stats couldn't be generated. The GoAccess binary wasn't compiled with B+Tree support. Please recompile/reinstall GoAccess with B+Tree support, or install GoAccess version >= 1.4! (recommended)", LOGLEVEL_ERROR);
 						}
 		                                unset($output);
 					}
+
 					unset($cust_lang);
+					unset($sql_user);
+					unset($rec_user);
+					unset($lang_query);
+					unset($lang_user);
 	
 					if(!is_file($rec['document_root']."/".$web_folder."/stats/index.php")) {
 						if(file_exists("/usr/local/ispconfig/server/conf-custom/goaccess_index.php.master")) {
@@ -237,7 +265,7 @@ class cronjob_goaccess extends cronjob {
 					$app->system->exec_safe('chown -R ?:? ?', $username, $groupname, $statsdir);
 				}
 			} else {
-				$app->log("Stats not generated. The GoAccess binary couldn't be found. Make sure that GoAccess is installed and that it is in \$PATH", LOGLEVEL_ERROR);
+				$app->log("Stats couldn't be generated. The GoAccess binary couldn't be found. Make sure that GoAccess is installed and that it is in \$PATH", LOGLEVEL_ERROR);
 			}
 
 		} 
diff --git a/server/plugins-available/apache2_plugin.inc.php b/server/plugins-available/apache2_plugin.inc.php
index f11476b4021f3a224d763b646433e66347b4066d..e300117767a078d4817849a69f1fabcaf79c9ba9 100644
--- a/server/plugins-available/apache2_plugin.inc.php
+++ b/server/plugins-available/apache2_plugin.inc.php
@@ -1243,7 +1243,8 @@ class apache2_plugin {
 		$vhost_data['apache_directives'] = str_replace("\r", "\n", $vhost_data['apache_directives']);
 		$trans = array(
 			'{DOCROOT}' => $vhost_data['web_document_root_www'],
-			'{DOCROOT_CLIENT}' => $vhost_data['web_document_root']
+			'{DOCROOT_CLIENT}' => $vhost_data['web_document_root'],
+      '{DOMAIN}' => $vhost_data['domain']
 		);
 		$vhost_data['apache_directives'] = strtr($vhost_data['apache_directives'], $trans);
 
@@ -1893,7 +1894,7 @@ class apache2_plugin {
 
 		if($data['new']['stats_type'] != '') {
 			if(!is_dir($data['new']['document_root'].'/' . $web_folder . '/stats')) $app->system->mkdir($data['new']['document_root'].'/' . $web_folder . '/stats');
-			$ht_file = "AuthType Basic\nAuthName \"Members Only\"\nAuthUserFile ".$data['new']['document_root']."/web/stats/.htpasswd_stats\nrequire valid-user\nDirectoryIndex index.html index.php\nHeader unset Content-Security-Policy";
+			$ht_file = "AuthType Basic\nAuthName \"Members Only\"\nAuthUserFile ".$data['new']['document_root']."/web/stats/.htpasswd_stats\nrequire valid-user\nDirectoryIndex index.html index.php\nHeader unset Content-Security-Policy\n<Files \"goaindex.html\">\nAddDefaultCharset UTF-8\n</Files>\n";
 			$app->system->file_put_contents($data['new']['document_root'].'/' . $web_folder . '/stats/.htaccess', $ht_file);
 			$app->system->chmod($data['new']['document_root'].'/' . $web_folder . '/stats/.htaccess', 0755);
 			unset($ht_file);
@@ -3079,12 +3080,12 @@ class apache2_plugin {
                         }
                 }
 
-                if(!is_dir($data['new']['document_root']."/" . $web_folder . "/stats/.db")) $app->system->mkdirpath($data['new']['document_root'] . "/" . $web_folder . "/stats/.db");
-                $goaccess_conf = $data['new']['document_root'].'/log/goaccess.conf';
+                if(!is_dir($data['new']['document_root'] . "/log/goaccess_db")) $app->system->mkdirpath($data['new']['document_root'] . "/log/goaccess_db");
+		$goaccess_conf = $data['new']['document_root'].'/log/goaccess.conf';
 
                 /*
                 In case that you use a different log format, you should use a custom goaccess.conf which you'll have to put into /usr/local/ispconfig/server/conf-custom/.
-                By default the originaly with GoAccess shipped goaccess.conf from /etc/ will be used along with the log-format value COMBINED. 
+                By default the originaly with GoAccess shipped goaccess.conf from /etc/ will be used along with the log-format value COMBINED.
 		*/
 
                 if(file_exists("/usr/local/ispconfig/server/conf-custom/goaccess.conf.master")) {
@@ -3116,7 +3117,7 @@ class apache2_plugin {
 
                 if(is_file($goaccess_conf) && (filesize($goaccess_conf) > 0)) {
                         $app->log('Created GoAccess config file: '.$goaccess_conf, LOGLEVEL_DEBUG);
-                } 
+                }
 
                 if(is_file($data['new']['document_root']."/" . $web_folder . "/stats/index.html")) $app->system->unlink($data['new']['document_root']."/" . $web_folder . "/stats/index.html");
                 if(file_exists("/usr/local/ispconfig/server/conf-custom/goaccess_index.php.master")) {
diff --git a/server/plugins-available/apps_vhost_plugin.inc.php b/server/plugins-available/apps_vhost_plugin.inc.php
index 7fb55038023083c241d2813ee5d7495a1d4550ca..a8797c62afcf0e8cd2c59aefd1fdb58e40f070c6 100644
--- a/server/plugins-available/apps_vhost_plugin.inc.php
+++ b/server/plugins-available/apps_vhost_plugin.inc.php
@@ -106,7 +106,19 @@ class apps_vhost_plugin {
 				$vhost_port_listen = '#';
 			}
 			$tpl->setVar('vhost_port_listen', $vhost_port_listen);
-			
+
+			/* Check if SSL should be enabled: */
+			if(is_file('/usr/local/ispconfig/interface/ssl/ispserver.crt') && is_file('/usr/local/ispconfig/interface/ssl/ispserver.key')) {
+				$tpl->setVar('ssl_comment','');
+			} else {
+				$tpl->setVar('ssl_comment','#');
+			}
+			if(is_file('/usr/local/ispconfig/interface/ssl/ispserver.crt') && is_file('/usr/local/ispconfig/interface/ssl/ispserver.key') && is_file('/usr/local/ispconfig/interface/ssl/ispserver.bundle')) {
+				$tpl->setVar('ssl_bundle_comment','');
+			} else {
+				$tpl->setVar('ssl_bundle_comment','#');
+			}
+
 			$mail_config = $app->getconf->get_server_config($conf['server_id'], 'mail');
 			if($mail_config['content_filter'] == 'rspamd'){
 				$use_rspamd = true;
@@ -194,7 +206,7 @@ class apps_vhost_plugin {
 			}
 			$content = str_replace('{use_tcp}', $use_tcp, $content);
 			$content = str_replace('{use_socket}', $use_socket, $content);
-			
+
 			$mail_config = $app->getconf->get_server_config($conf['server_id'], 'mail');
 			if($mail_config['content_filter'] == 'rspamd'){
 				$use_rspamd = '';
diff --git a/server/plugins-available/nginx_plugin.inc.php b/server/plugins-available/nginx_plugin.inc.php
index 4b20a0339167f0ea41cf64c8bbc723ca0bba9be7..590e5baf3e91c97159cd54553862a15f148483cc 100644
--- a/server/plugins-available/nginx_plugin.inc.php
+++ b/server/plugins-available/nginx_plugin.inc.php
@@ -1298,6 +1298,7 @@ class nginx_plugin {
 			$trans = array(
 				'{DOCROOT}' => $vhost_data['web_document_root_www'],
 				'{DOCROOT_CLIENT}' => $vhost_data['web_document_root'],
+        '{DOMAIN}' => $vhost_data['domain'],
 				'{FASTCGIPASS}' => 'fastcgi_pass '.($data['new']['php_fpm_use_socket'] == 'y'? 'unix:'.$fpm_socket : '127.0.0.1:'.$vhost_data['fpm_port']).';'
 			);
 			foreach($nginx_directive_lines as $nginx_directive_line){
@@ -2597,19 +2598,19 @@ class nginx_plugin {
                                 $goaccess_conf_main = $goa_loc;
                                 break;
                         } else {
-                                $count++; 
+                                $count++;
                                 if($count == 2) {
                                         $app->log("No GoAccess base config found. Make sure that GoAccess is installed and that the goaccess.conf does exist in /etc or /etc/goaccess", LOGLEVEL_WARN);
                                 }
                         }
                 }
 
-                if(!is_dir($data['new']['document_root']."/" . $web_folder . "/stats/.db")) $app->system->mkdirpath($data['new']['document_root'] . "/" . $web_folder . "/stats/.db");
+                if(!is_dir($data['new']['document_root'] . "/log/goaccess_db")) $app->system->mkdirpath($data['new']['document_root'] . "/log/goaccess_db");
 		$goaccess_conf = $data['new']['document_root'].'/log/goaccess.conf';
 
                 /*
                 In case that you use a different log format, you should use a custom goaccess.conf which you'll have to put into /usr/local/ispconfig/server/conf-custom/.
-                By default the originaly with GoAccess shipped goaccess.conf from /etc/ will be used along with the log-format value COMBINED. 
+                By default the originaly with GoAccess shipped goaccess.conf from /etc/ will be used along with the log-format value COMBINED.
                 */
 
                 if(file_exists("/usr/local/ispconfig/server/conf-custom/goaccess.conf.master")) {