From dee987b263b021b990ea4c62cb15be47c6d61fb5 Mon Sep 17 00:00:00 2001
From: Marius Cramer <m.cramer@pixcept.de>
Date: Mon, 05 Jan 2015 08:30:12 -0500
Subject: [PATCH] Merge branch 'master' into 'master'

---
 interface/web/admin/form/server_config.tform.php |  700 ++++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 490 insertions(+), 210 deletions(-)

diff --git a/interface/web/admin/form/server_config.tform.php b/interface/web/admin/form/server_config.tform.php
index c2adbdc..6f1c889 100644
--- a/interface/web/admin/form/server_config.tform.php
+++ b/interface/web/admin/form/server_config.tform.php
@@ -55,9 +55,9 @@
 	'width' => 70,
 	'template' => "templates/server_config_server_edit.htm",
 	'fields' => array(
-		##################################
-		# Begin Datatable fields
-		##################################
+		//#################################
+		// Begin Datatable fields
+		//#################################
 		'auto_network_configuration' => array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'CHECKBOX',
@@ -83,22 +83,24 @@
 					'errmsg' => 'netmask_error_wrong'),
 			),
 			'value' => '',
-			'width' => '15',
-			'maxlength' => '255'
+			'width' => '15',
+			'maxlength' => '255'
 		),
-		/*
-		'v6_prefix' => array(
-			'datatype' => 'VARCHAR',
-			'formtype' => 'TEXT',
-                        'validators' => array(0 => array('type' => 'ISV6PREFIX',
-                                        'errmsg' => 'v6_prefix_wrong'),
-                        ),
-		'default' => ''
+		'v6_prefix' => array(
+			'datatype' => 'VARCHAR',
+			'formtype' => 'TEXT',
+			'validators' => array(  0 => array('type' => 'ISV6PREFIX',
+						'errmsg' => 'v6_prefix_wrong'),
+						1 => array('type' => 'V6PREFIXEND',
+						'errmsg' => 'v6_prefix_end'),
+						2 => array('type' => 'V6PREFIXLENGTH',
+						'errmsg' => 'v6_prefix_length')
+			),
+			'default' => ''
 		),
-		*/
-		'gateway' => array(
-			'datatype' => 'VARCHAR',
-			'formtype' => 'TEXT',
+		'gateway' => array(
+			'datatype' => 'VARCHAR',
+			'formtype' => 'TEXT',
 			'default' => '192.168.0.1',
 			'validators' => array(0 => array('type' => 'ISIPV4',
 					'errmsg' => 'gateway_error_wrong'),
@@ -119,15 +121,18 @@
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => 'server1.domain.tld',
-            'filters'   => array( 0 => array( 'event' => 'SAVE',
-                                              'type' => 'IDNTOASCII'),
-                                  1 => array( 'event' => 'SHOW',
-                                              'type' => 'IDNTOUTF8'),
-                                  2 => array( 'event' => 'SAVE',
-                                              'type' => 'TOLOWER')
-                                ),
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'hostname_error_empty'),
+			'filters'   => array( 0 => array( 'event' => 'SAVE',
+					'type' => 'IDNTOASCII'),
+				1 => array( 'event' => 'SHOW',
+					'type' => 'IDNTOUTF8'),
+				2 => array( 'event' => 'SAVE',
+					'type' => 'TOLOWER')
+			),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+												'errmsg' => 'hostname_error_empty'),
+									1 => array ('type' => 'REGEX',
+												'regex' => '/^[\w\.\-]{2,255}\.[a-zA-Z0-9\-]{2,30}$/',
+												'errmsg'=> 'hostname_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -164,12 +169,21 @@
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '/var/backup',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'backup_dir_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'backup_dir_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
+										'errmsg'=> 'backup_dir_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
 			'maxlength' => '255'
+		),
+		'backup_dir_is_mount' => array(
+			'datatype' => 'VARCHAR',
+			'formtype' => 'CHECKBOX',
+			'default' => 'n',
+			'value' => array(0 => 'n', 1 => 'y')
 		),
 		'backup_mode' => array(
 			'datatype' => 'VARCHAR',
@@ -179,14 +193,20 @@
 			'width' => '40',
 			'maxlength' => '255'
 		),
+		'backup_delete' => array(
+			'datatype' => 'VARCHAR',
+			'formtype' => 'CHECKBOX',
+			'default' => 'y',
+			'value' => array(0 => 'n', 1 => 'y')
+		),
 		'monit_url' => array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators'	=> array ( 0 => array (	'type'	=> 'REGEX',
-                                                                'regex' => '/^[0-9a-zA-Z\:\/\-\.\[\]]{0,255}$/',
-                                                                'errmsg'=> 'monit_url_error_regex'),
-                                                ),
+			'validators' => array ( 0 => array ( 'type' => 'REGEX',
+					'regex' => '/^[0-9a-zA-Z\:\/\-\.\[\]]{0,255}$/',
+					'errmsg'=> 'monit_url_error_regex'),
+			),
 			'value' => '',
 			'width' => '40',
 			'maxlength' => '255'
