diff --git a/install/dist/lib/fedora.lib.php b/install/dist/lib/fedora.lib.php
index 3af8746908c796967f118a82f83dffda675667f2..6a1c5048e870bcbea2c96a7f3d99f612ad5398bd 100644
--- a/install/dist/lib/fedora.lib.php
+++ b/install/dist/lib/fedora.lib.php
@@ -953,24 +953,13 @@ class installer_dist extends installer_base {
 		//* copy the ISPConfig security part
 		$command = 'cp -rf ../security '.$install_dir;
 		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
-		
-		//* Apply changed security_settings.ini values to new security_settings.ini file
-		if(is_file('/usr/local/ispconfig/security/security_settings.ini~')) {
-			$security_settings_old = ini_to_array(file_get_contents('/usr/local/ispconfig/security/security_settings.ini~'));
-			$security_settings_new = ini_to_array(file_get_contents('/usr/local/ispconfig/security/security_settings.ini'));
-			if(is_array($security_settings_new) && is_array($security_settings_old)) {
-				foreach($security_settings_new as $section => $sval) {
-					if(is_array($sval)) {
-						foreach($sval as $key => $val) {
-							if(isset($security_settings_old[$section]) && isset($security_settings_old[$section][$key])) {
-								$security_settings_new[$section][$key] = $security_settings_old[$section][$key];
-							}
-						}
-					}
-				}
-				file_put_contents('/usr/local/ispconfig/security/security_settings.ini',array_to_ini($security_settings_new));
-			}
+	
+		$configfile = 'security_settings.ini';
+		if(is_file($install_dir.'/security/'.$configfile)) {
+			copy($install_dir.'/security/'.$configfile, $install_dir.'/security/'.$configfile.'~');
 		}
+		$content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/'.$configfile.'.master', 'tpl/'.$configfile.'.master');
+		wf($install_dir.'/security/'.$configfile, $content);
 
 		//* Create a symlink, so ISPConfig is accessible via web
 		// Replaced by a separate vhost definition for port 8080
diff --git a/install/lib/install.lib.php b/install/lib/install.lib.php
index 9312a8981aefd6059df70ae4c5a4cc40b49b747d..2ed873d9baf4799e80d5c556232a8cb4f50d51bc 100644
--- a/install/lib/install.lib.php
+++ b/install/lib/install.lib.php
@@ -345,15 +345,15 @@ function get_distname() {
 				$distid = 'centos72';
 			}
 			swriteln("Operating System: CentOS $var\n");
-                } elseif(stristr($content, 'CentOS Linux release 8')) {
-                        $distname = 'CentOS';
-                        $distver = 'Unknown';
-                        $distbaseid = 'fedora';
+        } elseif(stristr($content, 'CentOS Linux release 8')) {
+			$distname = 'CentOS';
+			$distver = 'Unknown';
+			$distbaseid = 'fedora';
 			$distid = 'centos80';
-                        $var=explode(" ", $content);
-                        $var=explode(".", $var[3]);
-                        $var=$var[0].".".$var[1];
-                        swriteln("Operating System: CentOS $var\n");
+			$var=explode(" ", $content);
+			$var=explode(".", $var[3]);
+			$var=$var[0].".".$var[1];
+			swriteln("Operating System: CentOS $var\n");
 		} else {
 			$distname = 'Redhat';
 			$distver = 'Unknown';
diff --git a/install/sql/incremental/upd_dev_collection.sql b/install/sql/incremental/upd_dev_collection.sql
index a5d4acdc622c0dd609accf2ee1e886386574d372..1c4bd539d9f40e84cb199b320a2cac3b1c5607e3 100644
--- a/install/sql/incremental/upd_dev_collection.sql
+++ b/install/sql/incremental/upd_dev_collection.sql
@@ -39,5 +39,8 @@ ALTER TABLE `dns_rr` CHANGE `type` `type` ENUM('A','AAAA','ALIAS','CNAME','DNAME
 -- change cc and sender_cc column type
 ALTER TABLE `mail_user` CHANGE `cc` `cc` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '';
 
+-- remove SPDY option
+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`;
diff --git a/install/sql/ispconfig3.sql b/install/sql/ispconfig3.sql
index a41853324b0048d2352eec07f4998498bff28273..3957e327e9271b83228e32e8c50e078305dd4160 100644
--- a/install/sql/ispconfig3.sql
+++ b/install/sql/ispconfig3.sql
@@ -2070,7 +2070,6 @@ CREATE TABLE `web_domain` (
   `traffic_quota_lock` enum('n','y') NOT NULL default 'n',
   `fastcgi_php_version` varchar(255) DEFAULT NULL,
   `proxy_directives` mediumtext,
-  `enable_spdy` ENUM('y','n') NULL DEFAULT 'n',
   `last_quota_notification` date NULL default NULL,
   `rewrite_rules` mediumtext,
   `added_date` date NULL DEFAULT NULL,
diff --git a/install/tpl/apache_apps.vhost.master b/install/tpl/apache_apps.vhost.master
index 9cccf8d38ed0e3f6adf7466396803a2856c886cb..14f0f10da275e560cdeb51e3b10472dedf146dd7 100644
--- a/install/tpl/apache_apps.vhost.master
+++ b/install/tpl/apache_apps.vhost.master
@@ -10,20 +10,14 @@
 <VirtualHost {tmpl_var name='apps_vhost_ip'}:{tmpl_var name='apps_vhost_port'}>
   ServerAdmin webmaster@localhost
   {tmpl_var name='apps_vhost_servername'}
-  
+
   <FilesMatch "\.ph(p3?|tml)$">
     SetHandler None
   </FilesMatch>
-  
+
   <IfModule mod_headers.c>
 	RequestHeader unset Proxy early
   </IfModule>
-  
-  {tmpl_if name="enable_spdy" op="==" value="y"}
-  <IfModule spdy_module>
-	SpdyEnabled on
-  </IfModule>
-  {/tmpl_if}
 
   <IfModule mod_php5.c>
     DocumentRoot {tmpl_var name='apps_vhost_dir'}
@@ -39,7 +33,7 @@
 		</tmpl_if>
     </Directory>
   </IfModule>
-  
+
   <IfModule mod_php7.c>
     DocumentRoot {tmpl_var name='apps_vhost_dir'}
     AddType application/x-httpd-php .php
@@ -54,7 +48,7 @@
 		</tmpl_if>
     </Directory>
   </IfModule>
-  
+
   <IfModule mod_fcgid.c>
     DocumentRoot {tmpl_var name='apps_vhost_dir'}
     SuexecUserGroup ispapps ispapps
@@ -87,5 +81,3 @@
 
 
 </VirtualHost>
-
-
diff --git a/install/tpl/server.ini.master b/install/tpl/server.ini.master
index 5edc09807c40993464c0284d840ea88ec1e95048..c500fb0cc28f1320b33b868febea26fc7e730755 100644
--- a/install/tpl/server.ini.master
+++ b/install/tpl/server.ini.master
@@ -94,7 +94,6 @@ php_ini_path_apache=/etc/php5/apache2/php.ini
 php_ini_path_cgi=/etc/php5/cgi/php.ini
 check_apache_config=y
 enable_sni=y
-enable_spdy=n
 skip_le_check=n
 enable_ip_wildcard=y
 overtraffic_notify_admin=y
diff --git a/interface/lib/classes/system.inc.php b/interface/lib/classes/system.inc.php
index 89507ea68cadba60599d469c6463fd521a706855..484ef2b6658788e04be4d6458a6fb04422517282 100644
--- a/interface/lib/classes/system.inc.php
+++ b/interface/lib/classes/system.inc.php
@@ -39,6 +39,18 @@ class system {
 
 		if(!preg_match('/^[a-z]+$/', $service)) $app->error('Invalid service '.$service);
 
+		// Check the servers table to see which kinds of servers we actually have enabled.
+		// simple query cache
+		if($this->server_count === null) {
+			$this->server_count = $app->db->queryOneRecord("SELECT SUM(mail_server) as mail, SUM(web_server) AS web, SUM(dns_server) AS dns, SUM(file_server) AS file,
+				SUM(db_server) AS db, SUM(vserver_server) AS vserver, SUM(proxy_server) AS proxy, SUM(firewall_server) AS firewall, SUM(xmpp_server) AS xmpp
+				FROM `server` WHERE mirror_server_id = 0");
+		}
+		// Check if we have the service enabled.
+		if ($this->server_count[$service] == 0) {
+			return FALSE;
+		}
+
 		if(isset($_SESSION['s']['user']) && $_SESSION['s']['user']['typ'] == 'admin') return true; //* We do not check admin-users
 
 		// simple query cache
diff --git a/interface/lib/classes/tform_base.inc.php b/interface/lib/classes/tform_base.inc.php
index e6174d2da763556a2a3f94f8ad4ccb57fba3cbbd..bd9f70a626ef308391f5a0f8ef3ae04a35507311 100644
--- a/interface/lib/classes/tform_base.inc.php
+++ b/interface/lib/classes/tform_base.inc.php
@@ -152,9 +152,9 @@ class tform_base {
 			$wb = $app->functions->array_merge($wb_global, $wb);
 		}
 		if(isset($wb_global)) unset($wb_global);
-		
+
 		$this->wordbook = $wb;
-		
+
 		$app->plugin->raiseEvent($_SESSION['s']['module']['name'].':'.$app->tform->formDef['name'] . ':on_after_formdef', $this);
 
 		$this->dateformat = $app->lng('conf_format_dateshort');
@@ -323,7 +323,7 @@ class tform_base {
 		return $this->getAuthSQL('r', $matches[1]);
 	}
 	*/
-	
+
 	/**
 	 * Get the key => value array of a form filled from a datasource definitiom
 	 *
@@ -339,12 +339,12 @@ class tform_base {
 	function applyValueLimit($limit, $values, $current_value = '') {
 
 		global $app;
-		
+
 		// we mas have multiple limits, therefore we explode by ; first
 		// Example: "system:sites:web_php_options;client:web_php_options"
 		$limits = explode(';',$limit);
-		
-		
+
+
 		foreach($limits as $limit) {
 
 			$limit_parts = explode(':', $limit);
@@ -399,7 +399,7 @@ class tform_base {
 				$tmp_key = $limit_parts[2];
 				$allowed = $allowed = explode(',',$tmp_conf[$tmp_key]);
 			}
-			
+
 			// add the current value to the allowed array
 			$allowed[] = $current_value;
 
@@ -438,7 +438,7 @@ class tform_base {
 		$csrf_token = $app->auth->csrf_token_get($this->formDef['name']);
 		$_csrf_id = $csrf_token['csrf_id'];
 		$_csrf_value = $csrf_token['csrf_key'];
-		
+
 		$this->formDef['tabs'][$tab]['fields']['_csrf_id'] = array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
@@ -454,7 +454,7 @@ class tform_base {
 		$record['_csrf_id'] = $_csrf_id;
 		$record['_csrf_key'] = $_csrf_value;
 		/* CSRF PROTECTION */
-		
+
 		$new_record = array();
 		if($action == 'EDIT') {
 			$record = $this->decode($record, $tab);
@@ -589,7 +589,7 @@ class tform_base {
 
 						$new_record[$key] = $this->_getDateHTML($key, $dt_value);
 						break;
-					
+
 					default:
 						if(isset($record[$key])) {
 							$new_record[$key] = $app->functions->htmlentities($record[$key]);
@@ -701,7 +701,7 @@ class tform_base {
 
 					$new_record[$key] = $this->_getDateTimeHTML($key, $dt_value, $display_seconds);
 					break;
-				
+
 				case 'DATE':
 					$dt_value = (isset($field['default'])) ? $field['default'] : 0;
 
@@ -750,7 +750,7 @@ class tform_base {
 					unset($_POST);
 					unset($record);
 				}
-				
+
 				if(isset($_SESSION['_csrf_timeout']) && is_array($_SESSION['_csrf_timeout'])) {
 					$to_unset = array();
 					foreach($_SESSION['_csrf_timeout'] as $_csrf_id => $timeout) {
@@ -767,7 +767,7 @@ class tform_base {
 			}
 			/* CSRF PROTECTION */
 		}
-		
+
 		$new_record = array();
 		if(is_array($record)) {
 			foreach($fields as $key => $field) {
@@ -1065,6 +1065,29 @@ class tform_base {
 				}
 				unset($error);
 				break;
+			case 'ISEMAILADDRESS':
+				$error = false;
+				if($validator['allowempty'] != 'y') $validator['allowempty'] = 'n';
+				if($validator['allowempty'] == 'y' && $field_value == '') {
+					//* Do nothing
+				} else {
+					if(function_exists('filter_var')) {
+						if(filter_var($field_value, FILTER_VALIDATE_EMAIL) === false) {
+							$error = true;
+						}
+						if ($error) {
+							$errmsg = $validator['errmsg'];
+							if(isset($this->wordbook[$errmsg])) {
+								$this->errorMessage .= $this->wordbook[$errmsg]."<br />\r\n";
+							} else {
+								$this->errorMessage .= $errmsg."<br />\r\n";
+							}
+						}
+
+					} else $this->errorMessage .= "function filter_var missing <br />\r\n";
+				}
+				unset($error);
+				break;
 			case 'ISINT':
 				if(function_exists('filter_var') && $field_value < PHP_INT_MAX) {
 					//if($field_value != '' && filter_var($field_value, FILTER_VALIDATE_INT, array("options" => array('min_range'=>0))) === false) {
@@ -1198,7 +1221,7 @@ class tform_base {
 					}
 				}
 				break;
-			
+
 			case 'ISDATETIME':
 				/* Checks a datetime value against the date format of the current language */
 				if($validator['allowempty'] != 'y') $validator['allowempty'] = 'n';
@@ -1216,7 +1239,7 @@ class tform_base {
 					}
 				}
 				break;
-			
+
 			case 'RANGE':
 				//* Checks if the value is within the given range or above / below a value
 				//* Range examples: < 10 = ":10", between 2 and 10 = "2:10", above 5 = "5:".
@@ -1281,7 +1304,7 @@ class tform_base {
 		$sql_update = '';
 
 		$record = $this->encode($record, $tab, true);
-		
+
 		if(($this->primary_id_override > 0)) {
 			$sql_insert_key .= '`'.$this->formDef["db_table_idx"].'`, ';
 			$sql_insert_val .= $this->primary_id_override.", ";
diff --git a/interface/web/admin/form/server_config.tform.php b/interface/web/admin/form/server_config.tform.php
index 0d570f2e947c2009d6c36141b3e739ff592d5f9a..de2caf175023ca6718a1ae4c753a7f5980f6b998 100644
--- a/interface/web/admin/form/server_config.tform.php
+++ b/interface/web/admin/form/server_config.tform.php
@@ -1317,15 +1317,6 @@ $form["tabs"]['web'] = array(
 			'width' => '40',
 			'maxlength' => '255'
 		),
-		'enable_spdy' => array (
-			'datatype' => 'VARCHAR',
-			'formtype' => 'CHECKBOX',
-			'default'  => 'y',
-			'value' => array (
-				0 => 'n',
-				1 => 'y'
-			)
-		),
 		'apps_vhost_enabled' => array (
 			'datatype' => 'VARCHAR',
 			'formtype' => 'CHECKBOX',
diff --git a/interface/web/admin/lib/lang/ar_server_config.lng b/interface/web/admin/lib/lang/ar_server_config.lng
index 0bd4567220a7116c896b51b70ff9558be12e539d..4123c113d18a4a8d298321fc5610dc805425659b 100644
--- a/interface/web/admin/lib/lang/ar_server_config.lng
+++ b/interface/web/admin/lib/lang/ar_server_config.lng
@@ -274,7 +274,6 @@ $wb['dkim_strength_txt'] = 'DKIM strength';
 $wb['php_ini_check_minutes_txt'] = 'Check php.ini every X minutes for changes';
 $wb['php_ini_check_minutes_error_empty'] = 'Please specify a value how often php.ini should be checked for changes.';
 $wb['php_ini_check_minutes_info_txt'] = '0 = no check';
-$wb['enable_spdy_txt'] = 'Makes SPDY/HTTP2 available';
 $wb['web_settings_txt'] = 'Web Server';
 $wb['xmpp_server_txt'] = 'XMPP Server';
 $wb['xmpp_use_ipv6_txt'] = 'Use IPv6';
diff --git a/interface/web/admin/lib/lang/bg_server_config.lng b/interface/web/admin/lib/lang/bg_server_config.lng
index ae760d95cc70369b9c3adac2b37333992d7226e1..463d1c7b2a2e0c08b40bbe929412c8794c115869 100644
--- a/interface/web/admin/lib/lang/bg_server_config.lng
+++ b/interface/web/admin/lib/lang/bg_server_config.lng
@@ -274,7 +274,6 @@ $wb['dkim_strength_txt'] = 'DKIM strength';
 $wb['php_ini_check_minutes_txt'] = 'Check php.ini every X minutes for changes';
 $wb['php_ini_check_minutes_error_empty'] = 'Please specify a value how often php.ini should be checked for changes.';
 $wb['php_ini_check_minutes_info_txt'] = '0 = no check';
-$wb['enable_spdy_txt'] = 'Makes SPDY/HTTP2 available';
 $wb['web_settings_txt'] = 'Web Server';
 $wb['xmpp_server_txt'] = 'XMPP Server';
 $wb['xmpp_use_ipv6_txt'] = 'Use IPv6';
diff --git a/interface/web/admin/lib/lang/br_server_config.lng b/interface/web/admin/lib/lang/br_server_config.lng
index b24f1ef9051a085b614bc2e697296a52d291f0d0..65a2dc4fd754a3086d8c386b57936931dd5e3d55 100644
--- a/interface/web/admin/lib/lang/br_server_config.lng
+++ b/interface/web/admin/lib/lang/br_server_config.lng
@@ -277,7 +277,6 @@ $wb['network_filesystem_txt'] = 'Sistema de arquivos de rede';
 $wb['php_ini_check_minutes_txt'] = 'Verificar alterações no php.ini a cada X minutos';
 $wb['php_ini_check_minutes_error_empty'] = 'Por favor, insira um valor para verificação de alterações no php.ini.';
 $wb['php_ini_check_minutes_info_txt'] = '0 = sem verificações';
-$wb['enable_spdy_txt'] = 'Tornar SPDY/HTTP2 disponível';
 $wb['web_settings_txt'] = 'Servidor web';
 $wb['xmpp_server_txt'] = 'Servidor xmpp';
 $wb['xmpp_use_ipv6_txt'] = 'Usar IPv6';
diff --git a/interface/web/admin/lib/lang/ca_server_config.lng b/interface/web/admin/lib/lang/ca_server_config.lng
index b4af211185a71281a8675eef8308c1c2527985d3..496df78f77719a6b8f774d4f2ce9e52878ff9585 100644
--- a/interface/web/admin/lib/lang/ca_server_config.lng
+++ b/interface/web/admin/lib/lang/ca_server_config.lng
@@ -272,7 +272,6 @@ $wb['network_filesystem_txt'] = 'Network Filesystem';
 $wb['php_ini_check_minutes_txt'] = 'Check php.ini every X minutes for changes';
 $wb['php_ini_check_minutes_error_empty'] = 'Please specify a value how often php.ini should be checked for changes.';
 $wb['php_ini_check_minutes_info_txt'] = '0 = no check';
-$wb['enable_spdy_txt'] = 'Makes SPDY/HTTP2 available';
 $wb['web_settings_txt'] = 'Web Server';
 $wb['xmpp_server_txt'] = 'XMPP Server';
 $wb['xmpp_use_ipv6_txt'] = 'Use IPv6';
diff --git a/interface/web/admin/lib/lang/cz_server_config.lng b/interface/web/admin/lib/lang/cz_server_config.lng
index 76783fd95a49a217145edacbe8a00b3a64397a3c..fbc1d777c38db51e08644ad60c7aaf92d94f800c 100644
--- a/interface/web/admin/lib/lang/cz_server_config.lng
+++ b/interface/web/admin/lib/lang/cz_server_config.lng
@@ -269,7 +269,6 @@ $wb['disabled_txt'] = 'Vypnuto';
 $wb['php_ini_check_minutes_txt'] = 'Provádět kontrolu změny obsahu souboru php.ini každých X minut';
 $wb['php_ini_check_minutes_error_empty'] = 'Please specify a value how often php.ini should be checked for changes.';
 $wb['php_ini_check_minutes_info_txt'] = '0 = no check';
-$wb['enable_spdy_txt'] = 'Makes SPDY/HTTP2 available';
 $wb['web_settings_txt'] = 'Web Server';
 $wb['xmpp_server_txt'] = 'XMPP Server';
 $wb['xmpp_use_ipv6_txt'] = 'Použít IPv6';
diff --git a/interface/web/admin/lib/lang/de_server_config.lng b/interface/web/admin/lib/lang/de_server_config.lng
index 7487bec76491b6075e966ba25d0f8f22d851796a..1646360a7ad59cca871ffb39a87105b7a81ac0c5 100644
--- a/interface/web/admin/lib/lang/de_server_config.lng
+++ b/interface/web/admin/lib/lang/de_server_config.lng
@@ -275,7 +275,6 @@ $wb['php_ini_check_minutes_info_txt'] = '0 = keine Prüfung';
 $wb['php_handler_txt'] = 'Standard-PHP-Handler';
 $wb['php_fpm_default_chroot_txt'] = 'Default chrooted PHP-FPM';
 $wb['php_fpm_incron_reload_txt'] = 'Install incron trigger file to reload PHP-FPM';
-$wb['enable_spdy_txt'] = 'Stellt SPDY/HTTP2 zur Verfügung';
 $wb['disable_bind_log_txt'] = 'Disable bind9 messages for Loglevel WARN';
 $wb['apps_vhost_enabled_txt'] = 'Apps-vhost enabled';
 $wb['disabled_txt'] = 'Disabled';
diff --git a/interface/web/admin/lib/lang/dk_server_config.lng b/interface/web/admin/lib/lang/dk_server_config.lng
index 44ffc53391a1c923a24d87455d662b16e2d85ba4..476e43216105bb5ed402fb7c81d0a689c952f33d 100644
--- a/interface/web/admin/lib/lang/dk_server_config.lng
+++ b/interface/web/admin/lib/lang/dk_server_config.lng
@@ -273,7 +273,6 @@ $wb['dkim_strength_txt'] = 'DKIM strength';
 $wb['php_ini_check_minutes_txt'] = 'Check php.ini every X minutes for changes';
 $wb['php_ini_check_minutes_error_empty'] = 'Please specify a value how often php.ini should be checked for changes.';
 $wb['php_ini_check_minutes_info_txt'] = '0 = no check';
-$wb['enable_spdy_txt'] = 'Makes SPDY/HTTP2 available';
 $wb['web_settings_txt'] = 'Web Server';
 $wb['xmpp_server_txt'] = 'XMPP Server';
 $wb['xmpp_use_ipv6_txt'] = 'Use IPv6';
diff --git a/interface/web/admin/lib/lang/el_server_config.lng b/interface/web/admin/lib/lang/el_server_config.lng
index 46ce9bfcfc565f2b1ee1d5d322541fbae66b0080..cf215b939e148c2707c55f7b348bb2d0d1cfaba8 100644
--- a/interface/web/admin/lib/lang/el_server_config.lng
+++ b/interface/web/admin/lib/lang/el_server_config.lng
@@ -274,7 +274,6 @@ $wb['dkim_strength_txt'] = 'DKIM strength';
 $wb['php_ini_check_minutes_txt'] = 'Check php.ini every X minutes for changes';
 $wb['php_ini_check_minutes_error_empty'] = 'Please specify a value how often php.ini should be checked for changes.';
 $wb['php_ini_check_minutes_info_txt'] = '0 = no check';
-$wb['enable_spdy_txt'] = 'Makes SPDY/HTTP2 available';
 $wb['web_settings_txt'] = 'Web Server';
 $wb['xmpp_server_txt'] = 'XMPP Server';
 $wb['xmpp_use_ipv6_txt'] = 'Use IPv6';
diff --git a/interface/web/admin/lib/lang/en_server_config.lng b/interface/web/admin/lib/lang/en_server_config.lng
index 2eea4f220db9fb7e9d45e32e2284f1d31f94c584..e12e1d40426ca203f7579865c791eb1b3235fa96 100644
--- a/interface/web/admin/lib/lang/en_server_config.lng
+++ b/interface/web/admin/lib/lang/en_server_config.lng
@@ -277,7 +277,6 @@ $wb['network_filesystem_txt'] = 'Network Filesystem';
 $wb['php_ini_check_minutes_txt'] = 'Check php.ini every X minutes for changes';
 $wb['php_ini_check_minutes_error_empty'] = 'Please specify a value how often php.ini should be checked for changes.';
 $wb['php_ini_check_minutes_info_txt'] = '0 = no check';
-$wb['enable_spdy_txt'] = 'Makes SPDY/HTTP2 available';
 $wb['web_settings_txt'] = 'Web Server';
 $wb['xmpp_server_txt'] = 'XMPP Server';
 $wb['xmpp_use_ipv6_txt'] = 'Use IPv6';
diff --git a/interface/web/admin/lib/lang/es_server_config.lng b/interface/web/admin/lib/lang/es_server_config.lng
index d400e81367f115bb0460c009164e92f58d70396c..f34393169587445521f160bd3420c5244532bf9f 100644
--- a/interface/web/admin/lib/lang/es_server_config.lng
+++ b/interface/web/admin/lib/lang/es_server_config.lng
@@ -68,7 +68,6 @@ $wb['do_not_try_rescue_mongodb_txt'] = 'Deshabilitar monitorización de MongoDB'
 $wb['do_not_try_rescue_mysql_txt'] = 'Deshabilitar monitorización de MySQL';
 $wb['enable_ip_wildcard_txt'] = 'Activar comodín IP (*)';
 $wb['enable_sni_txt'] = 'Habilitar SNI';
-$wb['enable_spdy_txt'] = 'Hacer que SPDY/HTTP2 esté disponible';
 $wb['fastcgi_alias_error_empty'] = 'El alias de FastCGI está vacío.';
 $wb['fastcgi_alias_error_regex'] = 'El alias de fastcgi es inválido.';
 $wb['fastcgi_alias_txt'] = 'Alias de FastCGI';
diff --git a/interface/web/admin/lib/lang/fi_server_config.lng b/interface/web/admin/lib/lang/fi_server_config.lng
index b5fd51c4f8b669877f352731384f0b6bc0d300c8..6eefadb45f44fbf9d8c69851a1d4fbd0214842e9 100644
--- a/interface/web/admin/lib/lang/fi_server_config.lng
+++ b/interface/web/admin/lib/lang/fi_server_config.lng
@@ -274,7 +274,6 @@ $wb['dkim_strength_txt'] = 'DKIM strength';
 $wb['php_ini_check_minutes_txt'] = 'Check php.ini every X minutes for changes';
 $wb['php_ini_check_minutes_error_empty'] = 'Please specify a value how often php.ini should be checked for changes.';
 $wb['php_ini_check_minutes_info_txt'] = '0 = no check';
-$wb['enable_spdy_txt'] = 'Makes SPDY/HTTP2 available';
 $wb['web_settings_txt'] = 'Web Server';
 $wb['xmpp_server_txt'] = 'XMPP Server';
 $wb['xmpp_use_ipv6_txt'] = 'Use IPv6';
diff --git a/interface/web/admin/lib/lang/fr_server_config.lng b/interface/web/admin/lib/lang/fr_server_config.lng
index 4b020da0685cd0a39db0ca352cc4c3b247f8d0c6..88717952099a752ca420245a0566b1cf3d508d47 100644
--- a/interface/web/admin/lib/lang/fr_server_config.lng
+++ b/interface/web/admin/lib/lang/fr_server_config.lng
@@ -272,7 +272,6 @@ $wb['dkim_strength_txt'] = 'DKIM strength';
 $wb['php_ini_check_minutes_txt'] = 'Check php.ini every X minutes for changes';
 $wb['php_ini_check_minutes_error_empty'] = 'Please specify a value how often php.ini should be checked for changes.';
 $wb['php_ini_check_minutes_info_txt'] = '0 = no check';
-$wb['enable_spdy_txt'] = 'Makes SPDY/HTTP2 available';
 $wb['web_settings_txt'] = 'Web Server';
 $wb['xmpp_server_txt'] = 'XMPP Server';
 $wb['xmpp_use_ipv6_txt'] = 'Use IPv6';
diff --git a/interface/web/admin/lib/lang/hr_server_config.lng b/interface/web/admin/lib/lang/hr_server_config.lng
index 93333280b6312163ab18f91f35af8c1518b1aa2e..b36fd1348643d5833a2891a007373581e98fb8ac 100644
--- a/interface/web/admin/lib/lang/hr_server_config.lng
+++ b/interface/web/admin/lib/lang/hr_server_config.lng
@@ -274,7 +274,6 @@ $wb['dkim_strength_txt'] = 'DKIM strength';
 $wb['php_ini_check_minutes_txt'] = 'Check php.ini every X minutes for changes';
 $wb['php_ini_check_minutes_error_empty'] = 'Please specify a value how often php.ini should be checked for changes.';
 $wb['php_ini_check_minutes_info_txt'] = '0 = no check';
-$wb['enable_spdy_txt'] = 'Makes SPDY/HTTP2 available';
 $wb['web_settings_txt'] = 'Web Server';
 $wb['xmpp_server_txt'] = 'XMPP Server';
 $wb['xmpp_use_ipv6_txt'] = 'Use IPv6';
diff --git a/interface/web/admin/lib/lang/hu_server_config.lng b/interface/web/admin/lib/lang/hu_server_config.lng
index e48f231f2ee6cc081ac09dfd6ed944e555be4cc9..789e86a64989643f0a039e5edc585bd869fd6b08 100644
--- a/interface/web/admin/lib/lang/hu_server_config.lng
+++ b/interface/web/admin/lib/lang/hu_server_config.lng
@@ -274,7 +274,6 @@ $wb['dkim_strength_txt'] = 'DKIM strength';
 $wb['php_ini_check_minutes_txt'] = 'Check php.ini every X minutes for changes';
 $wb['php_ini_check_minutes_error_empty'] = 'Please specify a value how often php.ini should be checked for changes.';
 $wb['php_ini_check_minutes_info_txt'] = '0 = no check';
-$wb['enable_spdy_txt'] = 'Makes SPDY/HTTP2 available';
 $wb['web_settings_txt'] = 'Web Server';
 $wb['xmpp_server_txt'] = 'XMPP Server';
 $wb['xmpp_use_ipv6_txt'] = 'Use IPv6';
diff --git a/interface/web/admin/lib/lang/id_server_config.lng b/interface/web/admin/lib/lang/id_server_config.lng
index 4023e619b06de4fae1551d28dcc3a02832610d9e..ee197a4d0a9e9154c78b6c09363d8231c66f162e 100644
--- a/interface/web/admin/lib/lang/id_server_config.lng
+++ b/interface/web/admin/lib/lang/id_server_config.lng
@@ -274,7 +274,6 @@ $wb['dkim_strength_txt'] = 'DKIM strength';
 $wb['php_ini_check_minutes_txt'] = 'Check php.ini every X minutes for changes';
 $wb['php_ini_check_minutes_error_empty'] = 'Please specify a value how often php.ini should be checked for changes.';
 $wb['php_ini_check_minutes_info_txt'] = '0 = no check';
-$wb['enable_spdy_txt'] = 'Makes SPDY/HTTP2 available';
 $wb['web_settings_txt'] = 'Web Server';
 $wb['xmpp_server_txt'] = 'XMPP Server';
 $wb['xmpp_use_ipv6_txt'] = 'Use IPv6';
diff --git a/interface/web/admin/lib/lang/it_server_config.lng b/interface/web/admin/lib/lang/it_server_config.lng
index 928ca7ebc2f1e4facf78dafb2aaa567f380a1ff0..cd71123720fffca2b2ed0f0d35ee11e55bcca809 100644
--- a/interface/web/admin/lib/lang/it_server_config.lng
+++ b/interface/web/admin/lib/lang/it_server_config.lng
@@ -272,7 +272,6 @@ $wb['dkim_strength_txt'] = 'DKIM strength';
 $wb['php_ini_check_minutes_txt'] = 'Check php.ini every X minutes for changes';
 $wb['php_ini_check_minutes_error_empty'] = 'Please specify a value how often php.ini should be checked for changes.';
 $wb['php_ini_check_minutes_info_txt'] = '0 = no check';
-$wb['enable_spdy_txt'] = 'Makes SPDY/HTTP2 available';
 $wb['web_settings_txt'] = 'Web Server';
 $wb['xmpp_server_txt'] = 'XMPP Server';
 $wb['xmpp_use_ipv6_txt'] = 'Use IPv6';
diff --git a/interface/web/admin/lib/lang/ja_server_config.lng b/interface/web/admin/lib/lang/ja_server_config.lng
index 1220886fc304629792d319b0f739476631da4145..4ef8d13422baef55f4a63c3031bee07294a658a9 100644
--- a/interface/web/admin/lib/lang/ja_server_config.lng
+++ b/interface/web/admin/lib/lang/ja_server_config.lng
@@ -274,7 +274,6 @@ $wb['dkim_strength_txt'] = 'DKIM strength';
 $wb['php_ini_check_minutes_txt'] = 'Check php.ini every X minutes for changes';
 $wb['php_ini_check_minutes_error_empty'] = 'Please specify a value how often php.ini should be checked for changes.';
 $wb['php_ini_check_minutes_info_txt'] = '0 = no check';
-$wb['enable_spdy_txt'] = 'Makes SPDY/HTTP2 available';
 $wb['web_settings_txt'] = 'Web Server';
 $wb['xmpp_server_txt'] = 'XMPP Server';
 $wb['xmpp_use_ipv6_txt'] = 'Use IPv6';
diff --git a/interface/web/admin/lib/lang/nl_server_config.lng b/interface/web/admin/lib/lang/nl_server_config.lng
index 9ff06f34d3718b9a6f66d243314ccf033696a8bc..5b5fcf122bf4350700f11285a66eb928b832a16b 100644
--- a/interface/web/admin/lib/lang/nl_server_config.lng
+++ b/interface/web/admin/lib/lang/nl_server_config.lng
@@ -274,7 +274,6 @@ $wb['dkim_strength_txt'] = 'DKIM strength';
 $wb['php_ini_check_minutes_txt'] = 'Check php.ini every X minutes for changes';
 $wb['php_ini_check_minutes_error_empty'] = 'Please specify a value how often php.ini should be checked for changes.';
 $wb['php_ini_check_minutes_info_txt'] = '0 = no check';
-$wb['enable_spdy_txt'] = 'Makes SPDY/HTTP2 available';
 $wb['web_settings_txt'] = 'Web Server';
 $wb['xmpp_server_txt'] = 'XMPP Server';
 $wb['xmpp_use_ipv6_txt'] = 'Use IPv6';
diff --git a/interface/web/admin/lib/lang/pl_server_config.lng b/interface/web/admin/lib/lang/pl_server_config.lng
index 95b289ef7206a80b4b6d3cd54a4e653d80fe18ce..1d6caa8e5eff0879c14e9dac9e7c42d7e8a47441 100644
--- a/interface/web/admin/lib/lang/pl_server_config.lng
+++ b/interface/web/admin/lib/lang/pl_server_config.lng
@@ -274,7 +274,6 @@ $wb['dkim_strength_txt'] = 'DKIM strength';
 $wb['php_ini_check_minutes_txt'] = 'Check php.ini every X minutes for changes';
 $wb['php_ini_check_minutes_error_empty'] = 'Please specify a value how often php.ini should be checked for changes.';
 $wb['php_ini_check_minutes_info_txt'] = '0 = no check';
-$wb['enable_spdy_txt'] = 'Makes SPDY/HTTP2 available';
 $wb['web_settings_txt'] = 'Web Server';
 $wb['xmpp_server_txt'] = 'XMPP Server';
 $wb['xmpp_use_ipv6_txt'] = 'Use IPv6';
diff --git a/interface/web/admin/lib/lang/pt_server_config.lng b/interface/web/admin/lib/lang/pt_server_config.lng
index 31360c0b0e8b8dc5954682a0ea59d493991a3bda..fcf7a23e88117d6f58b1cf75950fd5e4947f4944 100644
--- a/interface/web/admin/lib/lang/pt_server_config.lng
+++ b/interface/web/admin/lib/lang/pt_server_config.lng
@@ -274,7 +274,6 @@ $wb['dkim_strength_txt'] = 'DKIM strength';
 $wb['php_ini_check_minutes_txt'] = 'Check php.ini every X minutes for changes';
 $wb['php_ini_check_minutes_error_empty'] = 'Please specify a value how often php.ini should be checked for changes.';
 $wb['php_ini_check_minutes_info_txt'] = '0 = no check';
-$wb['enable_spdy_txt'] = 'Makes SPDY/HTTP2 available';
 $wb['web_settings_txt'] = 'Web Server';
 $wb['xmpp_server_txt'] = 'XMPP Server';
 $wb['xmpp_use_ipv6_txt'] = 'Use IPv6';
diff --git a/interface/web/admin/lib/lang/ro_server_config.lng b/interface/web/admin/lib/lang/ro_server_config.lng
index 74055e9874e19d777ca2153beb9c2b86ceae3cd5..2c3b4fdce48d33abc402d4312ba7f338c68e4b1e 100644
--- a/interface/web/admin/lib/lang/ro_server_config.lng
+++ b/interface/web/admin/lib/lang/ro_server_config.lng
@@ -274,7 +274,6 @@ $wb['dkim_strength_txt'] = 'DKIM strength';
 $wb['php_ini_check_minutes_txt'] = 'Check php.ini every X minutes for changes';
 $wb['php_ini_check_minutes_error_empty'] = 'Please specify a value how often php.ini should be checked for changes.';
 $wb['php_ini_check_minutes_info_txt'] = '0 = no check';
-$wb['enable_spdy_txt'] = 'Makes SPDY/HTTP2 available';
 $wb['web_settings_txt'] = 'Web Server';
 $wb['xmpp_server_txt'] = 'XMPP Server';
 $wb['xmpp_use_ipv6_txt'] = 'Use IPv6';
diff --git a/interface/web/admin/lib/lang/ru_server_config.lng b/interface/web/admin/lib/lang/ru_server_config.lng
index 8754aece3cfd0ad3d15a742115f0da94ef5da33b..f3f5a47c7d907006a4f4f4a80e62b163d4484c16 100644
--- a/interface/web/admin/lib/lang/ru_server_config.lng
+++ b/interface/web/admin/lib/lang/ru_server_config.lng
@@ -274,7 +274,6 @@ $wb['dkim_strength_txt'] = 'Стойкость DKIM';
 $wb['php_ini_check_minutes_txt'] = 'Проверять изменения в PHP.ini файле каждые Х минут';
 $wb['php_ini_check_minutes_error_empty'] = 'Пожалуйста, укажите значение, как часто php.ini должен быть проверен на изменения.';
 $wb['php_ini_check_minutes_info_txt'] = '0 = не проверять';
-$wb['enable_spdy_txt'] = 'Сделать SPDY/HTTP2 доступным';
 $wb['web_settings_txt'] = 'Web-сервер';
 $wb['xmpp_server_txt'] = 'XMPP Server';
 $wb['xmpp_use_ipv6_txt'] = 'Использовать IPv6';
diff --git a/interface/web/admin/lib/lang/se_server_config.lng b/interface/web/admin/lib/lang/se_server_config.lng
index c45116d4fa071f3e0060a8afa509f16f01fcffc2..634c3655a76d2c7a32dac14b8906275d940f4349 100644
--- a/interface/web/admin/lib/lang/se_server_config.lng
+++ b/interface/web/admin/lib/lang/se_server_config.lng
@@ -274,7 +274,6 @@ $wb['dkim_strength_txt'] = 'DKIM strength';
 $wb['php_ini_check_minutes_txt'] = 'Check php.ini every X minutes for changes';
 $wb['php_ini_check_minutes_error_empty'] = 'Please specify a value how often php.ini should be checked for changes.';
 $wb['php_ini_check_minutes_info_txt'] = '0 = no check';
-$wb['enable_spdy_txt'] = 'Makes SPDY/HTTP2 available';
 $wb['web_settings_txt'] = 'Web Server';
 $wb['xmpp_server_txt'] = 'XMPP Server';
 $wb['xmpp_use_ipv6_txt'] = 'Use IPv6';
diff --git a/interface/web/admin/lib/lang/sk_server_config.lng b/interface/web/admin/lib/lang/sk_server_config.lng
index c4858143b07df0390c599c5fb97ac6cc2aa7747b..50c8c0b4c9d0bac3c70cc96802c8d430ab0ab2e3 100644
--- a/interface/web/admin/lib/lang/sk_server_config.lng
+++ b/interface/web/admin/lib/lang/sk_server_config.lng
@@ -274,7 +274,6 @@ $wb['dkim_strength_txt'] = 'DKIM strength';
 $wb['php_ini_check_minutes_txt'] = 'Check php.ini every X minutes for changes';
 $wb['php_ini_check_minutes_error_empty'] = 'Please specify a value how often php.ini should be checked for changes.';
 $wb['php_ini_check_minutes_info_txt'] = '0 = no check';
-$wb['enable_spdy_txt'] = 'Makes SPDY/HTTP2 available';
 $wb['web_settings_txt'] = 'Web Server';
 $wb['xmpp_server_txt'] = 'XMPP Server';
 $wb['xmpp_use_ipv6_txt'] = 'Use IPv6';
diff --git a/interface/web/admin/lib/lang/tr_server_config.lng b/interface/web/admin/lib/lang/tr_server_config.lng
index b52479ecf52966f93192bd2e04b4ee36cd9fc40f..09aa3adf2d9bd484cd242db73f572a3b23230872 100644
--- a/interface/web/admin/lib/lang/tr_server_config.lng
+++ b/interface/web/admin/lib/lang/tr_server_config.lng
@@ -276,7 +276,6 @@ $wb['network_filesystem_txt'] = 'AÄŸ Dosya Sistemi';
 $wb['php_ini_check_minutes_txt'] = 'Her X dakikada php.ini dosyasındaki değişiklikler denetlensin';
 $wb['php_ini_check_minutes_error_empty'] = 'php.ini dosyasındaki değişikliklerin kaç dakikada bir denetleneceğini yazın.';
 $wb['php_ini_check_minutes_info_txt'] = '0 = denetim yapılmaz';
-$wb['enable_spdy_txt'] = 'SPDY/HTTP2 Kullanılsın';
 $wb['web_settings_txt'] = 'Web Sunucu';
 $wb['xmpp_server_txt'] = 'XMPP Sunucu';
 $wb['xmpp_use_ipv6_txt'] = 'IPv6 Kullanılsın';
diff --git a/interface/web/admin/templates/server_config_web_edit.htm b/interface/web/admin/templates/server_config_web_edit.htm
index f5f38affe7f576b04c131081eecd4b81dd4b669d..64173549c9a492cf8ddfc9242b7bcb66be448bb6 100644
--- a/interface/web/admin/templates/server_config_web_edit.htm
+++ b/interface/web/admin/templates/server_config_web_edit.htm
@@ -163,7 +163,7 @@
 			<div class="form-group">
 				<label class="col-sm-3 control-label">{tmpl_var name='overquota_db_notify_client_txt'}</label>
 				<div class="col-sm-9">
-					{tmpl_var name='overquota_db_notify_client'}	
+					{tmpl_var name='overquota_db_notify_client'}
 				 </div>
 			</div>
             <div class="form-group">
@@ -197,14 +197,6 @@
                         {tmpl_var name='enable_sni'}
                     </div>
                 </div>
-				<div class="form-group">
-					<label class="col-sm-3 control-label">
-						<tmpl_var name="enable_spdy_txt">
-					</label>
-					<div class="col-sm-9">
-						<tmpl_var name="enable_spdy">
-					</div>
-				</div>
                 <div class="form-group">
                     <label for="CA_path" class="col-sm-3 control-label">{tmpl_var name='CA_path_txt'}</label>
                     <div class="col-sm-9"><input type="text" name="CA_path" id="CA_path" value="{tmpl_var name='CA_path'}" autocomplete="new-password" class="form-control" /></div></div>
@@ -257,7 +249,7 @@
                 <div class="form-group">
                     <label for="connect_userid_to_webid_start" class="col-sm-3 control-label">{tmpl_var name='connect_userid_to_webid_start_txt'}</label>
                     <div class="col-sm-9"><input type="text" name="connect_userid_to_webid_start" id="connect_userid_to_webid_start" value="{tmpl_var name='connect_userid_to_webid_start'}" class="form-control" /></div></div>
-            
+
 	  <!-- End content -->
 	  </div>
 	</div>
@@ -361,7 +353,7 @@
                 <div class="form-group">
                     <label for="apps_vhost_servername" class="col-sm-3 control-label">{tmpl_var name='apps_vhost_servername_txt'}</label>
                     <div class="col-sm-9"><input type="text" name="apps_vhost_servername" id="apps_vhost_servername" value="{tmpl_var name='apps_vhost_servername'}" class="form-control" /></div></div>
-            
+
 	  <!-- End content -->
 	  </div>
 	</div>
@@ -389,15 +381,15 @@
                 <div class="form-group">
                     <label for="awstats_buildstaticpages_pl" class="col-sm-3 control-label">{tmpl_var name='awstats_buildstaticpages_pl_txt'}</label>
                     <div class="col-sm-9"><input type="text" name="awstats_buildstaticpages_pl" id="awstats_buildstaticpages_pl" value="{tmpl_var name='awstats_buildstaticpages_pl'}" class="form-control" /></div></div>
-            
+
 	  <!-- End content -->
 	  </div>
 	</div>
   </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/server_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_config_list.php">{tmpl_var name='btn_cancel_txt'}</button>
@@ -410,7 +402,7 @@
         serverType = $(this).val();
         adjustForm();
     });
-    
+
     function adjustForm(){
         if(serverType == "nginx"){
             jQuery('.nginx').show();
diff --git a/interface/web/client/client_del.php b/interface/web/client/client_del.php
index d92dc5600849f4353eef4ed030fe67d362973ee3..c018b7a27db50b9686f63aedce827cc8a89b49ef 100644
--- a/interface/web/client/client_del.php
+++ b/interface/web/client/client_del.php
@@ -51,6 +51,32 @@ $app->load('tform_actions');
 
 class page_action extends tform_actions {
 
+	// db_table => info_field for onDelete - empty = show only the amount 
+	private $tables = array(
+		'cron' => '',
+		'client' => 'contact_name',
+		'dns_rr' => '', 
+		'dns_soa' => 'origin', 
+		'dns_slave' => 'origin',
+		'domain' => 'domain',
+		'ftp_user' => 'username', 
+		'mail_access' => 'source', 
+		'mail_content_filter' => '', 
+		'mail_domain' => 'domain', 
+		'mail_forwarding' => '', 
+		'mail_get' => '', 
+		'mail_mailinglist' => 'listname',
+		'mail_user' => 'email', 
+		'mail_user_filter' => '', 
+		'shell_user' => 'username', 
+		'spamfilter_users' => '', 'spamfilter_wblist' => '',
+		'support_message' => '',
+		'web_domain' => 'domain', 
+		'web_folder' => 'path', 
+		'web_folder_user' => 'username', 
+		'web_database_user' => 'database_user', 
+	);
+
 	function onDelete() {
 		global $app, $conf, $list_def_file, $tform_def_file;
 
@@ -80,19 +106,22 @@ class page_action extends tform_actions {
 			$this->dataRecord = $app->tform->getDataRecord($this->id);
 			$client_id = $app->functions->intval($this->dataRecord['client_id']);
 			$client_group = $app->db->queryOneRecord("SELECT groupid FROM sys_group WHERE client_id = ?", $client_id);
-
-			// Get all records (sub-clients, mail, web, etc....)  of this client.
-			$tables = 'cron,client,dns_rr,dns_soa,dns_slave,ftp_user,mail_access,mail_content_filter,mail_domain,mail_forwarding,mail_get,mail_user,mail_user_filter,shell_user,spamfilter_users,support_message,web_database,web_database_user,web_domain,web_traffic,domain';
-			$tables_array = explode(',', $tables);
-			$client_group_id = $app->functions->intval($client_group['groupid']);
-
 			$table_list = array();
+			$client_group_id = $app->functions->intval($client_group['groupid']);
 			if($client_group_id > 1) {
-				foreach($tables_array as $table) {
+				foreach($this->tables as $table => $field) {
 					if($table != '') {
 						$records = $app->db->queryAllRecords("SELECT * FROM ?? WHERE sys_groupid = ?", $table, $client_group_id);
-						$number = count($records);
-						if($number > 0) $table_list[] = array('table' => $table."(".$number.")");
+						if(is_array($records) && !empty($records) && $field !== false) {
+							$data = array();
+							$number = count($records);
+							foreach($records as $rec) {
+								if($field != '' && $field !== false) $data['data'] .= '<li>'.$rec[$field].'</li>';
+							}
+							$data['count'] = $number;
+							$data['table'] =  $table;
+							$table_list[] = $data;
+						}	 
 					}
 				}
 			}
@@ -100,7 +129,6 @@ class page_action extends tform_actions {
 			$app->tpl->setVar('id', $this->id);
 			$app->tpl->setVar('number_records', $number);
 			$app->tpl->setLoop('records', $table_list);
-
 			//* load language file
 			$lng_file = 'lib/lang/'.$app->functions->check_language($_SESSION['s']['language']).'_client_del.lng';
 			include $lng_file;
@@ -138,11 +166,9 @@ class page_action extends tform_actions {
 			$app->db->query("DELETE FROM sys_user WHERE client_id = ?", $client_id);
 
 			// Delete all records (sub-clients, mail, web, etc....)  of this client.
-			$tables = 'cron,client,dns_rr,dns_soa,dns_slave,ftp_user,mail_access,mail_content_filter,mail_domain,mail_forwarding,mail_get,mail_user,mail_user_filter,shell_user,spamfilter_users,support_message,web_database,web_database_user,web_domain,web_folder,web_folder_user,domain,mail_mailinglist,spamfilter_wblist';
-			$tables_array = explode(',', $tables);
 			$client_group_id = $app->functions->intval($client_group['groupid']);
 			if($client_group_id > 1) {
-				foreach($tables_array as $table) {
+				foreach($this->tables as $table => $field) {
 					if($table != '') {
 						//* find the primary ID of the table
 						$table_info = $app->db->tableInfo($table);
@@ -150,6 +176,7 @@ class page_action extends tform_actions {
 						foreach($table_info as $tmp) {
 							if($tmp['option'] == 'primary') $index_field = $tmp['name'];
 						}
+						
 						//* Delete the records
 						if($index_field != '') {
 							$records = $app->db->queryAllRecords("SELECT * FROM ?? WHERE sys_groupid = ? ORDER BY ?? DESC", $table, $client_group_id, $index_field);
diff --git a/interface/web/client/form/client.tform.php b/interface/web/client/form/client.tform.php
index 5b45ffb972f58734121c712bc9e55a0b3caab92f..17b9e623b66cda763d4db8561d101b5f33fcad8d 100644
--- a/interface/web/client/form/client.tform.php
+++ b/interface/web/client/form/client.tform.php
@@ -390,8 +390,8 @@ $form["tabs"]['address'] = array (
 				2 => array( 'event' => 'SAVE',
 					'type' => 'TOLOWER')
 			),
-			'validators' => array (  
-				0 => array ( 'type' => 'ISEMAIL', 'errmsg'=> 'email_error_isemail'),
+			'validators' => array (
+				0 => array ( 'type' => 'ISEMAILADDRESS', 'errmsg'=> 'email_error_isemail'),
 				1 => array ( 'type' => 'NOTEMPTY',
 					'errmsg'=> 'email_error_empty'),
 			),
@@ -621,7 +621,7 @@ $form["tabs"]['address'] = array (
 					'type' => 'TOLOWER')
 			),
 			'validators' => array (
-				0 => array ( 'type' => 'ISEMAIL', 'allowempty' => 'y', 'errmsg'=> 'email_error_isemail'),
+				0 => array ( 'type' => 'ISEMAILADDRESS', 'allowempty' => 'y', 'errmsg'=> 'email_error_isemail'),
 			),
 			'default' => '',
 			'value'  => '',
diff --git a/interface/web/client/lib/lang/ar_client_del.lng b/interface/web/client/lib/lang/ar_client_del.lng
index 0932e9568ac478948a00b84b0c50acaf2ce0c7c2..21ddcb9ea44905b316d6830ae688abda9125eaef 100644
--- a/interface/web/client/lib/lang/ar_client_del.lng
+++ b/interface/web/client/lib/lang/ar_client_del.lng
@@ -4,4 +4,7 @@ $wb['delete_explanation'] = 'This action will delete the following number of rec
 $wb['btn_save_txt'] = 'Delete the client';
 $wb['btn_cancel_txt'] = 'Cancel without deleting the client';
 $wb['confirm_client_delete_txt'] = 'Are you sure you want to delete this client?';
+$wb['list_head_txt'] = 'Delete Client';
+$wb['table_txt'] = 'Table';
+$wb['data_txt'] = 'Data';
 ?>
diff --git a/interface/web/client/lib/lang/bg_client_del.lng b/interface/web/client/lib/lang/bg_client_del.lng
index 54d4831d776453b5ab0fbc3e143640a00e127f3d..418abdc20ceb40fd31bc53d1bbadb792ac269f98 100644
--- a/interface/web/client/lib/lang/bg_client_del.lng
+++ b/interface/web/client/lib/lang/bg_client_del.lng
@@ -4,4 +4,7 @@ $wb['delete_explanation'] = 'This action will delete the following number of rec
 $wb['btn_save_txt'] = 'Изтрии клиента';
 $wb['btn_cancel_txt'] = 'Отказ, без изтриване на клиента';
 $wb['confirm_client_delete_txt'] = 'Are you sure you want to delete this client?';
+$wb['list_head_txt'] = 'Delete Client';
+$wb['table_txt'] = 'Table';
+$wb['data_txt'] = 'Data';
 ?>
diff --git a/interface/web/client/lib/lang/br_client_del.lng b/interface/web/client/lib/lang/br_client_del.lng
index 880c12c36a2ea0c936c8c319090b69f5e052cea1..fbea0a66a06dfa148ad048f001b4c22aae69baf7 100644
--- a/interface/web/client/lib/lang/br_client_del.lng
+++ b/interface/web/client/lib/lang/br_client_del.lng
@@ -4,4 +4,7 @@ $wb['delete_explanation'] = 'Esta ação removerá os seguintes registros associ
 $wb['btn_save_txt'] = 'Remover o cliente';
 $wb['btn_cancel_txt'] = 'Cancelar sem remover o cliente';
 $wb['confirm_client_delete_txt'] = 'Você tem certeza que deseja remover este cliente?';
+$wb['list_head_txt'] = 'Delete Client';
+$wb['table_txt'] = 'Table';
+$wb['data_txt'] = 'Data';
 ?>
diff --git a/interface/web/client/lib/lang/ca_client_del.lng b/interface/web/client/lib/lang/ca_client_del.lng
index 2ec2d877bf8a49d7760ebb9b638834042e200341..4c4506c99b6cb480ea5b660857bd036631f7fd33 100644
--- a/interface/web/client/lib/lang/ca_client_del.lng
+++ b/interface/web/client/lib/lang/ca_client_del.lng
@@ -4,4 +4,7 @@ $wb['delete_explanation'] = 'Cette action va supprimer le nombre d\'enregistreme
 $wb['btn_save_txt'] = 'Effacer le client';
 $wb['btn_cancel_txt'] = 'Annuler sans effacer le client';
 $wb['confirm_client_delete_txt'] = 'Confirmez-vous la suppression de ce client ?';
+$wb['list_head_txt'] = 'Delete Client';
+$wb['table_txt'] = 'Table';
+$wb['data_txt'] = 'Data';
 ?>
diff --git a/interface/web/client/lib/lang/cz_client_del.lng b/interface/web/client/lib/lang/cz_client_del.lng
index 5374ea6f75f593de74d8c1f7b55eb794f6db8d7d..d19949fec5ce2f6b54135252a4cda39475eff671 100644
--- a/interface/web/client/lib/lang/cz_client_del.lng
+++ b/interface/web/client/lib/lang/cz_client_del.lng
@@ -4,4 +4,7 @@ $wb['delete_explanation'] = 'Tato akce smaže následující počet záznamů p
 $wb['btn_save_txt'] = 'Smazat klienta';
 $wb['btn_cancel_txt'] = 'Zrušit bez smazání klienta';
 $wb['confirm_client_delete_txt'] = 'Jste si jisti, že chcete smazat tohoto klienta ?';
+$wb['list_head_txt'] = 'Delete Client';
+$wb['table_txt'] = 'Table';
+$wb['data_txt'] = 'Data';
 ?>
diff --git a/interface/web/client/lib/lang/de_client_del.lng b/interface/web/client/lib/lang/de_client_del.lng
index d13fcfa8fc99e9c5d1ab8b01b025bed44208deec..53aa0973c4522163ce8d8c2b730975d3ebce8ca7 100644
--- a/interface/web/client/lib/lang/de_client_del.lng
+++ b/interface/web/client/lib/lang/de_client_del.lng
@@ -3,5 +3,8 @@ $wb['confirm_action_txt'] = 'Aktion bestätigen';
 $wb['delete_explanation'] = 'Diese Aktion wird folgende Anzahl an Datensätzen des Kunden löschen';
 $wb['btn_save_txt'] = 'Kunden löschen';
 $wb['btn_cancel_txt'] = 'Abbrechen, ohne den Kunden zu löschen';
-$wb['confirm_client_delete_txt'] = 'Sind Sie sicher, daß Sie den Kunden löschen möchten?';
+$wb['confirm_client_delete_txt'] = 'Sind Sie sicher, dass Sie den Kunden löschen möchte';
+$wb['table_txt'] = 'Tabelle';
+$wb['data_txt'] = 'Daten';
+$wb['list_head_txt'] = 'Kunde löschen';
 ?>
diff --git a/interface/web/client/lib/lang/dk_client_del.lng b/interface/web/client/lib/lang/dk_client_del.lng
index ba5f5922196943fa0c247ff4aef2e396e2418487..9bb157cdf4d4b62fafc6488e48dabe5a054a27c9 100644
--- a/interface/web/client/lib/lang/dk_client_del.lng
+++ b/interface/web/client/lib/lang/dk_client_del.lng
@@ -4,4 +4,7 @@ $wb['delete_explanation'] = 'Denne handling vil slette følgende antal poster fo
 $wb['btn_save_txt'] = 'Slet kunden';
 $wb['btn_cancel_txt'] = 'Annullere uden at slette kunden';
 $wb['confirm_client_delete_txt'] = 'Er du sikker på at du vil slette denne kunde?';
+$wb['list_head_txt'] = 'Delete Client';
+$wb['table_txt'] = 'Table';
+$wb['data_txt'] = 'Data';
 ?>
diff --git a/interface/web/client/lib/lang/el_client_del.lng b/interface/web/client/lib/lang/el_client_del.lng
index 60ebd617d0a8b76b79a0b805d0bc2b3f2e188682..3f91a5c2b0108996a5a91fa5392f5a3cdc7cb634 100644
--- a/interface/web/client/lib/lang/el_client_del.lng
+++ b/interface/web/client/lib/lang/el_client_del.lng
@@ -4,4 +4,7 @@ $wb['delete_explanation'] = 'Η ενέργεια θα διαγράψει τις
 $wb['btn_save_txt'] = 'Διαγραφή πελάτη';
 $wb['btn_cancel_txt'] = 'Ακύρωση χωρίς διαγραφή πελάτη';
 $wb['confirm_client_delete_txt'] = 'Are you sure you want to delete this client?';
+$wb['list_head_txt'] = 'Delete Client';
+$wb['table_txt'] = 'Table';
+$wb['data_txt'] = 'Data';
 ?>
diff --git a/interface/web/client/lib/lang/en_client_del.lng b/interface/web/client/lib/lang/en_client_del.lng
index 7b1bbf9d70ae60b458df57118687705d1fd3616c..5e2a00b929b4967ec2e0a9f94217988e3fabfdf6 100644
--- a/interface/web/client/lib/lang/en_client_del.lng
+++ b/interface/web/client/lib/lang/en_client_del.lng
@@ -4,4 +4,7 @@ $wb["delete_explanation"] = 'This action will delete the following number of rec
 $wb["btn_save_txt"] = 'Delete the client';
 $wb["btn_cancel_txt"] = 'Cancel without deleting the client';
 $wb["confirm_client_delete_txt"] = 'Are you sure you want to delete this client?';
+$wb['list_head_txt'] = 'Delete Client';
+$wb['table_txt'] = 'Table';
+$wb['data_txt'] = 'Data';
 ?>
diff --git a/interface/web/client/lib/lang/es_client_del.lng b/interface/web/client/lib/lang/es_client_del.lng
index ff7c09c191d2057b25443906e985ebc51245001b..9496eb8146773b6d85951ceb55852866a57da303 100644
--- a/interface/web/client/lib/lang/es_client_del.lng
+++ b/interface/web/client/lib/lang/es_client_del.lng
@@ -4,4 +4,7 @@ $wb['btn_save_txt'] = 'Borrar el cliente';
 $wb['confirm_action_txt'] = 'Confirmar acción';
 $wb['confirm_client_delete_txt'] = '¿Está seguro de que desea borrar el cliente?';
 $wb['delete_explanation'] = 'Esta acción eliminará el siguiente número de registros asociados con este cliente';
+$wb['list_head_txt'] = 'Delete Client';
+$wb['table_txt'] = 'Table';
+$wb['data_txt'] = 'Data';
 ?>
diff --git a/interface/web/client/lib/lang/fi_client_del.lng b/interface/web/client/lib/lang/fi_client_del.lng
index b87895b8c0496e4e9ca9e46f6076c67cad908b87..4336b765d3940020280f8f1c96b930658dba785e 100644
--- a/interface/web/client/lib/lang/fi_client_del.lng
+++ b/interface/web/client/lib/lang/fi_client_del.lng
@@ -4,4 +4,7 @@ $wb['delete_explanation'] = 'Tämä toiminto alla olevan määrän tämän asiak
 $wb['btn_save_txt'] = 'Poista käyttäjä';
 $wb['btn_cancel_txt'] = 'Keskeytä poistamatta asiakasta';
 $wb['confirm_client_delete_txt'] = 'Are you sure you want to delete this client?';
+$wb['list_head_txt'] = 'Delete Client';
+$wb['table_txt'] = 'Table';
+$wb['data_txt'] = 'Data';
 ?>
diff --git a/interface/web/client/lib/lang/fr_client_del.lng b/interface/web/client/lib/lang/fr_client_del.lng
index 4fdb5dac772136b3526544d9f69bfffad119f890..051c840fb2ec5a0b3702f75a9af79d391a604dfa 100644
--- a/interface/web/client/lib/lang/fr_client_del.lng
+++ b/interface/web/client/lib/lang/fr_client_del.lng
@@ -4,4 +4,7 @@ $wb['delete_explanation'] = 'Cette action va supprimer le nombre d’enregistrem
 $wb['btn_save_txt'] = 'Effacer le client';
 $wb['btn_cancel_txt'] = 'Annuler sans effacer le client';
 $wb['confirm_client_delete_txt'] = 'Confirmez-vous la suppression de ce client ?';
+$wb['list_head_txt'] = 'Delete Client';
+$wb['table_txt'] = 'Table';
+$wb['data_txt'] = 'Data';
 ?>
diff --git a/interface/web/client/lib/lang/hr_client_del.lng b/interface/web/client/lib/lang/hr_client_del.lng
index 939cc59fb6c411ab7e7e93ae21fbddfb705f54f6..5f06b870082a20a03752b44a9e81acf8fdbac019 100644
--- a/interface/web/client/lib/lang/hr_client_del.lng
+++ b/interface/web/client/lib/lang/hr_client_del.lng
@@ -4,4 +4,7 @@ $wb['delete_explanation'] = 'Ukoliko potvrdite izbrisati će se svi zapisi povez
 $wb['btn_save_txt'] = 'Obriši klijenta';
 $wb['btn_cancel_txt'] = 'Prekini i ne briši klijenta';
 $wb['confirm_client_delete_txt'] = 'Are you sure you want to delete this client?';
+$wb['list_head_txt'] = 'Delete Client';
+$wb['table_txt'] = 'Table';
+$wb['data_txt'] = 'Data';
 ?>
diff --git a/interface/web/client/lib/lang/hu_client_del.lng b/interface/web/client/lib/lang/hu_client_del.lng
index 0932e9568ac478948a00b84b0c50acaf2ce0c7c2..21ddcb9ea44905b316d6830ae688abda9125eaef 100644
--- a/interface/web/client/lib/lang/hu_client_del.lng
+++ b/interface/web/client/lib/lang/hu_client_del.lng
@@ -4,4 +4,7 @@ $wb['delete_explanation'] = 'This action will delete the following number of rec
 $wb['btn_save_txt'] = 'Delete the client';
 $wb['btn_cancel_txt'] = 'Cancel without deleting the client';
 $wb['confirm_client_delete_txt'] = 'Are you sure you want to delete this client?';
+$wb['list_head_txt'] = 'Delete Client';
+$wb['table_txt'] = 'Table';
+$wb['data_txt'] = 'Data';
 ?>
diff --git a/interface/web/client/lib/lang/id_client_del.lng b/interface/web/client/lib/lang/id_client_del.lng
index 1adf18bd7d016c5c90f161daea0152305d6cf3bd..2a8c6e32a158b407f8f50a4468399189ff6405c5 100644
--- a/interface/web/client/lib/lang/id_client_del.lng
+++ b/interface/web/client/lib/lang/id_client_del.lng
@@ -4,4 +4,7 @@ $wb['delete_explanation'] = 'Tindakan ini akan menghapus sejumlah record yang te
 $wb['btn_save_txt'] = 'Hapus Klien';
 $wb['btn_cancel_txt'] = 'Batalkan Tanpa Menghapus Klien';
 $wb['confirm_client_delete_txt'] = 'Are you sure you want to delete this client?';
+$wb['list_head_txt'] = 'Delete Client';
+$wb['table_txt'] = 'Table';
+$wb['data_txt'] = 'Data';
 ?>
diff --git a/interface/web/client/lib/lang/it_client_del.lng b/interface/web/client/lib/lang/it_client_del.lng
index 49811c377ea4cdb0ce3f3ba5c894c7083c2e3c1d..a17dc6a7ff3d54de5af7bc4def05114558b15c9a 100644
--- a/interface/web/client/lib/lang/it_client_del.lng
+++ b/interface/web/client/lib/lang/it_client_del.lng
@@ -4,4 +4,7 @@ $wb['delete_explanation'] = 'Questa operazione cancellerà i seguenti record ass
 $wb['btn_save_txt'] = 'Cancella cliente';
 $wb['btn_cancel_txt'] = 'Annulla senza cancellare il cliente';
 $wb['confirm_client_delete_txt'] = 'Are you sure you want to delete this client?';
+$wb['list_head_txt'] = 'Delete Client';
+$wb['table_txt'] = 'Table';
+$wb['data_txt'] = 'Data';
 ?>
diff --git a/interface/web/client/lib/lang/ja_client_del.lng b/interface/web/client/lib/lang/ja_client_del.lng
index 0932e9568ac478948a00b84b0c50acaf2ce0c7c2..21ddcb9ea44905b316d6830ae688abda9125eaef 100644
--- a/interface/web/client/lib/lang/ja_client_del.lng
+++ b/interface/web/client/lib/lang/ja_client_del.lng
@@ -4,4 +4,7 @@ $wb['delete_explanation'] = 'This action will delete the following number of rec
 $wb['btn_save_txt'] = 'Delete the client';
 $wb['btn_cancel_txt'] = 'Cancel without deleting the client';
 $wb['confirm_client_delete_txt'] = 'Are you sure you want to delete this client?';
+$wb['list_head_txt'] = 'Delete Client';
+$wb['table_txt'] = 'Table';
+$wb['data_txt'] = 'Data';
 ?>
diff --git a/interface/web/client/lib/lang/nl_client_del.lng b/interface/web/client/lib/lang/nl_client_del.lng
index 294fb5011b4538ba2d05f757199b4576ef8e7625..9b9e5d5bc3ba57416232d646af55a9f29ce7cde7 100644
--- a/interface/web/client/lib/lang/nl_client_del.lng
+++ b/interface/web/client/lib/lang/nl_client_del.lng
@@ -4,4 +4,7 @@ $wb['delete_explanation'] = 'Deze actie verwijderd het volgende aantal aan recor
 $wb['btn_save_txt'] = 'Verwijder de klant';
 $wb['btn_cancel_txt'] = 'Annuleren zonder de klant te verwijderen';
 $wb['confirm_client_delete_txt'] = 'Weet je zeker dat je deze klant wil verwijderen ?';
+$wb['list_head_txt'] = 'Delete Client';
+$wb['table_txt'] = 'Table';
+$wb['data_txt'] = 'Data';
 ?>
diff --git a/interface/web/client/lib/lang/pl_client_del.lng b/interface/web/client/lib/lang/pl_client_del.lng
index 429c61b4c72b3d22814c5659ef1cbe46d86fcf62..4e5a2386f910ec8f325ed7d1c96f3f6465f9136e 100644
--- a/interface/web/client/lib/lang/pl_client_del.lng
+++ b/interface/web/client/lib/lang/pl_client_del.lng
@@ -4,4 +4,7 @@ $wb['delete_explanation'] = 'Ta akcja usunie następującą liczbę rekordów po
 $wb['btn_save_txt'] = 'Usuń klienta';
 $wb['btn_cancel_txt'] = 'Anuluj bez usuwania klienta';
 $wb['confirm_client_delete_txt'] = 'Are you sure you want to delete this client?';
+$wb['list_head_txt'] = 'Delete Client';
+$wb['table_txt'] = 'Table';
+$wb['data_txt'] = 'Data';
 ?>
diff --git a/interface/web/client/lib/lang/pt_client_del.lng b/interface/web/client/lib/lang/pt_client_del.lng
index ef71fa91e5e0436c4cc3f38f65652c003a815905..7b56473550e0bf3d392a72035ae3ac4f748e3fe5 100644
--- a/interface/web/client/lib/lang/pt_client_del.lng
+++ b/interface/web/client/lib/lang/pt_client_del.lng
@@ -4,4 +4,7 @@ $wb['delete_explanation'] = 'Atenção: está acção ira remover todos os objec
 $wb['btn_save_txt'] = 'Remover o cliente';
 $wb['btn_cancel_txt'] = 'Cancelar sem remover o cliente';
 $wb['confirm_client_delete_txt'] = 'Are you sure you want to delete this client?';
+$wb['list_head_txt'] = 'Delete Client';
+$wb['table_txt'] = 'Table';
+$wb['data_txt'] = 'Data';
 ?>
diff --git a/interface/web/client/lib/lang/ro_client_del.lng b/interface/web/client/lib/lang/ro_client_del.lng
index 0932e9568ac478948a00b84b0c50acaf2ce0c7c2..21ddcb9ea44905b316d6830ae688abda9125eaef 100644
--- a/interface/web/client/lib/lang/ro_client_del.lng
+++ b/interface/web/client/lib/lang/ro_client_del.lng
@@ -4,4 +4,7 @@ $wb['delete_explanation'] = 'This action will delete the following number of rec
 $wb['btn_save_txt'] = 'Delete the client';
 $wb['btn_cancel_txt'] = 'Cancel without deleting the client';
 $wb['confirm_client_delete_txt'] = 'Are you sure you want to delete this client?';
+$wb['list_head_txt'] = 'Delete Client';
+$wb['table_txt'] = 'Table';
+$wb['data_txt'] = 'Data';
 ?>
diff --git a/interface/web/client/lib/lang/ru_client_del.lng b/interface/web/client/lib/lang/ru_client_del.lng
index 94a05acca0d1cf7d222e19db3009232c8dae6e97..cf371efeb91e8f6c51355bbd95e7fbf1581257c7 100644
--- a/interface/web/client/lib/lang/ru_client_del.lng
+++ b/interface/web/client/lib/lang/ru_client_del.lng
@@ -4,4 +4,7 @@ $wb['delete_explanation'] = 'Это действие удалит следующ
 $wb['btn_save_txt'] = 'Удалить клиента';
 $wb['btn_cancel_txt'] = 'Отменить без удаления';
 $wb['confirm_client_delete_txt'] = 'Вы уверены, что хотите удалить этот клиента?';
+$wb['list_head_txt'] = 'Delete Client';
+$wb['table_txt'] = 'Table';
+$wb['data_txt'] = 'Data';
 ?>
diff --git a/interface/web/client/lib/lang/se_client_del.lng b/interface/web/client/lib/lang/se_client_del.lng
index 99aa9d8a42291116d2d2ce160f48e09e021f6d82..56f2f0d9d790af9103b93997817f8299061ec680 100644
--- a/interface/web/client/lib/lang/se_client_del.lng
+++ b/interface/web/client/lib/lang/se_client_del.lng
@@ -4,4 +4,7 @@ $wb['delete_explanation'] = 'This action will delete the following number of rec
 $wb['btn_save_txt'] = 'Radera kunden';
 $wb['btn_cancel_txt'] = 'Avbryt utan att radera kunden';
 $wb['confirm_client_delete_txt'] = 'Är du säker på att du vill radera den här kunden?';
+$wb['list_head_txt'] = 'Delete Client';
+$wb['table_txt'] = 'Table';
+$wb['data_txt'] = 'Data';
 ?>
diff --git a/interface/web/client/lib/lang/sk_client_del.lng b/interface/web/client/lib/lang/sk_client_del.lng
index 0932e9568ac478948a00b84b0c50acaf2ce0c7c2..21ddcb9ea44905b316d6830ae688abda9125eaef 100644
--- a/interface/web/client/lib/lang/sk_client_del.lng
+++ b/interface/web/client/lib/lang/sk_client_del.lng
@@ -4,4 +4,7 @@ $wb['delete_explanation'] = 'This action will delete the following number of rec
 $wb['btn_save_txt'] = 'Delete the client';
 $wb['btn_cancel_txt'] = 'Cancel without deleting the client';
 $wb['confirm_client_delete_txt'] = 'Are you sure you want to delete this client?';
+$wb['list_head_txt'] = 'Delete Client';
+$wb['table_txt'] = 'Table';
+$wb['data_txt'] = 'Data';
 ?>
diff --git a/interface/web/client/lib/lang/tr_client_del.lng b/interface/web/client/lib/lang/tr_client_del.lng
index b93579998bdf19e7f1d4b542b94987cb29c3fd0a..82f00ba9d56815691e03d3485f236afca48515e6 100644
--- a/interface/web/client/lib/lang/tr_client_del.lng
+++ b/interface/web/client/lib/lang/tr_client_del.lng
@@ -4,4 +4,7 @@ $wb['delete_explanation'] = 'Bu işlem bu müşteri ile ilgili şu kayıtları s
 $wb['btn_save_txt'] = 'Müşteriyi sil';
 $wb['btn_cancel_txt'] = 'Müşteriyi silmeden iptal et';
 $wb['confirm_client_delete_txt'] = 'Bu müşteriyi silmek istediğinize emin misiniz?';
+$wb['list_head_txt'] = 'Delete Client';
+$wb['table_txt'] = 'Table';
+$wb['data_txt'] = 'Data';
 ?>
diff --git a/interface/web/client/templates/client_del.htm b/interface/web/client/templates/client_del.htm
index e24ca768c2a94047f4ed7be8bfabdc7f8f534af0..5e7201ce5c31ace8d8a4dbb563108b37832b23cf 100644
--- a/interface/web/client/templates/client_del.htm
+++ b/interface/web/client/templates/client_del.htm
@@ -1,24 +1,32 @@
-<div class='page-header'>
-	<h1><tmpl_var name="list_head_txt"></h1>
-</div>
-<p><tmpl_var name="list_desc_txt"></p>
-
-        <div id="OKMsg">
-			<tmpl_if name='number_records'>
-            <tmpl_var name="delete_explanation">:<br /><br />
-                <tmpl_loop name="records">
-                    <tmpl_var name="table">, 
-                </tmpl_loop>
-			</tmpl_else>
-				<h3><tmpl_var name="confirm_client_delete_txt"></h3>
-			</tmpl_if>
-        </div>
-		&nbsp;
-		<div> <input type="checkbox" name="confirm" value="yes" /> <b><tmpl_var name="confirm_action_txt"></b></div>
-		&nbsp;
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
-        <div class="clear"><div class="left">
-            <button class="btn btn-default formbutton-success" type="button" value="{tmpl_var name='btn_save_txt'}" data-submit-form="pageForm" data-form-action="client/client_del.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="client/client_list.php">{tmpl_var name='btn_cancel_txt'}</button>
-        </div></div>
\ No newline at end of file
+<div class='page-header'><h1><tmpl_var name="list_head_txt"></h1></div>
+<tmpl_if name='number_records'>
+	<tmpl_var name="delete_explanation">:<br /><br />
+	<div class="table-wrapper marginTop15">
+		<table class="table">
+		<thead class="dark form-group-sm">
+			<tr>
+				<th class="tiny-col"><tmpl_var name="table_txt"></th>
+				<th class="tiny-col"><tmpl_var name="data_txt"></th>
+			</tr>
+		</thead>
+		<tbody>
+		<tmpl_loop name="records">
+			<tr>
+				<td>{tmpl_var name="table"} ({tmpl_var name="count"})</td>
+				<td>{tmpl_var name="data"}</td>
+			</tr>
+		</tmpl_loop>
+		</tbody>
+		</table>
+	</div>
+</tmpl_else>
+	<h3><tmpl_var name="confirm_client_delete_txt"></h3>
+</tmpl_if>
+&nbsp;
+<div> <input type="checkbox" name="confirm" value="yes" /> <b><tmpl_var name="confirm_action_txt"></b></div>
+&nbsp;
+<input type="hidden" name="id" value="{tmpl_var name='id'}">
+<div class="clear"><div class="left">
+	<button class="btn btn-default formbutton-success" type="button" value="{tmpl_var name='btn_save_txt'}" data-submit-form="pageForm" data-form-action="client/client_del.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="client/client_list.php">{tmpl_var name='btn_cancel_txt'}</button>
+</div></div>
diff --git a/interface/web/mail/form/mail_domain_catchall.tform.php b/interface/web/mail/form/mail_domain_catchall.tform.php
index 72261e05e0f7d496dc7581f7683ad027fa42c5d7..c43aeb333902a9abe52bb1f7e0f1c5da0d8aa009 100644
--- a/interface/web/mail/form/mail_domain_catchall.tform.php
+++ b/interface/web/mail/form/mail_domain_catchall.tform.php
@@ -113,7 +113,7 @@ $form["tabs"]['catchall'] = array (
 										'valuefield'	=> 'email'
 									 ),
 			*/
-			'validators' => array (  0 => array ( 'type' => 'ISEMAIL',
+			'validators' => array (  0 => array ( 'type' => 'ISEMAILADDRESS',
 					'errmsg'=> 'destination_error_isemail'),
 			),
 			'value'  => '',
diff --git a/interface/web/mail/lib/module.conf.php b/interface/web/mail/lib/module.conf.php
index cc100cd7d23a6994191ab283f7de2aac7fb221c7..d9d97bc8b2fb72c4b161791023177368f901000e 100644
--- a/interface/web/mail/lib/module.conf.php
+++ b/interface/web/mail/lib/module.conf.php
@@ -150,31 +150,33 @@ if($app->auth->get_client_limit($userid, 'fetchmail') != 0)
 }
 
 //**** XMPP Menu
-$items = array();
-
-if($app->auth->get_client_limit($userid, 'xmpp_domain') != 0)
-{
-    $items[] = array( 'title'  => 'XMPP Domain',
-        'target'  => 'content',
-        'link' => 'mail/xmpp_domain_list.php',
-        'html_id' => 'xmpp_domain_list');
+if ($app->system->has_service($userid, 'xmpp')) {
+       $items = array();
+
+	if($app->auth->get_client_limit($userid, 'xmpp_domain') != 0)
+	{
+		$items[] = array( 'title'  => 'XMPP Domain',
+			'target'  => 'content',
+			'link' => 'mail/xmpp_domain_list.php',
+			'html_id' => 'xmpp_domain_list');
+	}
+
+	if($app->auth->get_client_limit($userid, 'xmpp_user') != 0)
+	{
+		$items[] = array( 'title'  => 'XMPP Account',
+			'target'  => 'content',
+			'link' => 'mail/xmpp_user_list.php',
+			'html_id' => 'xmpp_user_list');
+	}
+
+	if(count($items))
+	{
+		$module['nav'][] = array( 'title' => 'Jabber / XMPP',
+			'open'  => 1,
+			'items' => $items);
+	}
 }
 
-if($app->auth->get_client_limit($userid, 'xmpp_user') != 0)
-{
-    $items[] = array( 'title'  => 'XMPP Account',
-        'target'  => 'content',
-        'link' => 'mail/xmpp_user_list.php',
-        'html_id' => 'xmpp_user_list');
-}
-
-if(count($items) && $app->system->has_service($userid, 'xmpp'))
-    $module['nav'][] = array( 'title' => 'Jabber / XMPP',
-        'open'  => 1,
-        'items' => $items);
-
-
-
 //**** Statistics menu
 $items = array();
 
diff --git a/interface/web/mail/mail_domain_edit.php b/interface/web/mail/mail_domain_edit.php
index 51d55ef2de432e91cb2cd40306c791b6d24cc0cf..19aa4f91e61b5600904b40c88118dad8f5287f73 100644
--- a/interface/web/mail/mail_domain_edit.php
+++ b/interface/web/mail/mail_domain_edit.php
@@ -75,7 +75,13 @@ class page_action extends tform_actions {
 		$app->uses('ini_parser,getconf');
 		$settings = $app->getconf->get_global_config('domains');
 
-		if($_SESSION["s"]["user"]["typ"] == 'admin' && $settings['use_domain_module'] != 'y') {
+		if($_SESSION["s"]["user"]["typ"] == 'admin' && $settings['use_domain_module'] == 'y') {
+			$sql = "SELECT CONCAT(IF(client.company_name != '', CONCAT(client.company_name, ' :: '), ''), client.contact_name, ' (', client.username, IF(client.customer_no != '', CONCAT(', ', client.customer_no), ''), ')') as contactname FROM sys_group, client WHERE sys_group.client_id = client.client_id AND sys_group.groupid = ?";
+			$clients = $app->db->queryAllRecords($sql, $this->dataRecord['sys_groupid']);
+			$client_select = '<option value="dummy">' . $clients[0]['contactname'] . '</option>';
+			$app->tpl->setVar("client_group_name", $client_select);
+		}
+		elseif($_SESSION["s"]["user"]["typ"] == 'admin' && $settings['use_domain_module'] != 'y') {
 			// Getting Clients of the user
 			$sql = "SELECT sys_group.groupid, sys_group.name, CONCAT(IF(client.company_name != '', CONCAT(client.company_name, ' :: '), ''), client.contact_name, ' (', client.username, IF(client.customer_no != '', CONCAT(', ', client.customer_no), ''), ')') as contactname FROM sys_group, client WHERE sys_group.client_id = client.client_id AND sys_group.client_id > 0 ORDER BY client.company_name, client.contact_name, sys_group.name";
 
diff --git a/interface/web/mail/templates/mail_domain_edit.htm b/interface/web/mail/templates/mail_domain_edit.htm
index 1e4a49c2a5bfa621ed0dc93b43640355a7ba8eed..42ae8fe280ead70a6ae8258f155b240a841704e6 100644
--- a/interface/web/mail/templates/mail_domain_edit.htm
+++ b/interface/web/mail/templates/mail_domain_edit.htm
@@ -6,21 +6,28 @@
                             {tmpl_var name='server_id'}
                         </select></div>
                         <input type="hidden" name="server_id" value="{tmpl_var name='server_id_value'}" />
-                        <tmpl_else>
+                    <tmpl_else>
                             <label for="server_id" class="col-sm-3 control-label">{tmpl_var name='server_id_txt'}</label>
                             <div class="col-sm-9"><select name="server_id" id="server_id" class="form-control">
                                 {tmpl_var name='server_id'}
                             </select></div>
                     </tmpl_if>
                 </div>
-                <tmpl_unless name="domain_option">
+                <tmpl_if name="domain_option">
+                    <div class="form-group">
+                        <label for="client_group_id" class="col-sm-3 control-label">{tmpl_var name='client_txt'}</label>
+                       <div class="col-sm-9"><select name="server_id_disabled" id="server_id_disabled" class="form-control" disabled="disabled">
+                           {tmpl_var name='client_group_name'}
+                       </select></div>
+                    </div>
+                <tmpl_else>
                     <div class="form-group">
                         <label for="client_group_id" class="col-sm-3 control-label">{tmpl_var name='client_txt'}</label>
                         <div class="col-sm-9"><select name="client_group_id" id="client_group_id" class="form-control">
                             {tmpl_var name='client_group_id'}
                         </select></div>
                     </div>
-                </tmpl_unless>
+               </tmpl_if>
             <tmpl_else>
                 <tmpl_if name="only_one_server">
                     <input type="hidden" id="server_id" name="server_id" value="{tmpl_var name='server_id_value'}" />
diff --git a/interface/web/mail/templates/mail_user_list.htm b/interface/web/mail/templates/mail_user_list.htm
index 6d800de57e3b1397247ffb216fd3925c72b4e2ad..69291f4be81b4933ebbd824c7972116b893819b1 100644
--- a/interface/web/mail/templates/mail_user_list.htm
+++ b/interface/web/mail/templates/mail_user_list.htm
@@ -21,12 +21,12 @@
         </div>
         </tmpl_if>
         <p class="fieldset-legend">{tmpl_var name="toolsarea_head_txt"}</p>
-            
+
                 <button class="btn btn-default formbutton-success" type="button" data-load-content="mail/mail_user_edit.php">{tmpl_var name="add_new_record_txt"}</button>
-            
-        
 
-    
+
+
+
         <p class="fieldset-legend"><tmpl_var name="list_head_txt"></p>
             <div class="table-wrapper marginTop15">
 <table class="table">
@@ -60,11 +60,7 @@
                 <tmpl_loop name="records">
                     <tr>
                         <td><a href="#" data-load-content="mail/mail_user_edit.php?id={tmpl_var name='id'}" data-toggle="tooltip" data-placement="bottom" title="{tmpl_var name='email'}">{tmpl_var name="email"}</a></td>
-                        <tmpl_if name="enable_custom_login">
-                            <td>
-                                <a href="#" data-load-content="mail/mail_user_edit.php?id={tmpl_var name='id'}">{tmpl_var name="login"}</a>
-                            </td>
-                        </tmpl_if>
+                        <tmpl_if name="enable_custom_login"><td><a href="#" data-load-content="mail/mail_user_edit.php?id={tmpl_var name='id'}">{tmpl_var name="login"}</a></td></tmpl_if>
                         <td><a href="#" data-load-content="mail/mail_user_edit.php?id={tmpl_var name='id'}">{tmpl_var name="name"}</a></td>
                         <td><a href="#" data-load-content="mail/mail_user_edit.php?id={tmpl_var name='id'}">{tmpl_var name="autoresponder"}</a></td>
                         <td><a href="#" data-load-content="mail/mail_user_edit.php?id={tmpl_var name='id'}">{tmpl_var name="postfix"}</a></td>
diff --git a/interface/web/sites/form/web_vhost_domain.tform.php b/interface/web/sites/form/web_vhost_domain.tform.php
index beb952bfe688fa5ad1597bf62df63938264d8ea2..7da71281cfb2b041ca88d7403689357ec0812359 100644
--- a/interface/web/sites/form/web_vhost_domain.tform.php
+++ b/interface/web/sites/form/web_vhost_domain.tform.php
@@ -591,15 +591,6 @@ if($ssl_available) {
 				'default' => '',
 				'value'  => array('' => 'none_txt', 'save' => 'save_certificate_txt', 'create' => 'create_certificate_txt', 'del' => 'delete_certificate_txt')
 			),
-			'enable_spdy' => array (
-				'datatype' => 'VARCHAR',
-				'formtype' => 'CHECKBOX',
-				'default'  => 'n',
-				'value' => array (
-					0 => 'n',
-					1 => 'y'
-				)
-			),
 			//#################################
 			// END Datatable fields
 			//#################################
diff --git a/interface/web/sites/lib/lang/ar_web_vhost_domain.lng b/interface/web/sites/lib/lang/ar_web_vhost_domain.lng
index f9c396616bc778487cf79e2f4ec3fa0642bea7b4..136829a7b276cbd1b689d04dca3afa8818055f3d 100644
--- a/interface/web/sites/lib/lang/ar_web_vhost_domain.lng
+++ b/interface/web/sites/lib/lang/ar_web_vhost_domain.lng
@@ -140,7 +140,6 @@ $wb['server_chosen_not_ok'] = 'The selected server is not allowed for this accou
 $wb['subdomain_error_empty'] = 'The subdommain field is empty or contains invalid characters.';
 $wb['btn_save_txt'] = 'Save';
 $wb['btn_cancel_txt'] = 'Cancel';
-$wb['enable_spdy_txt'] = 'Enable SPDY/HTTP2';
 $wb['load_client_data_txt'] = 'Load client details';
 $wb['load_my_data_txt'] = 'Load my contact details';
 $wb['reset_client_data_txt'] = 'Reset data';
diff --git a/interface/web/sites/lib/lang/bg_web_vhost_domain.lng b/interface/web/sites/lib/lang/bg_web_vhost_domain.lng
index 1ab6c244cc4849bb26df7134190020ec1f89e71c..8c48f035fe4c577273a0e0bc4d7359426b3fa48a 100644
--- a/interface/web/sites/lib/lang/bg_web_vhost_domain.lng
+++ b/interface/web/sites/lib/lang/bg_web_vhost_domain.lng
@@ -139,7 +139,6 @@ $wb['server_chosen_not_ok'] = 'The selected server is not allowed for this accou
 $wb['subdomain_error_empty'] = 'The subdommain field is empty or contains invalid characters.';
 $wb['btn_save_txt'] = 'Save';
 $wb['btn_cancel_txt'] = 'Cancel';
-$wb['enable_spdy_txt'] = 'Enable SPDY/HTTP2';
 $wb['load_client_data_txt'] = 'Load client details';
 $wb['load_my_data_txt'] = 'Load my contact details';
 $wb['reset_client_data_txt'] = 'Reset data';
diff --git a/interface/web/sites/lib/lang/br_web_vhost_domain.lng b/interface/web/sites/lib/lang/br_web_vhost_domain.lng
index a074b160a39ff03b41a410eac41507ed0674bed6..a3a14e335b971636585325f8637563460b9ca4ab 100644
--- a/interface/web/sites/lib/lang/br_web_vhost_domain.lng
+++ b/interface/web/sites/lib/lang/br_web_vhost_domain.lng
@@ -143,7 +143,6 @@ $wb['backup_excludes_error_regex'] = 'Os diretórios excluídos possuem caracter
 $wb['subdomain_error_empty'] = 'O subdomínio está em branco ou possui caracteres inválidos.';
 $wb['btn_save_txt'] = 'Salvar';
 $wb['btn_cancel_txt'] = 'Cancelar';
-$wb['enable_spdy_txt'] = 'Habilitar SPDY/HTTP2';
 $wb['load_client_data_txt'] = 'Carregar detalhes do cliente';
 $wb['load_my_data_txt'] = 'Carregar detalhes do contato';
 $wb['reset_client_data_txt'] = 'Limpar dados';
diff --git a/interface/web/sites/lib/lang/ca_web_vhost_domain.lng b/interface/web/sites/lib/lang/ca_web_vhost_domain.lng
index d0a5a58bd3046c1b16f5b2b9191fbf7d15cadb72..cf25d81260bbce5d74fda473550f4ef15023687f 100644
--- a/interface/web/sites/lib/lang/ca_web_vhost_domain.lng
+++ b/interface/web/sites/lib/lang/ca_web_vhost_domain.lng
@@ -139,7 +139,6 @@ $wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
 $wb['subdomain_error_empty'] = 'The subdommain field is empty or contains invalid characters.';
 $wb['btn_save_txt'] = 'Save';
 $wb['btn_cancel_txt'] = 'Cancel';
-$wb['enable_spdy_txt'] = 'Enable SPDY/HTTP2';
 $wb['load_client_data_txt'] = 'Load client details';
 $wb['load_my_data_txt'] = 'Load my contact details';
 $wb['reset_client_data_txt'] = 'Reset data';
diff --git a/interface/web/sites/lib/lang/cz_web_vhost_domain.lng b/interface/web/sites/lib/lang/cz_web_vhost_domain.lng
index 250f98c89032efdd9f38ad9f424599ae48a7d5bf..ea814b0cb9b3a59adc0557461266e87a82199b4a 100644
--- a/interface/web/sites/lib/lang/cz_web_vhost_domain.lng
+++ b/interface/web/sites/lib/lang/cz_web_vhost_domain.lng
@@ -138,7 +138,6 @@ $wb['server_chosen_not_ok'] = 'Vybraný server není pro tento účet povolen.';
 $wb['subdomain_error_empty'] = 'Pole subdomény je prázdné nebo obsahuje neplatné znaky.';
 $wb['btn_save_txt'] = 'Uložit';
 $wb['btn_cancel_txt'] = 'Zrušit';
-$wb['enable_spdy_txt'] = 'Povolit SPDY / HTTP2';
 $wb['load_client_data_txt'] = 'Nahrát údaje z podrobností registrovaného klienta';
 $wb['load_my_data_txt'] = 'Load my contact details';
 $wb['reset_client_data_txt'] = 'Obnovit údaje (resetovat)';
diff --git a/interface/web/sites/lib/lang/de_web_vhost_domain.lng b/interface/web/sites/lib/lang/de_web_vhost_domain.lng
index e4424799a645f13ac08d07baad0485f155b4c475..449bcb588a546a85a349e77bb5495516ff2747d1 100644
--- a/interface/web/sites/lib/lang/de_web_vhost_domain.lng
+++ b/interface/web/sites/lib/lang/de_web_vhost_domain.lng
@@ -138,7 +138,6 @@ $wb['host_txt'] = 'Host';
 $wb['domain_error_wildcard'] = 'Wildcard-Subdomains sind nicht erlaubt.';
 $wb['btn_save_txt'] = 'Speichern';
 $wb['btn_cancel_txt'] = 'Abbrechen';
-$wb['enable_spdy_txt'] = 'Aktiviere SPDY/HTTP2';
 $wb['load_client_data_txt'] = 'Kundendaten übernehmen';
 $wb['load_my_data_txt'] = 'Meine Kontaktdaten laden';
 $wb['reset_client_data_txt'] = 'Daten verwerfen';
diff --git a/interface/web/sites/lib/lang/dk_web_vhost_domain.lng b/interface/web/sites/lib/lang/dk_web_vhost_domain.lng
index d0a5a58bd3046c1b16f5b2b9191fbf7d15cadb72..cf25d81260bbce5d74fda473550f4ef15023687f 100644
--- a/interface/web/sites/lib/lang/dk_web_vhost_domain.lng
+++ b/interface/web/sites/lib/lang/dk_web_vhost_domain.lng
@@ -139,7 +139,6 @@ $wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
 $wb['subdomain_error_empty'] = 'The subdommain field is empty or contains invalid characters.';
 $wb['btn_save_txt'] = 'Save';
 $wb['btn_cancel_txt'] = 'Cancel';
-$wb['enable_spdy_txt'] = 'Enable SPDY/HTTP2';
 $wb['load_client_data_txt'] = 'Load client details';
 $wb['load_my_data_txt'] = 'Load my contact details';
 $wb['reset_client_data_txt'] = 'Reset data';
diff --git a/interface/web/sites/lib/lang/el_web_vhost_domain.lng b/interface/web/sites/lib/lang/el_web_vhost_domain.lng
index d4cb988a17a75699c92ba61df41c1624ae879a7c..f39ce19a9bb431e26f95a7c7641c317a7d5afea0 100644
--- a/interface/web/sites/lib/lang/el_web_vhost_domain.lng
+++ b/interface/web/sites/lib/lang/el_web_vhost_domain.lng
@@ -140,7 +140,6 @@ $wb['server_chosen_not_ok'] = 'The selected server is not allowed for this accou
 $wb['subdomain_error_empty'] = 'The subdommain field is empty or contains invalid characters.';
 $wb['btn_save_txt'] = 'Save';
 $wb['btn_cancel_txt'] = 'Cancel';
-$wb['enable_spdy_txt'] = 'Enable SPDY/HTTP2';
 $wb['load_client_data_txt'] = 'Load client details';
 $wb['load_my_data_txt'] = 'Load my contact details';
 $wb['reset_client_data_txt'] = 'Reset data';
diff --git a/interface/web/sites/lib/lang/en_web_vhost_domain.lng b/interface/web/sites/lib/lang/en_web_vhost_domain.lng
index 66bfd1ca19abcae6ad1428ff4305840091f2f735..497fcd1993f98f4c58eaf5f3d5dd0221475f5fb9 100644
--- a/interface/web/sites/lib/lang/en_web_vhost_domain.lng
+++ b/interface/web/sites/lib/lang/en_web_vhost_domain.lng
@@ -143,7 +143,6 @@ $wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid c
 $wb['subdomain_error_empty'] = 'The subdommain field is empty or contains invalid characters.';
 $wb['btn_save_txt'] = "Save";
 $wb['btn_cancel_txt'] = "Cancel";
-$wb['enable_spdy_txt'] = 'Enable SPDY/HTTP2';
 $wb['load_client_data_txt'] = 'Load client details';
 $wb['load_my_data_txt'] = 'Load my contact details';
 $wb['reset_client_data_txt'] = 'Reset data';
diff --git a/interface/web/sites/lib/lang/es_web_vhost_domain.lng b/interface/web/sites/lib/lang/es_web_vhost_domain.lng
index 504bea2aa6a0c524a080672d6432a1cf8d363f74..3f60826008e06eaef91a0330f73b1dbfcb729f7e 100644
--- a/interface/web/sites/lib/lang/es_web_vhost_domain.lng
+++ b/interface/web/sites/lib/lang/es_web_vhost_domain.lng
@@ -138,7 +138,6 @@ $wb['server_chosen_not_ok'] = 'The selected server is not allowed for this accou
 $wb['subdomain_error_empty'] = 'The subdommain field is empty or contains invalid characters.';
 $wb['btn_save_txt'] = 'Save';
 $wb['btn_cancel_txt'] = 'Cancel';
-$wb['enable_spdy_txt'] = 'Enable SPDY/HTTP2';
 $wb['load_client_data_txt'] = 'Load client details';
 $wb['load_my_data_txt'] = 'Load my contact details';
 $wb['reset_client_data_txt'] = 'Reset data';
diff --git a/interface/web/sites/lib/lang/fi_web_vhost_domain.lng b/interface/web/sites/lib/lang/fi_web_vhost_domain.lng
index 460fbadff79d03c3e9b2cfbd41eef5f1bd7c1821..82fd44a56ac09c51a5bab207ef7acc2cb6a2196f 100644
--- a/interface/web/sites/lib/lang/fi_web_vhost_domain.lng
+++ b/interface/web/sites/lib/lang/fi_web_vhost_domain.lng
@@ -139,7 +139,6 @@ $wb['server_chosen_not_ok'] = 'The selected server is not allowed for this accou
 $wb['subdomain_error_empty'] = 'The subdommain field is empty or contains invalid characters.';
 $wb['btn_save_txt'] = 'Save';
 $wb['btn_cancel_txt'] = 'Cancel';
-$wb['enable_spdy_txt'] = 'Enable SPDY/HTTP2';
 $wb['load_client_data_txt'] = 'Load client details';
 $wb['load_my_data_txt'] = 'Load my contact details';
 $wb['reset_client_data_txt'] = 'Reset data';
diff --git a/interface/web/sites/lib/lang/fr_web_vhost_domain.lng b/interface/web/sites/lib/lang/fr_web_vhost_domain.lng
index 306a48aedc7e04daf9188eec5c70996d667d9d0a..5d817c611b9748e723658833de0875eaef2f0b47 100644
--- a/interface/web/sites/lib/lang/fr_web_vhost_domain.lng
+++ b/interface/web/sites/lib/lang/fr_web_vhost_domain.lng
@@ -139,7 +139,6 @@ $wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid c
 $wb['subdomain_error_empty'] = 'The subdommain field is empty or contains invalid characters.';
 $wb['btn_save_txt'] = 'Save';
 $wb['btn_cancel_txt'] = 'Cancel';
-$wb['enable_spdy_txt'] = 'Enable SPDY/HTTP2';
 $wb['load_client_data_txt'] = 'Load client details';
 $wb['load_my_data_txt'] = 'Load my contact details';
 $wb['reset_client_data_txt'] = 'Reset data';
diff --git a/interface/web/sites/lib/lang/hr_web_vhost_domain.lng b/interface/web/sites/lib/lang/hr_web_vhost_domain.lng
index d8835323973e14b14076ca2974f7c31c85e4e06e..4d70565928c0e8addfd0cdc3c8df101e61d34525 100644
--- a/interface/web/sites/lib/lang/hr_web_vhost_domain.lng
+++ b/interface/web/sites/lib/lang/hr_web_vhost_domain.lng
@@ -139,7 +139,6 @@ $wb['server_chosen_not_ok'] = 'The selected server is not allowed for this accou
 $wb['subdomain_error_empty'] = 'The subdommain field is empty or contains invalid characters.';
 $wb['btn_save_txt'] = 'Save';
 $wb['btn_cancel_txt'] = 'Cancel';
-$wb['enable_spdy_txt'] = 'Enable SPDY/HTTP2';
 $wb['load_client_data_txt'] = 'Load client details';
 $wb['load_my_data_txt'] = 'Load my contact details';
 $wb['reset_client_data_txt'] = 'Reset data';
diff --git a/interface/web/sites/lib/lang/hu_web_vhost_domain.lng b/interface/web/sites/lib/lang/hu_web_vhost_domain.lng
index 4d54b0a4c74ba69e15ab8406046a459aec287750..d8bb15537ba42884153bb82674a88fde3c091b91 100644
--- a/interface/web/sites/lib/lang/hu_web_vhost_domain.lng
+++ b/interface/web/sites/lib/lang/hu_web_vhost_domain.lng
@@ -139,7 +139,6 @@ $wb['server_chosen_not_ok'] = 'The selected server is not allowed for this accou
 $wb['subdomain_error_empty'] = 'The subdommain field is empty or contains invalid characters.';
 $wb['btn_save_txt'] = 'Save';
 $wb['btn_cancel_txt'] = 'Cancel';
-$wb['enable_spdy_txt'] = 'Enable SPDY/HTTP2';
 $wb['load_client_data_txt'] = 'Load client details';
 $wb['load_my_data_txt'] = 'Load my contact details';
 $wb['reset_client_data_txt'] = 'Reset data';
diff --git a/interface/web/sites/lib/lang/id_web_vhost_domain.lng b/interface/web/sites/lib/lang/id_web_vhost_domain.lng
index 3aa65982cda753af40bcb5b79525bc21ac42d671..39df360c89fb1b0a7af3ea3d1fe57b71b0f41dd6 100644
--- a/interface/web/sites/lib/lang/id_web_vhost_domain.lng
+++ b/interface/web/sites/lib/lang/id_web_vhost_domain.lng
@@ -139,7 +139,6 @@ $wb['server_chosen_not_ok'] = 'The selected server is not allowed for this accou
 $wb['subdomain_error_empty'] = 'The subdommain field is empty or contains invalid characters.';
 $wb['btn_save_txt'] = 'Save';
 $wb['btn_cancel_txt'] = 'Cancel';
-$wb['enable_spdy_txt'] = 'Enable SPDY/HTTP2';
 $wb['load_client_data_txt'] = 'Load client details';
 $wb['load_my_data_txt'] = 'Load my contact details';
 $wb['reset_client_data_txt'] = 'Reset data';
diff --git a/interface/web/sites/lib/lang/it_web_vhost_domain.lng b/interface/web/sites/lib/lang/it_web_vhost_domain.lng
index cc890d855ef27a50798498c795ca5168d2ae31c6..807039ca6c2113e9bf76e86892af3a1839bb6aad 100644
--- a/interface/web/sites/lib/lang/it_web_vhost_domain.lng
+++ b/interface/web/sites/lib/lang/it_web_vhost_domain.lng
@@ -140,7 +140,6 @@ $wb['server_chosen_not_ok'] = 'The selected server is not allowed for this accou
 $wb['subdomain_error_empty'] = 'The subdommain field is empty or contains invalid characters.';
 $wb['btn_save_txt'] = 'Save';
 $wb['btn_cancel_txt'] = 'Cancel';
-$wb['enable_spdy_txt'] = 'Enable SPDY/HTTP2';
 $wb['load_client_data_txt'] = 'Load client details';
 $wb['load_my_data_txt'] = 'Load my contact details';
 $wb['reset_client_data_txt'] = 'Reset data';
diff --git a/interface/web/sites/lib/lang/ja_web_vhost_domain.lng b/interface/web/sites/lib/lang/ja_web_vhost_domain.lng
index bfb5e8b13773b9ed36aececa3451938a59f52733..288b9fab1107bbb25191209d2ca58160f8c7001b 100644
--- a/interface/web/sites/lib/lang/ja_web_vhost_domain.lng
+++ b/interface/web/sites/lib/lang/ja_web_vhost_domain.lng
@@ -139,7 +139,6 @@ $wb['server_chosen_not_ok'] = 'The selected server is not allowed for this accou
 $wb['subdomain_error_empty'] = 'The subdommain field is empty or contains invalid characters.';
 $wb['btn_save_txt'] = 'Save';
 $wb['btn_cancel_txt'] = 'Cancel';
-$wb['enable_spdy_txt'] = 'Enable SPDY/HTTP2';
 $wb['load_client_data_txt'] = 'Load client details';
 $wb['load_my_data_txt'] = 'Load my contact details';
 $wb['reset_client_data_txt'] = 'Reset data';
diff --git a/interface/web/sites/lib/lang/nl_web_vhost_domain.lng b/interface/web/sites/lib/lang/nl_web_vhost_domain.lng
index d67cde421abb02725299b0877820fb708666c2dc..27371eee355d897d3c1372bb487f4a40dfb47d49 100644
--- a/interface/web/sites/lib/lang/nl_web_vhost_domain.lng
+++ b/interface/web/sites/lib/lang/nl_web_vhost_domain.lng
@@ -139,7 +139,6 @@ $wb['server_chosen_not_ok'] = 'The selected server is not allowed for this accou
 $wb['subdomain_error_empty'] = 'The subdommain field is empty or contains invalid characters.';
 $wb['btn_save_txt'] = 'Opslaan';
 $wb['btn_cancel_txt'] = 'Annuleren';
-$wb['enable_spdy_txt'] = 'SPDY/HTTP2 inschakelen';
 $wb['load_client_data_txt'] = 'Load client details';
 $wb['load_my_data_txt'] = 'Load my contact details';
 $wb['reset_client_data_txt'] = 'Reset data';
diff --git a/interface/web/sites/lib/lang/pl_web_vhost_domain.lng b/interface/web/sites/lib/lang/pl_web_vhost_domain.lng
index c24c319fe59399b914cdb929518960e6f515d6d2..f1e945df6f12dd92acd5fb82af5863d0dbfa3dd6 100644
--- a/interface/web/sites/lib/lang/pl_web_vhost_domain.lng
+++ b/interface/web/sites/lib/lang/pl_web_vhost_domain.lng
@@ -139,7 +139,6 @@ $wb['server_chosen_not_ok'] = 'The selected server is not allowed for this accou
 $wb['subdomain_error_empty'] = 'The subdommain field is empty or contains invalid characters.';
 $wb['btn_save_txt'] = 'Save';
 $wb['btn_cancel_txt'] = 'Cancel';
-$wb['enable_spdy_txt'] = 'Enable SPDY/HTTP2';
 $wb['load_client_data_txt'] = 'Load client details';
 $wb['load_my_data_txt'] = 'Load my contact details';
 $wb['reset_client_data_txt'] = 'Reset data';
diff --git a/interface/web/sites/lib/lang/pt_web_vhost_domain.lng b/interface/web/sites/lib/lang/pt_web_vhost_domain.lng
index dc6895c3e1fa4398aa9ce404dcc940567aa8a9dc..9eb927f000346acfa3aae49b0b4744ad48972497 100644
--- a/interface/web/sites/lib/lang/pt_web_vhost_domain.lng
+++ b/interface/web/sites/lib/lang/pt_web_vhost_domain.lng
@@ -139,7 +139,6 @@ $wb['server_chosen_not_ok'] = 'The selected server is not allowed for this accou
 $wb['subdomain_error_empty'] = 'The subdommain field is empty or contains invalid characters.';
 $wb['btn_save_txt'] = 'Save';
 $wb['btn_cancel_txt'] = 'Cancel';
-$wb['enable_spdy_txt'] = 'Enable SPDY/HTTP2';
 $wb['load_client_data_txt'] = 'Load client details';
 $wb['load_my_data_txt'] = 'Load my contact details';
 $wb['reset_client_data_txt'] = 'Reset data';
diff --git a/interface/web/sites/lib/lang/ro_web_vhost_domain.lng b/interface/web/sites/lib/lang/ro_web_vhost_domain.lng
index 8e27105a6adbd7ee5bc83dc7923409d580190ae9..0127c4ee8058580ec56ed24d9545d8ee8f8d8ce1 100644
--- a/interface/web/sites/lib/lang/ro_web_vhost_domain.lng
+++ b/interface/web/sites/lib/lang/ro_web_vhost_domain.lng
@@ -140,7 +140,6 @@ $wb['server_chosen_not_ok'] = 'The selected server is not allowed for this accou
 $wb['subdomain_error_empty'] = 'The subdommain field is empty or contains invalid characters.';
 $wb['btn_save_txt'] = 'Save';
 $wb['btn_cancel_txt'] = 'Cancel';
-$wb['enable_spdy_txt'] = 'Enable SPDY/HTTP2';
 $wb['load_client_data_txt'] = 'Load client details';
 $wb['load_my_data_txt'] = 'Load my contact details';
 $wb['reset_client_data_txt'] = 'Reset data';
diff --git a/interface/web/sites/lib/lang/ru_web_vhost_domain.lng b/interface/web/sites/lib/lang/ru_web_vhost_domain.lng
index c9a2a0a4ba116639b491126a06bf56498c3c4e07..827f149dd856797e6161c5d28df64ce5a59010aa 100644
--- a/interface/web/sites/lib/lang/ru_web_vhost_domain.lng
+++ b/interface/web/sites/lib/lang/ru_web_vhost_domain.lng
@@ -139,7 +139,6 @@ $wb['server_chosen_not_ok'] = 'Выбранный сервер запрещён
 $wb['subdomain_error_empty'] = 'Поле поддомена пуст или содержит недопустимые символы.';
 $wb['btn_save_txt'] = 'Сохранить';
 $wb['btn_cancel_txt'] = 'Отменить';
-$wb['enable_spdy_txt'] = 'Включить SPDY/HTTP2';
 $wb['load_client_data_txt'] = 'Загрузить информацию о клиенте';
 $wb['load_my_data_txt'] = 'Загрузить мои контактные данные';
 $wb['reset_client_data_txt'] = 'Сброс данных';
diff --git a/interface/web/sites/lib/lang/se_web_vhost_domain.lng b/interface/web/sites/lib/lang/se_web_vhost_domain.lng
index ec509b333aa90818ad8f0ba7b9dc67542c284436..1bac2468c15530a921633801befef70c2dbb1038 100644
--- a/interface/web/sites/lib/lang/se_web_vhost_domain.lng
+++ b/interface/web/sites/lib/lang/se_web_vhost_domain.lng
@@ -140,7 +140,6 @@ $wb['server_chosen_not_ok'] = 'The selected server is not allowed for this accou
 $wb['subdomain_error_empty'] = 'The subdommain field is empty or contains invalid characters.';
 $wb['btn_save_txt'] = 'Save';
 $wb['btn_cancel_txt'] = 'Cancel';
-$wb['enable_spdy_txt'] = 'Enable SPDY/HTTP2';
 $wb['load_client_data_txt'] = 'Load client details';
 $wb['load_my_data_txt'] = 'Load my contact details';
 $wb['reset_client_data_txt'] = 'Reset data';
diff --git a/interface/web/sites/lib/lang/sk_web_vhost_domain.lng b/interface/web/sites/lib/lang/sk_web_vhost_domain.lng
index 0509b1a3bb56480beaf35b290b3aaa048dc9d146..c3b680b2b480c0be42b08f5c10a4b4f0affa0547 100644
--- a/interface/web/sites/lib/lang/sk_web_vhost_domain.lng
+++ b/interface/web/sites/lib/lang/sk_web_vhost_domain.lng
@@ -139,7 +139,6 @@ $wb['server_chosen_not_ok'] = 'The selected server is not allowed for this accou
 $wb['subdomain_error_empty'] = 'The subdommain field is empty or contains invalid characters.';
 $wb['btn_save_txt'] = 'Save';
 $wb['btn_cancel_txt'] = 'Cancel';
-$wb['enable_spdy_txt'] = 'Enable SPDY/HTTP2';
 $wb['load_client_data_txt'] = 'Load client details';
 $wb['load_my_data_txt'] = 'Load my contact details';
 $wb['reset_client_data_txt'] = 'Reset data';
diff --git a/interface/web/sites/lib/lang/tr_web_vhost_domain.lng b/interface/web/sites/lib/lang/tr_web_vhost_domain.lng
index 071df396e4958171fb8b0049cae3d5464ce578e6..2e004d87ef4049f5e644b53202e90f374cfc0d72 100644
--- a/interface/web/sites/lib/lang/tr_web_vhost_domain.lng
+++ b/interface/web/sites/lib/lang/tr_web_vhost_domain.lng
@@ -142,7 +142,6 @@ $wb['backup_excludes_error_regex'] = 'Katılmayacak klasörlerde geçersiz karak
 $wb['subdomain_error_empty'] = 'Alt etki alanı boş ya da geçersiz karakterler içeriyor.';
 $wb['btn_save_txt'] = 'Kaydet';
 $wb['btn_cancel_txt'] = 'İptal';
-$wb['enable_spdy_txt'] = 'SPDY kullanılsın';
 $wb['load_client_data_txt'] = 'Müşteri Bilgilerini Yükle';
 $wb['load_my_data_txt'] = 'Profil Bilgilerimi Yükle';
 $wb['reset_client_data_txt'] = 'Verileri Sıfırla';
diff --git a/interface/web/sites/templates/web_vhost_domain_ssl.htm b/interface/web/sites/templates/web_vhost_domain_ssl.htm
index 8b3d986a02ac43fc459132d7d2f1117bbc295d13..d4ec6749e27a602f6857f7da0e736b9364dcf127 100644
--- a/interface/web/sites/templates/web_vhost_domain_ssl.htm
+++ b/interface/web/sites/templates/web_vhost_domain_ssl.htm
@@ -62,15 +62,7 @@
                     {tmpl_var name='ssl_action'}
                 </select></div>
             </div>
-			{tmpl_if name="is_spdy_enabled"}
-			<div class="form-group">
-				<label class="col-sm-3 control-label">{tmpl_var name='enable_spdy_txt'}</label>
-				<div class="col-sm-9">
-					{tmpl_var name="enable_spdy"}
-				</div>
-			</div>
-			{/tmpl_if}
-        
+
 
         <input type="hidden" name="id" value="{tmpl_var name='id'}">
 
@@ -91,11 +83,11 @@
 	$('#load_data').click(function(){
 		loadClientData();
 	});
-	
-	
+
+
 	function loadClientData() {
         var web_id = $("input[name=id]").val();
-        
+
         jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {'web_id': web_id, 'type': "getclientssldata"}, function(data) {
 			$('#ssl_organisation').val(data['company_name']);
 			$('#ssl_locality').val(data['city']);
diff --git a/interface/web/sites/web_vhost_domain_edit.php b/interface/web/sites/web_vhost_domain_edit.php
index 82da18ae1e3d280ad25651fa2949c74189616295..0d770476d12bdea9b93a8f3b27aafde60fcf35d5 100644
--- a/interface/web/sites/web_vhost_domain_edit.php
+++ b/interface/web/sites/web_vhost_domain_edit.php
@@ -840,7 +840,6 @@ class page_action extends tform_actions {
 
 		$app->tpl->setVar('vhostdomain_type', $this->_vhostdomain_type, true);
 
-		$app->tpl->setVar('is_spdy_enabled', ($web_config['enable_spdy'] === 'y'));
 		$app->tpl->setVar('is_pagespeed_enabled', ($web_config['nginx_enable_pagespeed'] === 'y'));
 		$app->tpl->setVar("is_admin", $is_admin);
 
@@ -950,10 +949,8 @@ class page_action extends tform_actions {
 		}
 		$app->tpl->setLoop('folder_directive_snippets', $folder_directive_snippets);
 		if(is_array($web_config[$server_id])) {
-			$app->tpl->setVar('is_spdy_enabled', ($web_config[$server_id]['enable_spdy'] === 'y'));
 			$app->tpl->setVar('is_pagespeed_enabled', ($web_config[$server_id]['nginx_enable_pagespeed']));
 		} else {
-			$app->tpl->setVar('is_spdy_enabled', ($web_config['enable_spdy'] === 'y'));
 			$app->tpl->setVar('is_pagespeed_enabled', ($web_config['nginx_enable_pagespeed']));
 		}
 
@@ -1325,10 +1322,6 @@ class page_action extends tform_actions {
 				$app->tform->errorMessage .= $app->tform->lng("invalid_custom_php_ini_settings_txt").'<br>';
 			}
 		}
-
-		if($web_config['enable_spdy'] === 'n') {
-			unset($app->tform->formDef["tabs"]['ssl']['fields']['enable_spdy']);
-		}
 	//	if($this->dataRecord["directive_snippets_id"] < 1) $this->dataRecord["enable_pagespeed"] = 'n';
 
 		//print_r($_POST['folder_directive_snippets']);
diff --git a/server/conf/apache_apps.vhost.master b/server/conf/apache_apps.vhost.master
index 94982a6dc11ee3ec1f46289cd05c27d8727575c7..fe73487fa05c569612ddbe5f3530b3c47d9636b1 100644
--- a/server/conf/apache_apps.vhost.master
+++ b/server/conf/apache_apps.vhost.master
@@ -14,17 +14,11 @@
   <FilesMatch "\.ph(p3?|tml)$">
     SetHandler None
   </FilesMatch>
-  
+
   <IfModule mod_headers.c>
 	RequestHeader unset Proxy early
   </IfModule>
 
-  {tmpl_if name="enable_spdy" op="==" value="y"}
-  <IfModule spdy_module>
-	SpdyEnabled on
-  </IfModule>
-  {/tmpl_if}
-
   <IfModule mod_php5.c>
     DocumentRoot {tmpl_var name='apps_vhost_dir'}
     AddType application/x-httpd-php .php
@@ -39,7 +33,7 @@
 		</tmpl_if>
     </Directory>
   </IfModule>
-  
+
   <IfModule mod_php7.c>
     DocumentRoot {tmpl_var name='apps_vhost_dir'}
     AddType application/x-httpd-php .php
@@ -54,7 +48,7 @@
 		</tmpl_if>
     </Directory>
   </IfModule>
-  
+
   <IfModule mod_fcgid.c>
     DocumentRoot {tmpl_var name='apps_vhost_dir'}
     SuexecUserGroup ispapps ispapps
@@ -85,5 +79,3 @@
 {/tmpl_if}
 
 </VirtualHost>
-
-
diff --git a/server/conf/apache_ispconfig.conf.master b/server/conf/apache_ispconfig.conf.master
index 6acb16f7c8bac0a99cbf17084e786c9e8bacacce..e30ccd6d3bc6235d79902b0472ccb4d13bb8d1b1 100644
--- a/server/conf/apache_ispconfig.conf.master
+++ b/server/conf/apache_ispconfig.conf.master
@@ -132,7 +132,7 @@ Alias /.well-known/acme-challenge /usr/local/ispconfig/interface/acme/.well-know
         Allow from all
     </tmpl_if>
 	<IfModule mpm_itk_module>
-       AssignUserId www-data www-data
+       AssignUserId <tmpl_var name='system_user'> <tmpl_var name='system_group'>
     </IfModule>
 </Directory>
 
diff --git a/server/conf/nginx_vhost.conf.master b/server/conf/nginx_vhost.conf.master
index 978139174fda1702c883093dd33b57b4fc2ce45b..ce245787a5ce02dcd14d745b87fb1fc780647f1e 100644
--- a/server/conf/nginx_vhost.conf.master
+++ b/server/conf/nginx_vhost.conf.master
@@ -12,7 +12,7 @@ server {
         listen [::]:<tmpl_var name='http_port'>;
 </tmpl_if>
 <tmpl_if name='ssl_enabled'>
-        listen <tmpl_var name='ip_address'>:<tmpl_var name='https_port'> ssl{tmpl_if name='enable_http2' op='==' value='y'} http2{/tmpl_if}{tmpl_if name='enable_spdy' op='==' value='y'} spdy{/tmpl_if};
+        listen <tmpl_var name='ip_address'>:<tmpl_var name='https_port'> ssl http2;
 <tmpl_if name='use_proxy_protocol' op='==' value='y'>
 <tmpl_if name='proxy_protocol_https' op='>' value='0'>
         listen <tmpl_var name='ip_address'>:<tmpl_var name='proxy_protocol_https'> ssl proxy_protocol;
@@ -22,19 +22,19 @@ server {
 		# ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS';
 		# ssl_prefer_server_ciphers on;
 <tmpl_if name='ipv6_enabled'>
-        listen [<tmpl_var name='ipv6_address'>]:<tmpl_var name='https_port'> ssl{tmpl_if name='enable_http2' op='==' value='y'} http2{/tmpl_if}{tmpl_if name='enable_spdy' op='==' value='y'} spdy{/tmpl_if};
+        listen [<tmpl_var name='ipv6_address'>]:<tmpl_var name='https_port'> ssl http2;
 </tmpl_if>
 <tmpl_if name='ipv6_wildcard'>
-        listen [::]:<tmpl_var name='https_port'> ssl{tmpl_if name='enable_http2' op='==' value='y'} http2{/tmpl_if}{tmpl_if name='enable_spdy' op='==' value='y'} spdy{/tmpl_if};
+        listen [::]:<tmpl_var name='https_port'> ssl http2;
 </tmpl_if>
         ssl_certificate <tmpl_var name='ssl_crt_file'>;
         ssl_certificate_key <tmpl_var name='ssl_key_file'>;
 </tmpl_if>
-        
+
         server_name <tmpl_var name='domain'> <tmpl_var name='alias'>;
 
         root   <tmpl_var name='web_document_root_www'>;
-		
+
 <tmpl_if name='ssl_enabled'>
 <tmpl_if name='rewrite_to_https' op='==' value='y'>
         if ($scheme != "https") {
@@ -72,16 +72,16 @@ server {
         }
 </tmpl_if>
 </tmpl_loop>
-<tmpl_if name='use_proxy' op='!=' value='y'>		
+<tmpl_if name='use_proxy' op='!=' value='y'>
         index index.html index.htm index.php index.cgi index.pl index.xhtml;
-		
-<tmpl_if name='ssi' op='==' value='y'>		
+
+<tmpl_if name='ssi' op='==' value='y'>
         location ~ \.shtml$ {
             ssi on;
         }
 </tmpl_if>
 
-<tmpl_if name='errordocs'>		
+<tmpl_if name='errordocs'>
         error_page 400 /error/400.html;
         error_page 401 /error/401.html;
         error_page 403 /error/403.html;
@@ -124,7 +124,7 @@ server {
             internal;
         }
 </tmpl_if>
-		
+
 <tmpl_if name='logging' op='==' value='yes'>
         error_log /var/log/ispconfig/httpd/<tmpl_var name='domain'>/error.log;
         access_log /var/log/ispconfig/httpd/<tmpl_var name='domain'>/access.log combined;
@@ -149,7 +149,7 @@ server {
 			index index.html;
 			try_files $uri $uri/ =404;
         }
-		
+
         location = /favicon.ico {
             log_not_found off;
             access_log off;
@@ -162,7 +162,7 @@ server {
             log_not_found off;
             access_log off;
         }
-		
+
         location /stats/ {
             <tmpl_var name='web_document_root_www_proxy'>
             index index.html index.php;
@@ -325,13 +325,13 @@ server {
         location <tmpl_var name='htpasswd_location'> { ##merge##
                 auth_basic "Members Only";
                 auth_basic_user_file <tmpl_var name='htpasswd_path'>.htpasswd;
-				
+
                 location ~ \.php$ {
                     try_files <tmpl_var name='rnd_php_dummy_file'> @php;
                 }
         }
 </tmpl_loop>
-</tmpl_if>	
+</tmpl_if>
 }
 
 <tmpl_loop name="redirects">
@@ -340,7 +340,7 @@ server {
 <tmpl_if name='ipv6_enabled'>
         listen [<tmpl_var name='ipv6_address'>]:80;
 </tmpl_if>
-		
+
 <tmpl_if name='ssl_enabled'>
         listen <tmpl_var name='ip_address'>:443 ssl;
 <tmpl_if name='ipv6_enabled'>
@@ -349,7 +349,7 @@ server {
         ssl_certificate <tmpl_var name='ssl_crt_file'>;
         ssl_certificate_key <tmpl_var name='ssl_key_file'>;
 </tmpl_if>
-        
+
         server_name <tmpl_var name='rewrite_domain'>;
 
 <tmpl_if name='alias_seo_redirects2'>
diff --git a/server/conf/vhost.conf.master b/server/conf/vhost.conf.master
index 0612c13f7f0009a3094c280fcf3678f031556868..8cc87515b1db714d763578b457b8ca7581145a6e 100644
--- a/server/conf/vhost.conf.master
+++ b/server/conf/vhost.conf.master
@@ -50,12 +50,12 @@
 		ServerAdmin webmaster@<tmpl_var name='domain'>
 
 <tmpl_if name='ssl_enabled'>
-<tmpl_if name='enable_http2' op='==' value='y'>
-		Protocols h2 http/1.1
+		<IfModule mod_http2.c>
+			Protocols h2 http/1.1
+		</IfModule>
 		SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
 		SSLCipherSuite 'EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA !RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS'
 </tmpl_if>
-</tmpl_if>
 
 <tmpl_if name='logging' op='==' value='anon'>
 		ErrorLog "|/usr/local/ispconfig/server/scripts/vlogger -e -n -P -t \"error.log\" /var/log/ispconfig/httpd/<tmpl_var name='domain'>"
@@ -387,7 +387,7 @@
                 Action php-fcgi /php-fcgi virtual
 				Alias /php-fcgi {tmpl_var name='document_root'}/cgi-bin/php-fcgi-{tmpl_var name='ip_address'}-{tmpl_var name='port'}-{tmpl_var name='domain'}
 <tmpl_if name='use_tcp'>
-                FastCgiExternalServer {tmpl_var name='document_root'}/cgi-bin/php-fcgi-{tmpl_var name='ip_address'}-{tmpl_var name='port'}-{tmpl_var name='domain'} -idle-timeout 300 -host 127.0.0.1:<tmpl_var name='fpm_port'> -pass-header Authorization  -pass-header Content-Type    
+                FastCgiExternalServer {tmpl_var name='document_root'}/cgi-bin/php-fcgi-{tmpl_var name='ip_address'}-{tmpl_var name='port'}-{tmpl_var name='domain'} -idle-timeout 300 -host 127.0.0.1:<tmpl_var name='fpm_port'> -pass-header Authorization  -pass-header Content-Type
 </tmpl_if>
 <tmpl_if name='use_socket'>
                 FastCgiExternalServer {tmpl_var name='document_root'}/cgi-bin/php-fcgi-{tmpl_var name='ip_address'}-{tmpl_var name='port'}-{tmpl_var name='domain'} -idle-timeout 300 -socket <tmpl_var name='fpm_socket'> -pass-header Authorization  -pass-header Content-Type
@@ -513,9 +513,9 @@
 		RewriteCond %{REQUEST_URI} !^/php-fcgi/
 		RewriteCond %{REQUEST_URI} !^<tmpl_var name='rewrite_target'>
 </tmpl_if>
-		
+
 		RewriteRule   ^/(.*)$ <tmpl_var name='rewrite_target'><tmpl_if name="rewrite_add_path" op="==" value="y">$1</tmpl_if>  <tmpl_var name='rewrite_type'>
-	
+
 </tmpl_loop>
 <tmpl_if name='ssl_enabled'>
 <tmpl_else>
diff --git a/server/lib/classes/monitor_tools.inc.php b/server/lib/classes/monitor_tools.inc.php
index 75e75c7f30e2db4d045c549079b6df95d286847f..e349acd12894c2251ae619d423f0226652ada6f2 100644
--- a/server/lib/classes/monitor_tools.inc.php
+++ b/server/lib/classes/monitor_tools.inc.php
@@ -323,14 +323,14 @@ class monitor_tools {
 			} else {
 				$distid = 'centos72';
 			}
-                } elseif(stristr($content, 'CentOS Linux release 8')) {
-                        preg_match_all('/([0-9]{1,2})\.?([0-9]{0,2})\.?([0-9]*)/', $content, $version);
-                        $distname = 'CentOS';
-                        $distver = is_array($version)? implode('.', array_filter(array($version[1][0],$version[2][0],$version[3][0]),'strlen')) :'Unknown';
-                        $distbaseid = 'fedora';
-                        $var=explode(" ", $content);
-                        $var=explode(".", $var[3]);
-                        $var=$var[0].".".$var[1];
+		} elseif(stristr($content, 'CentOS Linux release 8')) {
+			preg_match_all('/([0-9]{1,2})\.?([0-9]{0,2})\.?([0-9]*)/', $content, $version);
+			$distname = 'CentOS';
+			$distver = is_array($version)? implode('.', array_filter(array($version[1][0],$version[2][0],$version[3][0]),'strlen')) :'Unknown';
+			$distbaseid = 'fedora';
+			$var=explode(" ", $content);
+			$var=explode(".", $var[3]);
+			$var=$var[0].".".$var[1];
 		} else {
 			$distname = 'Redhat';
 			$distver = 'Unknown';
diff --git a/server/plugins-available/apache2_plugin.inc.php b/server/plugins-available/apache2_plugin.inc.php
index 5f697d060e2621c968b728ca0afdb84c72bb23c3..b969882f2b2edf294a0c6adf5902a97826793c39 100644
--- a/server/plugins-available/apache2_plugin.inc.php
+++ b/server/plugins-available/apache2_plugin.inc.php
@@ -1235,17 +1235,6 @@ class apache2_plugin {
 		// Use separate bundle file only for apache versions < 2.4.8
 		if(@is_file($bundle_file) && version_compare($app->system->getapacheversion(true), '2.4.8', '<')) $vhost_data['has_bundle_cert'] = 1;
 
-		// HTTP/2.0 ?
-		$vhost_data['enable_http2']  = 'n';
-		if($vhost_data['enable_spdy'] == 'y'){
-			// check if apache supports http_v2
-			exec("2>&1 apachectl -M | grep http2_module", $tmp_output, $tmp_retval);
-			if($tmp_retval == 0){
-				$vhost_data['enable_http2']  = 'y';
-			}
-			unset($tmp_output, $tmp_retval);
-		}
-
 		// Set SEO Redirect
 		if($data['new']['seo_redirect'] != ''){
 			$vhost_data['seo_redirect_enabled'] = 1;
diff --git a/server/plugins-available/bind_plugin.inc.php b/server/plugins-available/bind_plugin.inc.php
index f2dc603ec5165def2ff160be4769ab34c0179fd2..d4b4a7c01c0516e582c1128c6180a6d3e6320aa1 100644
--- a/server/plugins-available/bind_plugin.inc.php
+++ b/server/plugins-available/bind_plugin.inc.php
@@ -225,7 +225,7 @@ class bind_plugin {
 
 		//* Get the bind version
 		$bind_caa = false;
-        $bind = explode("\n", shell_exec('which named bind'));
+        $bind = explode("\n", shell_exec('which named bind 2> /dev/null'));
         $bind = reset($bind);
         if(is_executable($bind)) {
 			exec($bind . ' -v 2>&1', $tmp);
diff --git a/server/plugins-available/nginx_plugin.inc.php b/server/plugins-available/nginx_plugin.inc.php
index 89ac35734dc14615b3a902923aa40f4526b18f2f..b57d38516e993febb8f7b66ef556d5f4591ae3f5 100644
--- a/server/plugins-available/nginx_plugin.inc.php
+++ b/server/plugins-available/nginx_plugin.inc.php
@@ -1517,18 +1517,6 @@ class nginx_plugin {
 			}
 		}
 
-		// http2 or spdy?
-		$vhost_data['enable_http2']  = 'n';
-		if($vhost_data['enable_spdy'] == 'y'){
-			// check if nginx support http_v2; if so, use that instead of spdy
-			exec("2>&1 nginx -V | tr -- - '\n' | grep http_v2_module", $tmp_output, $tmp_retval);
-			if($tmp_retval == 0){
-				$vhost_data['enable_http2']  = 'y';
-				$vhost_data['enable_spdy'] = 'n';
-			}
-			unset($tmp_output, $tmp_retval);
-		}
-
 		//proxy protocol settings
 		if($web_config['vhost_proxy_protocol_enabled'] == "y"){
 		    if((int)$web_config['vhost_proxy_protocol_https_port'] > 0) {