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 | 457 +++++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 361 insertions(+), 96 deletions(-) diff --git a/interface/web/admin/form/server_config.tform.php b/interface/web/admin/form/server_config.tform.php index 4fa7179..6f1c889 100644 --- a/interface/web/admin/form/server_config.tform.php +++ b/interface/web/admin/form/server_config.tform.php @@ -86,16 +86,18 @@ 'width' => '15', 'maxlength' => '255' ), - /* 'v6_prefix' => array( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', - 'validators' => array(0 => array('type' => 'ISV6PREFIX', - 'errmsg' => 'v6_prefix_wrong'), - ), - 'default' => '' + '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', @@ -167,8 +169,11 @@ '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', @@ -187,6 +192,12 @@ 'value' => array('userzip' => 'backup_mode_userzip', 'rootgz' => 'backup_mode_rootgz'), 'width' => '40', 'maxlength' => '255' + ), + 'backup_delete' => array( + 'datatype' => 'VARCHAR', + 'formtype' => 'CHECKBOX', + 'default' => 'y', + 'value' => array(0 => 'n', 1 => 'y') ), 'monit_url' => array( 'datatype' => 'VARCHAR', @@ -274,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', @@ -285,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', @@ -308,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', @@ -319,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', @@ -330,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', @@ -341,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', @@ -450,8 +512,11 @@ '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', @@ -481,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', @@ -492,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', @@ -503,14 +574,23 @@ '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', 'maxlength' => '255' ), 'website_symlinks_rel' => array ( + 'datatype' => 'VARCHAR', + 'formtype' => 'CHECKBOX', + 'default' => 'n', + 'value' => array(0 => 'n', 1 => 'y') + ), + 'network_filesystem' => array ( 'datatype' => 'VARCHAR', 'formtype' => 'CHECKBOX', 'default' => 'n', @@ -536,8 +616,11 @@ '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', @@ -547,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', @@ -558,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', @@ -569,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', @@ -579,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', @@ -658,6 +754,18 @@ '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', @@ -678,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', @@ -689,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', @@ -715,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', @@ -726,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', @@ -737,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', @@ -748,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', @@ -759,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', @@ -770,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', @@ -781,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', @@ -792,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' => '', @@ -803,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', @@ -814,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', @@ -836,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', @@ -884,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', @@ -892,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', @@ -900,6 +1099,12 @@ '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', @@ -923,8 +1128,11 @@ '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', @@ -934,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', @@ -945,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', @@ -956,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', @@ -967,8 +1184,11 @@ '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', @@ -992,8 +1212,11 @@ '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', @@ -1003,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', @@ -1014,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', @@ -1025,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', @@ -1036,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' => '', @@ -1061,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', @@ -1095,8 +1330,11 @@ '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', @@ -1106,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', @@ -1117,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', @@ -1128,8 +1372,11 @@ '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', @@ -1217,8 +1464,11 @@ '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', @@ -1244,8 +1494,11 @@ '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', @@ -1255,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', @@ -1266,8 +1522,11 @@ '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', @@ -1299,6 +1558,12 @@ 'default' => 'n', 'value' => array(0 => 'n', 1 => 'y') ), + 'do_not_try_rescue_mongodb' => array( + 'datatype' => 'VARCHAR', + 'formtype' => 'CHECKBOX', + 'default' => 'n', + 'value' => array(0 => 'n', 1 => 'y') + ), 'do_not_try_rescue_mysql' => array( 'datatype' => 'VARCHAR', 'formtype' => 'CHECKBOX', -- Gitblit v1.9.1