@@ -211,10 +231,10 @@
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators'	=> array ( 0 => array (	'type'	=> 'REGEX',
-                                                                'regex' => '/^[0-9a-zA-Z\:\/\-\.\[\]]{0,255}$/',
-                                                                'errmsg'=> 'munin_url_error_regex'),
-                                                ),
+			'validators' => array ( 0 => array ( 'type' => 'REGEX',
+					'regex' => '/^[0-9a-zA-Z\:\/\-\.\[\]]{0,255}$/',
+					'errmsg'=> 'munin_url_error_regex'),
+			),
 			'value' => '',
 			'width' => '40',
 			'maxlength' => '255'
@@ -235,9 +255,15 @@
 			'width' => '40',
 			'maxlength' => '255'
 		),
-	##################################
-	# ENDE Datatable fields
-	##################################
+		'monitor_system_updates' => array(
+			'datatype' => 'VARCHAR',
+			'formtype' => 'CHECKBOX',
+			'default' => 'y',
+			'value' => array(0 => 'n', 1 => 'y')
+		),
+		//#################################
+		// ENDE Datatable fields
+		//#################################
 	)
 );
 
@@ -246,9 +272,9 @@
 	'width' => 60,
 	'template' => "templates/server_config_mail_edit.htm",
 	'fields' => array(
-		##################################
-		# Begin Datatable fields
-		##################################
+		//#################################
+		// Begin Datatable fields
+		//#################################
 		'module' => array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'SELECT',
@@ -259,8 +285,11 @@
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '/home/vmail/[domain]/[localpart]/',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'maildir_path_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'maildir_path_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^\/[a-zA-Z0-9\.\-\_\/\[\]]{5,128}$/',
+										'errmsg'=> 'maildir_path_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -270,13 +299,39 @@
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '/home/vmail/',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'homedir_path_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'homedir_path_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
+										'errmsg'=> 'homedir_path_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
 			'maxlength' => '255'
 		),
+		'dkim_path' => array(
+			'datatype' => 'VARCHAR',
+			'formtype' => 'TEXT',
+			'default' => '/var/lib/amavis/dkim',
+			'value' => '',
+			'width' => '40',
+			'maxlength' => '255'
+		),
+		'dkim_strength' => array(
+			'datatype' => 'INTEGER',
+			'formtype' => 'SELECT',
+			'default' => '2048',
+			'value' => array('1024' => 'week (1024)', '2048' => 'normal (2048)', '4096' => 'strong (4096)')
+		),
+        'relayhost_password' => array(
+            'datatype' => 'VARCHAR',
+            'formtype' => 'TEXT',
+            'default' => '',
+            'value' => '',
+            'width' => '40',
+            'maxlength' => '255'
+        ),
+
 		'pop3_imap_daemon' => array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'SELECT',
@@ -293,8 +348,11 @@
 			'datatype' => 'INTEGER',
 			'formtype' => 'TEXT',
 			'default' => '5000',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'mailuser_uid_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'mailuser_uid_error_empty'),
+									1 => array('type' => 'RANGE',
+										'range' => '1999:',
+										'errmsg' => 'mailuser_uid_error_range'),
 			),
 			'value' => '',
 			'width' => '10',
@@ -304,8 +362,11 @@
 			'datatype' => 'INTEGER',
 			'formtype' => 'TEXT',
 			'default' => '5000',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'mailuser_gid_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'mailuser_gid_error_empty'),
+									1 => array('type' => 'RANGE',
+										'range' => '1999:',
+										'errmsg' => 'mailuser_gid_error_range'),
 			),
 			'value' => '',
 			'width' => '10',
