From d9bcf68e395d6156645a7974b1a992aa6e6c00aa Mon Sep 17 00:00:00 2001
From: Marius Cramer <m.cramer@pixcept.de>
Date: Mon, 14 Oct 2013 08:57:25 -0400
Subject: [PATCH] Added missing empty directories from svn import

---
 interface/web/sites/form/web_domain.tform.php |  400 ++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 378 insertions(+), 22 deletions(-)

diff --git a/interface/web/sites/form/web_domain.tform.php b/interface/web/sites/form/web_domain.tform.php
index 8b80844..f2c6fa7 100644
--- a/interface/web/sites/form/web_domain.tform.php
+++ b/interface/web/sites/form/web_domain.tform.php
@@ -29,6 +29,11 @@
 	Hint:
 	The ID field of the database table is not part of the datafield definition.
 	The ID field must be always auto incement (int or bigint).
+	
+	Search:
+	- searchable = 1 or searchable = 2 include the field in the search
+	- searchable = 1: this field will be the title of the search result
+	- searchable = 2: this field will be included in the description of the search result
 
 
 */
@@ -57,6 +62,15 @@
 	$web_domain_edit_readonly = true;
 }
 
+$wildcard_available = true;
+$ssl_available = true;
+if(!$app->auth->is_admin()) {
+    $client_group_id = $_SESSION["s"]["user"]["default_group"];
+	$client = $app->db->queryOneRecord("SELECT limit_wildcard, limit_ssl FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
+    
+    if($client['limit_wildcard'] != 'y') $wildcard_available = false;
+    if($client['limit_ssl'] != 'y') $ssl_available = false;
+}
 
 $form["tabs"]['domain'] = array (
 	'title' 	=> "Domain",
@@ -71,8 +85,11 @@
 			'datatype'	=> 'INTEGER',
 			'formtype'	=> 'SELECT',
 			'default'	=> '',
+			'validators'    => array (  0 => array (    'type'  => 'NOTEMPTY',
+                                                        'errmsg'=> 'no_server_error'),
+                                    ),
 			'datasource'	=> array ( 	'type'	=> 'SQL',
-										'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} ORDER BY server_name',
+										'querystring' => 'SELECT server_id,server_name FROM server WHERE mirror_server_id = 0 AND web_server = 1 AND {AUTHSQL} ORDER BY server_name',
 										'keyfield'=> 'server_id',
 										'valuefield'=> 'server_name'
 									 ),
@@ -82,28 +99,46 @@
 			'datatype'	=> 'VARCHAR',
 			'formtype'	=> 'SELECT',
 			'default'	=> '',
-			'datasource'	=> array ( 	'type'	=> 'SQL',
-										'querystring' => 'SELECT ip_address,ip_address FROM server_ip WHERE {AUTHSQL} ORDER BY ip_address',
+			/*'datasource'	=> array ( 	'type'	=> 'SQL',
+										'querystring' => "SELECT ip_address,ip_address FROM server_ip WHERE ip_type = 'IPv4' AND {AUTHSQL} ORDER BY ip_address",
 										'keyfield'=> 'ip_address',
 										'valuefield'=> 'ip_address'
-									 ),
-			'value'		=> ''
+									 ),*/
+			'value'		=> '',
+			'searchable' => 2
+		),
+		'ipv6_address' => array (
+			'datatype'	=> 'VARCHAR',
+			'formtype'	=> 'SELECT',
+			'default'	=> '',
+			/*'datasource'	=> array ( 	'type'	=> 'SQL',
+										'querystring' => "SELECT ip_address,ip_address FROM server_ip WHERE ip_type = 'IPv6' AND {AUTHSQL} ORDER BY ip_address",
+										'keyfield'=> 'ip_address',
+										'valuefield'=> 'ip_address'
+									 ),*/
+			'value'		=> '',
+			'searchable' => 2
 		),
 		'domain' => array (
 			'datatype'	=> 'VARCHAR',
 			'formtype'	=> 'TEXT',
-			'validators'	=> array ( 	0 => array (	'type'	=> 'NOTEMPTY',
-														'errmsg'=> 'domain_error_empty'),
-										1 => array (	'type'	=> 'UNIQUE',
-														'errmsg'=> 'domain_error_unique'),
-										2 => array (	'type'	=> 'REGEX',
-														'regex' => '/^[\w\.\-]{2,64}\.[a-zA-Z]{2,10}$/',
-														'errmsg'=> 'domain_error_regex'),
-									),
+            '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'  => 'CUSTOM',
+                                                        'class' => 'validate_domain',
+                                                        'function' => 'web_domain',
+                                                        'errmsg'=> 'domain_error_regex'),
+                                    ),
 			'default'	=> '',
 			'value'		=> '',
 			'width'		=> '30',
-			'maxlength'	=> '255'
+			'maxlength'	=> '255',
+			'searchable' => 1
 		),
 		'type' => array (
 			'datatype'	=> 'VARCHAR',
@@ -133,6 +168,9 @@
 			'formtype'	=> 'TEXT',
 			'validators'	=> array ( 	0 => array (	'type'	=> 'NOTEMPTY',
 														'errmsg'=> 'hd_quota_error_empty'),
+										1 => array (	'type'	=> 'REGEX',
+														'regex' => '/^(\-1|[0-9]{1,10})$/',
+														'errmsg'=> 'hd_quota_error_regex'),
 									),
 			'default'	=> '-1',
 			'value'		=> '',
@@ -144,6 +182,9 @@
 			'formtype'	=> 'TEXT',
 			'validators'	=> array ( 	0 => array (	'type'	=> 'NOTEMPTY',
 														'errmsg'=> 'traffic_quota_error_empty'),
+										1 => array (	'type'	=> 'REGEX',
+														'regex' => '/^(\-1|[0-9]{1,10})$/',
+														'errmsg'=> 'traffic_quota_error_regex'),
 									),
 			'default'	=> '-1',
 			'value'		=> '',
@@ -165,8 +206,25 @@
 		'suexec' => array (
 			'datatype'	=> 'VARCHAR',
 			'formtype'	=> 'CHECKBOX',
-			'default'	=> 'n',
+			'default'	=> 'y',
 			'value'		=> array(0 => 'n',1 => 'y')
+		),
+		'errordocs' => array (
+			'datatype'	=> 'INTEGER',
+			'formtype'	=> 'CHECKBOX',
+			'default'	=> '1',
+			'value'		=> array(0 => '0',1 => '1')
+		),
+		'subdomain' => array (
+			'datatype'	=> 'VARCHAR',
+			'formtype'	=> 'SELECT',
+			'default'	=> 'www',
+            'validators'    => array (  0 => array (    'type'  => 'CUSTOM',
+                                                        'class' => 'validate_domain',
+                                                        'function' => 'web_domain_autosub',
+                                                        'errmsg'=> 'domain_error_autosub'),
+                                    ),
+			'value'		=> ($wildcard_available ? array('none' => 'none_txt', 'www' => 'www.', '*' => '*.') : array('none' => 'none_txt', 'www' => 'www.'))
 		),
 		'ssl' => array (
 			'datatype'	=> 'VARCHAR',
@@ -177,8 +235,39 @@
 		'php' => array (
 			'datatype'	=> 'VARCHAR',
 			'formtype'	=> 'SELECT',
-			'default'	=> 'y',
-			'value'		=> array('' => 'Disabled', 'fast-cgi' => 'Fast-CGI', 'cgi' => 'CGI', 'mod' => 'Mod-PHP', 'suphp' => 'SuPHP')
+			'default'	=> 'fast-cgi',
+			'valuelimit' => 'client:web_php_options',
+			'value'		=> array('no' => 'disabled_txt', 'fast-cgi' => 'Fast-CGI', 'cgi' => 'CGI', 'mod' => 'Mod-PHP', 'suphp' => 'SuPHP', 'php-fpm' => 'PHP-FPM'),
+			'searchable' => 2
+		),
+		'fastcgi_php_version' => array (
+			'datatype'	=> 'VARCHAR',
+			'formtype'	=> 'SELECT',
+			'default'	=> '',
+			/*'datasource'	=> array ( 	'type'	=> 'SQL',
+										'querystring' => "SELECT ip_address,ip_address FROM server_ip WHERE ip_type = 'IPv4' AND {AUTHSQL} ORDER BY ip_address",
+										'keyfield'=> 'ip_address',
+										'valuefield'=> 'ip_address'
+									 ),*/
+			'value'		=> ''
+		),
+		'perl' => array (
+			'datatype'	=> 'VARCHAR',
+			'formtype'	=> 'CHECKBOX',
+			'default'	=> 'n',
+			'value'		=> array(0 => 'n',1 => 'y')
+		),
+		'ruby' => array (
+			'datatype'	=> 'VARCHAR',
+			'formtype'	=> 'CHECKBOX',
+			'default'	=> 'n',
+			'value'		=> array(0 => 'n',1 => 'y')
+		),
+		'python' => array (
+			'datatype'	=> 'VARCHAR',
+			'formtype'	=> 'CHECKBOX',
+			'default'	=> 'n',
+			'value'		=> array(0 => 'n',1 => 'y')
 		),
 		'active' => array (
 			'datatype'	=> 'VARCHAR',
@@ -206,10 +295,28 @@
 			'datatype'	=> 'VARCHAR',
 			'formtype'	=> 'SELECT',
 			'default'	=> '',
-			'value'		=> array('' => 'No redirect', 'R' => 'R', 'L' => 'L')
+			'value'		=> array('' => 'no_redirect_txt', 'no' => 'no_flag_txt', 'R' => 'R', 'L' => 'L', 'R,L' => 'R,L', 'R=301,L' => 'R=301,L', 'last' => 'last', 'break' => 'break', 'redirect' => 'redirect', 'permanent' => 'permanent', 'proxy' => 'proxy')
 		),
 		'redirect_path' => array (
 			'datatype'	=> 'VARCHAR',
+			'validators'	=> array ( 	0 => array (	'type'	=> 'REGEX',
+														'regex' => '@^(([\.]{0})|((ftp|https?)://([-\w\.]+)+(:\d+)?(/([\w/_\.\,\-\+\?\~!:%]*(\?\S+)?)?)?)|(\[scheme\]://([-\w\.]+)+(:\d+)?(/([\w/_\.\-\,\+\?\~!:%]*(\?\S+)?)?)?)|(/(?!.*\.\.)[\w/_\.\-]{1,255}/))$@',
+														'errmsg'=> 'redirect_error_regex'),
+									),
+			'formtype'	=> 'TEXT',
+			'default'	=> '',
+			'value'		=> '',
+			'width'		=> '30',
+			'maxlength'	=> '255'
+		),
+		'seo_redirect' => array (
+			'datatype'	=> 'VARCHAR',
+			'formtype'	=> 'SELECT',
+			'default'	=> '',
+			'value'		=> array('' => 'no_redirect_txt', 'non_www_to_www' => 'domain.tld => www.domain.tld', 'www_to_non_www' => 'www.domain.tld => domain.tld', '*_domain_tld_to_domain_tld' => '*.doman.tld => domain.tld', '*_domain_tld_to_www_domain_tld' => '*.domain.tld => www.domain.tld', '*_to_domain_tld' => '* => domain.tld', '*_to_www_domain_tld' => '* => www.domain.tld')
+		),
+		'rewrite_rules' => array (
+			'datatype'	=> 'TEXT',
 			'formtype'	=> 'TEXT',
 			'default'	=> '',
 			'value'		=> '',
@@ -222,6 +329,7 @@
 	)
 );
 
+if($ssl_available) {
 $form["tabs"]['ssl'] = array (
 	'title' 	=> "SSL",
 	'width' 	=> 100,
@@ -234,6 +342,10 @@
 		'ssl_state' => array (
 			'datatype'	=> 'VARCHAR',
 			'formtype'	=> 'TEXT',
+			'validators'	=> array ( 	0 => array (	'type'	=> 'REGEX',
+														'regex' => '/^(([\.]{0})|([a-zA-Z0-9\ \.\-\_\,]{1,255}))$/',
+														'errmsg'=> 'ssl_state_error_regex'),
+									),
 			'default'	=> '',
 			'value'		=> '',
 			'width'		=> '30',
@@ -242,6 +354,10 @@
 		'ssl_locality' => array (
 			'datatype'	=> 'VARCHAR',
 			'formtype'	=> 'TEXT',
+			'validators'	=> array ( 	0 => array (	'type'	=> 'REGEX',
+														'regex' => '/^(([\.]{0})|([a-zA-Z0-9\ \.\-\_\,]{1,255}))$/',
+														'errmsg'=> 'ssl_locality_error_regex'),
+									),
 			'default'	=> '',
 			'value'		=> '',
 			'width'		=> '30',
@@ -250,6 +366,10 @@
 		'ssl_organisation' => array (
 			'datatype'	=> 'VARCHAR',
 			'formtype'	=> 'TEXT',
+			'validators'	=> array ( 	0 => array (	'type'	=> 'REGEX',
+														'regex' => '/^(([\.]{0})|([a-zA-Z0-9\ \.\-\_\,]{1,255}))$/',
+														'errmsg'=> 'ssl_organisation_error_regex'),
+									),
 			'default'	=> '',
 			'value'		=> '',
 			'width'		=> '30',
@@ -258,18 +378,55 @@
 		'ssl_organisation_unit' => array (
 			'datatype'	=> 'VARCHAR',
 			'formtype'	=> 'TEXT',
+			'validators'	=> array ( 	0 => array (	'type'	=> 'REGEX',
+														'regex' => '/^(([\.]{0})|([a-zA-Z0-9\ \.\-\_\,]{1,255}))$/',
+														'errmsg'=> 'ssl_organistaion_unit_error_regex'),
+									),
 			'default'	=> '',
 			'value'		=> '',
 			'width'		=> '30',
 			'maxlength'	=> '255'
 		),
+		/*
 		'ssl_country' => array (
 			'datatype'	=> 'VARCHAR',
 			'formtype'	=> 'TEXT',
+			'validators'	=> array ( 	0 => array (	'type'	=> 'REGEX',
+														'regex' => '/^(([\.]{0})|([A-Z]{2,2}))$/',
+														'errmsg'=> 'ssl_country_error_regex'),
+									),
 			'default'	=> '',
 			'value'		=> '',
 			'width'		=> '2',
 			'maxlength'	=> '2'
+		),
+		*/
+		'ssl_country' => array (
+			'datatype'	=> 'VARCHAR',
+			'formtype'	=> 'SELECT',
+			'default'	=> '',
+			'datasource'	=> array ( 	'type'	=> 'SQL',
+										'querystring' => 'SELECT iso,printable_name FROM country ORDER BY printable_name',
+										'keyfield'=> 'iso',
+										'valuefield'=> 'printable_name'
+									 ),
+			'value'		=> ''
+		),
+		'ssl_domain' => array (
+			'datatype'	=> 'VARCHAR',
+			'formtype'	=> 'TEXT',
+			'default'	=> '',
+			'value'		=> '',
+			'width'		=> '30',
+			'maxlength'	=> '255'
+		),
+		'ssl_key' => array (
+			'datatype'	=> 'TEXT',
+			'formtype'	=> 'TEXTAREA',
+			'default'	=> '',
+			'value'		=> '',
+			'cols'		=> '30',
+			'rows'		=> '10'
 		),
 		'ssl_request' => array (
 			'datatype'	=> 'TEXT',
@@ -299,13 +456,84 @@
 			'datatype'	=> 'VARCHAR',
 			'formtype'	=> 'SELECT',
 			'default'	=> '',
-			'value'		=> array('' => 'None', 'save' => 'Save Certificate', 'create' => 'Create Certificate','del' => 'Delete Certificate')
+			'value'		=> array('' => 'none_txt', 'save' => 'save_certificate_txt', 'create' => 'create_certificate_txt','del' => 'delete_certificate_txt')
 		),
 	##################################
 	# ENDE Datatable fields
 	##################################
 	)
 );
+}
+
+//* Statistics
+$form["tabs"]['stats'] = array (
+	'title' 	=> "Stats",
+	'width' 	=> 100,
+	'template' 	=> "templates/web_domain_stats.htm",
+	'readonly'	=> false,
+	'fields' 	=> array (
+	##################################
+	# Begin Datatable fields
+	##################################
+		'stats_password' => array (
+			'datatype'	=> 'VARCHAR',
+			'formtype'	=> 'PASSWORD',
+			'encryption' => 'CRYPT',
+			'default'	=> '',
+			'value'		=> '',
+			'width'		=> '30',
+			'maxlength'	=> '255'
+		),
+		'stats_type' => array (
+			'datatype'	=> 'VARCHAR',
+			'formtype'	=> 'SELECT',
+			'default'	=> 'webalizer',
+			'value'		=> array('webalizer' => 'Webalizer', 'awstats' => 'AWStats')
+		),
+	##################################
+	# ENDE Datatable fields
+	##################################
+	)
+);
+
+// if($_SESSION["s"]["user"]["typ"] == 'admin') {
+
+//* Backup
+$form["tabs"]['backup'] = array (
+	'title' 	=> "Backup",
+	'width' 	=> 100,
+	'template' 	=> "templates/web_domain_backup.htm",
+	'readonly'	=> false,
+	'fields' 	=> array (
+	##################################
+	# Begin Datatable fields
+	##################################
+		'backup_interval' => array (
+			'datatype'	=> 'VARCHAR',
+			'formtype'	=> 'SELECT',
+			'default'	=> '',
+			'value'		=> array('none' => 'no_backup_txt', 'daily' => 'daily_backup_txt', 'weekly' => 'weekly_backup_txt', 'monthly' => 'monthly_backup_txt')
+		),
+		'backup_copies' => array (
+			'datatype'	=> 'INTEGER',
+			'formtype'	=> 'SELECT',
+			'default'	=> '',
+			'value'		=> array('1' => '1', '2' => '2', '3' => '3', '4' => '4', '5' => '5', '6' => '6', '7' => '7', '8' => '8', '9' => '9', '10' => '10')
+		),
+	##################################
+	# ENDE Datatable fields
+	##################################
+	),
+	'plugins' => array (
+     	'backup_records' => array (
+         	'class'   => 'plugin_backuplist',
+     		'options' => array(
+			)
+        )
+	)
+);
+
+// }
 
 if($_SESSION["s"]["user"]["typ"] == 'admin') {
 
@@ -318,7 +546,6 @@
 	##################################
 	# Begin Datatable fields
 	##################################
-	/*
 		'document_root' => array (
 			'datatype'	=> 'VARCHAR',
 			'formtype'	=> 'TEXT',
@@ -352,8 +579,137 @@
 			'width'		=> '30',
 			'maxlength'	=> '255'
 		),
-		*/
+		'allow_override' => array (
+			'datatype'	=> 'VARCHAR',
+			'formtype'	=> 'TEXT',
+			'validators'	=> array ( 	0 => array (	'type'	=> 'NOTEMPTY',
+														'errmsg'=> 'allow_override_error_empty'),
+									),
+			'default'	=> 'All',
+			'value'		=> '',
+			'width'		=> '30',
+			'maxlength'	=> '255'
+		),
+		'php_fpm_use_socket' => array (
+			'datatype'	=> 'VARCHAR',
+			'formtype'	=> 'CHECKBOX',
+			'default'	=> 'n',
+			'value'		=> array(0 => 'n',1 => 'y')
+		),
+		'pm' => array (
+			'datatype'	=> 'VARCHAR',
+			'formtype'	=> 'SELECT',
+			'default'	=> 'dynamic',
+			'value'		=> array('static' => 'static', 'dynamic' => 'dynamic', 'ondemand' => 'ondemand (PHP Version >= 5.3.9)')
+		),
+		'pm_max_children' => array (
+			'datatype'	=> 'INTEGER',
+			'formtype'	=> 'TEXT',
+			'validators'	=> array ( 	0 => array (	'type'	=> 'REGEX',
+														'regex' => '/^([1-9][0-9]{0,10})$/',
+														'errmsg'=> 'pm_max_children_error_regex'),
+									),
+			'default'	=> '10',
+			'value'		=> '',
+			'width'		=> '3',
+			'maxlength'	=> '3'
+		),
+		'pm_start_servers' => array (
+			'datatype'	=> 'INTEGER',
+			'formtype'	=> 'TEXT',
+			'validators'	=> array ( 	0 => array (	'type'	=> 'REGEX',
+														'regex' => '/^([1-9][0-9]{0,10})$/',
+														'errmsg'=> 'pm_start_servers_error_regex'),
+									),
+			'default'	=> '2',
+			'value'		=> '',
+			'width'		=> '3',
+			'maxlength'	=> '3'
+		),
+		'pm_min_spare_servers' => array (
+			'datatype'	=> 'INTEGER',
+			'formtype'	=> 'TEXT',
+			'validators'	=> array ( 	0 => array (	'type'	=> 'REGEX',
+														'regex' => '/^([1-9][0-9]{0,10})$/',
+														'errmsg'=> 'pm_min_spare_servers_error_regex'),
+									),
+			'default'	=> '1',
+			'value'		=> '',
+			'width'		=> '3',
+			'maxlength'	=> '3'
+		),
+		'pm_max_spare_servers' => array (
+			'datatype'	=> 'INTEGER',
+			'formtype'	=> 'TEXT',
+			'validators'	=> array ( 	0 => array (	'type'	=> 'REGEX',
+														'regex' => '/^([1-9][0-9]{0,10})$/',
+														'errmsg'=> 'pm_max_spare_servers_error_regex'),
+									),
+			'default'	=> '5',
+			'value'		=> '',
+			'width'		=> '3',
+			'maxlength'	=> '3'
+		),
+		'pm_process_idle_timeout' => array (
+			'datatype'	=> 'INTEGER',
+			'formtype'	=> 'TEXT',
+			'validators'	=> array ( 	0 => array (	'type'	=> 'REGEX',
+														'regex' => '/^([1-9][0-9]{0,10})$/',
+														'errmsg'=> 'pm_process_idle_timeout_error_regex'),
+									),
+			'default'	=> '10',
+			'value'		=> '',
+			'width'		=> '3',
+			'maxlength'	=> '6'
+		),
+		'pm_max_requests' => array (
+			'datatype'	=> 'INTEGER',
+			'formtype'	=> 'TEXT',
+			'validators'	=> array ( 	0 => array (	'type'	=> 'REGEX',
+														'regex' => '/^([0-9]{1,11})$/',
+														'errmsg'=> 'pm_max_requests_error_regex'),
+									),
+			'default'	=> '0',
+			'value'		=> '',
+			'width'		=> '3',
+			'maxlength'	=> '6'
+		),
+		'php_open_basedir' => array (
+			'datatype'	=> 'VARCHAR',
+			'formtype'	=> 'TEXT',
+			/*'validators'	=> array ( 	0 => array (	'type'	=> 'NOTEMPTY',
+														'errmsg'=> 'php_open_basedir_error_empty'),
+									),   */
+			'default'	=> 'All',
+			'value'		=> '',
+			'width'		=> '30',
+			'maxlength'	=> '255'
+		),
+		'custom_php_ini' => array (
+			'datatype'	=> 'TEXT',
+			'formtype'	=> 'TEXT',
+			'default'	=> '',
+			'value'		=> '',
+			'width'		=> '30',
+			'maxlength'	=> '255'
+		),
 		'apache_directives' => array (
+			'datatype'	=> 'TEXT',
+			'formtype'	=> 'TEXT',
+			'default'	=> '',
+			'value'		=> '',
+			'width'		=> '30',
+			'maxlength'	=> '255'
+		),
+        'nginx_directives' => array (
+			'datatype'	=> 'TEXT',
+			'formtype'	=> 'TEXT',
+			'default'	=> '',
+			'value'		=> '',
+			'width'		=> '30',
+			'maxlength'	=> '255'
+		),
+		'proxy_directives' => array (
 			'datatype'	=> 'TEXT',
 			'formtype'	=> 'TEXT',
 			'default'	=> '',
@@ -370,4 +726,4 @@
 }
 
 
-?>
\ No newline at end of file
+?>

--
Gitblit v1.9.1