From a008884b8f041577d43675f13c492f45fb9ee066 Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Tue, 16 Oct 2012 10:38:27 -0400
Subject: [PATCH] Merged revisions 3536-3555 from 3.0.5 stable branch.

---
 interface/web/sites/form/web_domain.tform.php |   40 ++++++++++++++++++++++++++++++----------
 1 files changed, 30 insertions(+), 10 deletions(-)

diff --git a/interface/web/sites/form/web_domain.tform.php b/interface/web/sites/form/web_domain.tform.php
index ef9470e..ee948bb 100644
--- a/interface/web/sites/form/web_domain.tform.php
+++ b/interface/web/sites/form/web_domain.tform.php
@@ -62,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",
@@ -110,14 +119,18 @@
 		'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,255}\.[a-zA-Z0-9\-]{2,30}$/',
-														'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',
@@ -203,7 +216,12 @@
 			'datatype'	=> 'VARCHAR',
 			'formtype'	=> 'SELECT',
 			'default'	=> 'www',
-			'value'		=> array('none' => 'none_txt', 'www' => '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',
@@ -279,7 +297,7 @@
 		'redirect_path' => array (
 			'datatype'	=> 'VARCHAR',
 			'validators'	=> array ( 	0 => array (	'type'	=> 'REGEX',
-														'regex' => '@^(([\.]{0})|(https?://([-\w\.]+)+(:\d+)?(/([\w/_\.\,\-\+\?\~]*(\?\S+)?)?)?)|(\[scheme\]://([-\w\.]+)+(:\d+)?(/([\w/_\.\-\,\+\?\~]*(\?\S+)?)?)?)|(/[\w/_\.\-]{1,255}/))$@',
+														'regex' => '@^(([\.]{0})|((ftp|https?)://([-\w\.]+)+(:\d+)?(/([\w/_\.\,\-\+\?\~!]*(\?\S+)?)?)?)|(\[scheme\]://([-\w\.]+)+(:\d+)?(/([\w/_\.\-\,\+\?\~!]*(\?\S+)?)?)?)|(/[\w/_\.\-]{1,255}/))$@',
 														'errmsg'=> 'redirect_error_regex'),
 									),
 			'formtype'	=> 'TEXT',
@@ -300,6 +318,7 @@
 	)
 );
 
+if($ssl_available) {
 $form["tabs"]['ssl'] = array (
 	'title' 	=> "SSL",
 	'width' 	=> 100,
@@ -433,6 +452,7 @@
 	##################################
 	)
 );
+}
 
 //* Statistics
 $form["tabs"]['stats'] = array (

--
Gitblit v1.9.1