@@ -315,8 +376,11 @@
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => 'vmail',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'mailuser_name_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'mailuser_name_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^(?!ispconfig|root)([a-zA-Z0-9]{1,20})$/',
+										'errmsg'=> 'mailuser_name_error_regex'),
 			),
 			'value' => '',
 			'width' => '10',
@@ -326,12 +390,25 @@
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => 'vmail',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'mailuser_group_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'mailuser_group_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^(?!ispconfig|root)([a-zA-Z0-9]{1,20})$/',
+										'errmsg'=> 'mailuser_group_name_error_regex'),
 			),
 			'value' => '',
 			'width' => '10',
 			'maxlength' => '255'
+		),
+		'mailbox_virtual_uidgid_maps' => array(
+			'datatype' => 'VARCHAR',
+			'formtype' => 'CHECKBOX',
+			'validators' => array (0 => array ( 'type' => 'CUSTOM',
+					'class' => 'validate_server_mail_config',
+					'function' => 'mailbox_virtual_uidgid_maps'),
+			),
+			'default' => 'n',
+			'value' => array(0 => 'n', 1 => 'y')
 		),
 		'relayhost' => array(
 			'datatype' => 'VARCHAR',
@@ -377,16 +454,16 @@
 			'datatype' => 'VARCHAR',
 			'formtype' => 'CHECKBOX',
 			'default' => 'y',
-			'value' => array(0 => 'n',1 => 'y')
+			'value' => array(0 => 'n', 1 => 'y')
 		),
 		'realtime_blackhole_list' => array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators'	=> array ( 	0 => array (	'type'	=> 'REGEX',
-														'regex' => '/^((([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)+([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])(,\s*(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)+([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9]))*)?$/',
-														'errmsg'=> 'rbl_error_regex'),
-									),
+			'validators' => array (  0 => array ( 'type' => 'REGEX',
+					'regex' => '/^((([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)+([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])(,\s*(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)+([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9]))*)?$/',
+					'errmsg'=> 'rbl_error_regex'),
+			),
 			'value' => '',
 			'width' => '40',
 			'maxlength' => '255'
@@ -408,8 +485,8 @@
 			'formtype' => 'TEXT',
 			'default' => '7',
 			'value' => '',
-            'width' => '20',
-            'maxlength' => '255'
+			'width' => '20',
+			'maxlength' => '255'
 		),
 		'overquota_notify_onok' => array(
 			'datatype' => 'VARCHAR',
@@ -417,9 +494,9 @@
 			'default' => 'n',
 			'value' => array(0 => 'n', 1 => 'y')
 		),
-	##################################
-	# ENDE Datatable fields
-	##################################
+		//#################################
+		// ENDE Datatable fields
+		//#################################
 	)
 );
 
@@ -428,23 +505,26 @@
 	'width' => 80,
 	'template' => "templates/server_config_getmail_edit.htm",
 	'fields' => array(
-		##################################
-		# Begin Datatable fields
-		##################################
+		//#################################
+		// Begin Datatable fields
+		//#################################
 		'getmail_config_dir' => array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'getmail_config_dir_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'getmail_config_dir_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
+										'errmsg'=> 'getmail_config_dir_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
 			'maxlength' => '255'
 		),
-	##################################
-	# ENDE Datatable fields
-	##################################
+		//#################################
+		// ENDE Datatable fields
+		//#################################
 	)
 );
 
@@ -453,9 +533,9 @@
 	'width' => 60,
 	'template' => "templates/server_config_web_edit.htm",
 	'fields' => array(
-		##################################
-		# Begin Datatable fields
-		##################################
+		//#################################
+		// Begin Datatable fields
+		//#################################
 		'server_type' => array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'SELECT',
@@ -466,8 +546,11 @@
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'website_basedir_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'website_basedir_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
+										'errmsg'=> 'website_basedir_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -477,8 +560,11 @@
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'website_path_error_empty'),
+			'validators' => array(	0 => array(	'type' => 'NOTEMPTY',
+										'errmsg' => 'website_path_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^\/[a-zA-Z0-9\.\-\_\/\[\]]{5,128}$/',
+										'errmsg'=> 'website_path_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -488,8 +574,11 @@
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'website_symlinks_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'website_symlinks_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^\/[a-zA-Z0-9\.\-\_\/\[\]\:]{5,128}$/',
+										'errmsg'=> 'website_symlinks_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -499,30 +588,39 @@
 			'datatype' => 'VARCHAR',
 			'formtype' => 'CHECKBOX',
 			'default' => 'n',
-			'value' => array(0 => 'n',1 => 'y')
+			'value' => array(0 => 'n', 1 => 'y')
+		),
+		'network_filesystem' => array (
+			'datatype' => 'VARCHAR',
+			'formtype' => 'CHECKBOX',
+			'default' => 'n',
+			'value' => array(0 => 'n', 1 => 'y')
 		),
 		'website_autoalias' => array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
 			'value' => '',
-			'width' => '40',
-			'maxlength' => '255'
-		),
-/*
-'vhost_rewrite_v6' => array (
-'datatype' => 'VARCHAR',
-'formtype' => 'CHECKBOX',
-'default' => 'n',
-'value' => array(0 => 'n',1 => 'y')
-),
-*/
-		'vhost_conf_dir' => array(
-			'datatype' => 'VARCHAR',
-			'formtype' => 'TEXT',
+			'width' => '40',
+			'maxlength' => '255'
+		),
+		/*
+'vhost_rewrite_v6' => array (
+'datatype' => 'VARCHAR',
+'formtype' => 'CHECKBOX',
+'default' => 'n',
+'value' => array(0 => 'n',1 => 'y')
+),
+*/
+		'vhost_conf_dir' => array(
+			'datatype' => 'VARCHAR',
+			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'vhost_conf_dir_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'vhost_conf_dir_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
+										'errmsg'=> 'vhost_conf_dir_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -532,8 +630,11 @@
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'vhost_conf_enabled_dir_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'vhost_conf_enabled_dir_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
+										'errmsg'=> 'vhost_conf_enabled_dir_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -543,8 +644,11 @@
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'nginx_vhost_conf_dir_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'nginx_vhost_conf_dir_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
+										'errmsg'=> 'nginx_vhost_conf_dir_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -554,8 +658,11 @@
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'nginx_vhost_conf_enabled_dir_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'nginx_vhost_conf_enabled_dir_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
+										'errmsg'=> 'nginx_vhost_conf_enabled_dir_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -564,6 +671,10 @@
 		'CA_path' => array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
+			'validators' => array(	0 => array ( 	'type' => 'REGEX',
+										'regex' => '/^[a-zA-Z0-9\.\-\_\/]{0,128}$/',
+										'errmsg'=> 'ca_path_error_regex'),
+			),
 			'default' => '',
 			'value' => '',
 			'width' => '40',
@@ -643,13 +754,25 @@
 			'default' => 'y',
 			'value' => array(0 => 'n', 1 => 'y')
 		),
+		'overquota_db_notify_admin' => array(
+			'datatype' => 'VARCHAR',
+			'formtype' => 'CHECKBOX',
+			'default' => 'y',
+			'value' => array(0 => 'n', 1 => 'y')
+		),
+		'overquota_db_notify_client' => array(
+			'datatype' => 'VARCHAR',
+			'formtype' => 'CHECKBOX',
+			'default' => 'y',
+			'value' => array(0 => 'n', 1 => 'y')
+		),
 		'overquota_notify_freq' => array(
 			'datatype' => 'INTEGER',
 			'formtype' => 'TEXT',
 			'default' => '7',
 			'value' => '',
-            'width' => '20',
-            'maxlength' => '255'
+			'width' => '20',
+			'maxlength' => '255'
 		),
 		'overquota_notify_onok' => array(
 			'datatype' => 'VARCHAR',
@@ -663,6 +786,13 @@
 			'default' => '',
 			'validators' => array(0 => array('type' => 'NOTEMPTY',
 					'errmsg' => 'apache_user_error_empty'),
+					1 => array(
+							'type' => 'CUSTOM',
+							'class' => 'validate_systemuser',
+							'function' => 'check_sysuser',
+							'check_names' => false,
+							'errmsg' => 'invalid_apache_user_txt'
+						),
 			),
 			'value' => '',
 			'width' => '40',
@@ -674,6 +804,13 @@
 			'default' => '',
 			'validators' => array(0 => array('type' => 'NOTEMPTY',
 					'errmsg' => 'apache_group_error_empty'),
+					1 => array(
+							'type' => 'CUSTOM',
+							'class' => 'validate_systemuser',
+							'function' => 'check_sysgroup',
+							'check_names' => false,
+							'errmsg' => 'invalid_apache_group_txt'
+						),
 			),
 			'value' => '',
 			'width' => '40',
@@ -700,8 +837,15 @@
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'nginx_user_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'nginx_user_error_empty'),
+									1 => array(
+							'type' => 'CUSTOM',
+							'class' => 'validate_systemuser',
+							'function' => 'check_sysuser',
+							'check_names' => false,
+							'errmsg' => 'invalid_nginx_user_txt'
+						),
 			),
 			'value' => '',
 			'width' => '40',
@@ -711,8 +855,15 @@
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'nginx_group_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'nginx_group_error_empty'),
+									1 => array(
+							'type' => 'CUSTOM',
+							'class' => 'validate_systemuser',
+							'function' => 'check_sysgroup',
+							'check_names' => false,
+							'errmsg' => 'invalid_nginx_group_txt'
+						),
 			),
 			'value' => '',
 			'width' => '40',
@@ -722,8 +873,11 @@
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'php_ini_path_apache_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'php_ini_path_apache_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
+										'errmsg'=> 'php_ini_path_apache_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -733,8 +887,11 @@
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'php_ini_path_cgi_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'php_ini_path_cgi_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
+										'errmsg'=> 'php_ini_path_cgi_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -744,8 +901,11 @@
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'php_fpm_init_script_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'php_fpm_init_script_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^[a-zA-Z0-9\.\-\_]{1,128}$/',
+										'errmsg'=> 'php_fpm_init_script_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -755,8 +915,11 @@
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'php_fpm_ini_path_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'php_fpm_ini_path_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
+										'errmsg'=> 'php_fpm_ini_path_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -766,8 +929,11 @@
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'php_fpm_pool_dir_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'php_fpm_pool_dir_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
+										'errmsg'=> 'php_fpm_pool_dir_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -777,7 +943,7 @@
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
+			'validators' => array(0 => array('type' => 'ISPOSITIVE',
 					'errmsg' => 'php_fpm_start_port_error_empty'),
 			),
 			'value' => '',
@@ -788,8 +954,11 @@
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'php_fpm_socket_dir_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'php_fpm_socket_dir_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
+										'errmsg'=> 'php_fpm_socket_dir_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -799,19 +968,43 @@
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'php_open_basedir_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'php_open_basedir_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^[a-zA-Z0-9\.\-\_\/\]\[\:]{1,}$/',
+										'errmsg'=> 'php_open_basedir_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
 			'maxlength' => '4000'
 		),
+		'php_ini_check_minutes' => array(
+			'datatype' => 'INTEGER',
+			'formtype' => 'TEXT',
+			'default' => '1',
+			'validators' => array(0 => array('type' => 'NOTEMPTY',
+					'errmsg' => 'php_ini_check_minutes_error_empty'),
+			),
+			'value' => '',
+			'width' => '10',
+			'maxlength' => '255'
+		),
+		'php_handler' => array(
+			'datatype' => 'VARCHAR',
+			'formtype' => 'SELECT',
+			'default' => 'fast-cgi',
+			'value' => array('no' => 'disabled_txt', 'fast-cgi' => 'Fast-CGI', 'cgi' => 'CGI', 'mod' => 'Mod-PHP', 'suphp' => 'SuPHP', 'php-fpm' => 'PHP-FPM', 'hhvm' => 'HHVM'),
+			'searchable' => 2
+		),
 		'nginx_cgi_socket' => array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'nginx_cgi_socket_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'nginx_cgi_socket_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
+										'errmsg'=> 'nginx_cgi_socket_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -821,12 +1014,21 @@
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'htaccess_allow_override_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'htaccess_allow_override_error_empty'),
 			),
 			'value' => '',
 			'width' => '40',
 			'maxlength' => '255'
+		),
+		'enable_spdy' => array (
+			'datatype' => 'VARCHAR',
+			'formtype' => 'CHECKBOX',
+			'default'  => 'n',
+			'value' => array (
+				0 => 'n',
+				1 => 'y'
+			)
 		),
 		'apps_vhost_port' => array(
 			'datatype' => 'VARCHAR',
@@ -869,6 +1071,12 @@
 		'awstats_data_dir' => array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'awstats_data_dir_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
+										'errmsg'=> 'awstats_data_dir_error_regex'),
+			),
 			'default' => '',
 			'value' => '',
 			'width' => '40',
@@ -877,6 +1085,12 @@
 		'awstats_pl' => array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'awstats_pl_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
+										'errmsg'=> 'awstats_pl_error_regex'),
+			),
 			'default' => '',
 			'value' => '',
 			'width' => '40',
@@ -885,14 +1099,20 @@
 		'awstats_buildstaticpages_pl' => array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'awstats_buildstaticpages_pl_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
+										'errmsg'=> 'awstats_buildstaticpages_pl_error_regex'),
+			),
 			'default' => '',
 			'value' => '',
 			'width' => '40',
 			'maxlength' => '255'
 		),
-	##################################
-	# ENDE Datatable fields
-	##################################
+		//#################################
+		// ENDE Datatable fields
+		//#################################
 	)
 );
 
@@ -901,15 +1121,18 @@
 	'width' => 60,
 	'template' => "templates/server_config_dns_edit.htm",
 	'fields' => array(
-		##################################
-		# Begin Datatable fields
-		##################################
+		//#################################
+		// Begin Datatable fields
+		//#################################
 		'bind_user' => array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'bind_user_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'bind_user_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^(?!ispconfig)([a-zA-Z0-9]{1,20})$/',
+										'errmsg'=> 'invalid_bind_user_txt'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -919,8 +1142,11 @@
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'bind_group_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'bind_group_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^(?!ispconfig)([a-zA-Z0-9]{1,20})$/',
+										'errmsg'=> 'invalid_bind_group_txt'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -930,8 +1156,11 @@
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'bind_zonefiles_dir_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'bind_zonefiles_dir_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
+										'errmsg'=> 'bind_zonefiles_dir_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -941,8 +1170,11 @@
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'named_conf_path_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'named_conf_path_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
+										'errmsg'=> 'named_conf_path_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -952,16 +1184,19 @@
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'named_conf_local_path_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'named_conf_local_path_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
+										'errmsg'=> 'named_conf_local_path_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
 			'maxlength' => '255'
 		),
-	##################################
-	# ENDE Datatable fields
-	##################################
+		//#################################
+		// ENDE Datatable fields
+		//#################################
 	)
 );
 
@@ -970,15 +1205,18 @@
 	'width' => 80,
 	'template' => "templates/server_config_fastcgi_edit.htm",
 	'fields' => array(
-		##################################
-		# Begin Datatable fields
-		##################################
+		//#################################
+		// Begin Datatable fields
+		//#################################
 		'fastcgi_starter_path' => array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'fastcgi_starter_path_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'fastcgi_starter_path_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^\/[a-zA-Z0-9\.\-\_\/\[\]]{1,128}$/',
+										'errmsg'=> 'fastcgi_starter_path_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -988,8 +1226,11 @@
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'fastcgi_starter_script_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'fastcgi_starter_script_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^[a-zA-Z0-9\.\-\_\/]{1,128}$/',
+										'errmsg'=> 'fastcgi_starter_script_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -999,8 +1240,11 @@
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'fastcgi_alias_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'fastcgi_alias_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^[a-zA-Z0-9\.\-\_\/]{1,128}$/',
+										'errmsg'=> 'fastcgi_alias_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -1010,8 +1254,11 @@
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'fastcgi_phpini_path_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'fastcgi_phpini_path_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^\/[a-zA-Z0-9\.\-\_\/\[\]]{1,128}$/',
+										'errmsg'=> 'fastcgi_phpini_path_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -1021,7 +1268,7 @@
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
+			'validators' => array(0 => array('type' => 'ISPOSITIVE',
 					'errmsg' => 'fastcgi_children_error_empty'),
 			),
 			'value' => '',
@@ -1032,11 +1279,11 @@
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(	0 => array(	'type' => 'ISINT',
-												'errmsg' => 'fastcgi_max_requests_error_empty'),
-									1 => array(	'type' => 'RANGE',
-												'range' => '0:',
-												'errmsg' => 'fastcgi_max_requests_error_empty'),
+			'validators' => array( 0 => array( 'type' => 'ISINT',
+					'errmsg' => 'fastcgi_max_requests_error_empty'),
+				1 => array( 'type' => 'RANGE',
+					'range' => '0:',
+					'errmsg' => 'fastcgi_max_requests_error_empty'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -1046,8 +1293,11 @@
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'fastcgi_bin_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'fastcgi_bin_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^\/[a-zA-Z0-9\.\-\_\/\[\]]{1,128}$/',
+										'errmsg'=> 'fastcgi_bin_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -1061,9 +1311,9 @@
 			'width' => '40',
 			'maxlength' => '255'
 		),
-	##################################
-	# ENDE Datatable fields
-	##################################
+		//#################################
+		// ENDE Datatable fields
+		//#################################
 	)
 );
 
@@ -1073,15 +1323,18 @@
 	'width' => 80,
 	'template' => "templates/server_config_jailkit_edit.htm",
 	'fields' => array(
-		##################################
-		# Begin Datatable fields
-		##################################
+		//#################################
+		// Begin Datatable fields
+		//#################################
 		'jailkit_chroot_home' => array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'jailkit_chroot_home_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'jailkit_chroot_home_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^\/[a-zA-Z0-9\.\-\_\/\[\]]{1,128}$/',
+										'errmsg'=> 'jailkit_chroot_home_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -1091,8 +1344,11 @@
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'jailkit_chroot_app_sections_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'jailkit_chroot_app_sections_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^[a-zA-Z0-9\-\_\ ]{1,128}$/',
+										'errmsg'=> 'jailkit_chroot_app_sections_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -1102,8 +1358,11 @@
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'jailkit_chroot_app_programs_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'jailkit_chroot_app_programs_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^[a-zA-Z0-9\.\-\_\/\ ]{1,}$/',
+										'errmsg'=> 'jailkit_chroot_app_programs_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -1113,16 +1372,19 @@
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'jailkit_chroot_cron_programs_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'jailkit_chroot_cron_programs_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^[a-zA-Z0-9\.\-\_\/\ ]{1,}$/',
+										'errmsg'=> 'jailkit_chroot_cron_programs_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
 			'maxlength' => '1000'
 		),
-	##################################
-	# ENDE Datatable fields
-	##################################
+		//#################################
+		// ENDE Datatable fields
+		//#################################
 	)
 );
 
@@ -1195,23 +1457,26 @@
 	'width' => 80,
 	'template' => "templates/server_config_vlogger_edit.htm",
 	'fields' => array(
-		##################################
-		# Begin Datatable fields
-		##################################
+		//#################################
+		// Begin Datatable fields
+		//#################################
 		'config_dir' => array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'vlogger_config_dir_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'vlogger_config_dir_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
+										'errmsg'=> 'vlogger_config_dir_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
 			'maxlength' => '255'
 		),
-	##################################
-	# ENDE Datatable fields
-	##################################
+		//#################################
+		// ENDE Datatable fields
+		//#################################
 	)
 );
 
@@ -1222,15 +1487,18 @@
 	'width' => 80,
 	'template' => "templates/server_config_cron_edit.htm",
 	'fields' => array(
-		##################################
-		# Begin Datatable fields
-		##################################
+		//#################################
+		// Begin Datatable fields
+		//#################################
 		'init_script' => array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'cron_init_script_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'cron_init_script_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^[a-zA-Z0-9\-\_]{1,30}$/',
+										'errmsg'=> 'cron_init_script_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -1240,8 +1508,11 @@
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'crontab_dir_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'crontab_dir_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
+										'errmsg'=> 'crontab_dir_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -1251,16 +1522,19 @@
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'cron_wget_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'cron_wget_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
+										'errmsg'=> 'cron_wget_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
 			'maxlength' => '255'
 		),
-	##################################
-	# ENDE Datatable fields
-	##################################
+		//#################################
+		// ENDE Datatable fields
+		//#################################
 	)
 );
 
@@ -1269,9 +1543,9 @@
 	'width' => 80,
 	'template' => "templates/server_config_rescue_edit.htm",
 	'fields' => array(
-		##################################
-		# Begin Datatable fields
-		##################################
+		//#################################
+		// Begin Datatable fields
+		//#################################
 		'try_rescue' => array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'CHECKBOX',
@@ -1279,6 +1553,12 @@
 			'value' => array(0 => 'n', 1 => 'y')
 		),
 		'do_not_try_rescue_httpd' => array(
+			'datatype' => 'VARCHAR',
+			'formtype' => 'CHECKBOX',
+			'default' => 'n',
+			'value' => array(0 => 'n', 1 => 'y')
+		),
+		'do_not_try_rescue_mongodb' => array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'CHECKBOX',
 			'default' => 'n',
@@ -1296,9 +1576,9 @@
 			'default' => 'n',
 			'value' => array(0 => 'n', 1 => 'y')
 		),
-	##################################
-	# ENDE Datatable fields
-	##################################
+		//#################################
+		// ENDE Datatable fields
+		//#################################
 	)
 );
 ?>

--
Gitblit v1.9.1