From aa78fde6a92f66b84d626e114d8b54a5fb6ece0c Mon Sep 17 00:00:00 2001
From: ftimme <ft@falkotimme.com>
Date: Wed, 14 Nov 2012 07:19:43 -0500
Subject: [PATCH] - Added function for IPv6 prefixes in multiserver mirror setups to nginx plugin.

---
 interface/web/sites/form/ftp_user.tform.php |  223 ++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 131 insertions(+), 92 deletions(-)

diff --git a/interface/web/sites/form/ftp_user.tform.php b/interface/web/sites/form/ftp_user.tform.php
index 4950a1b..658d951 100644
--- a/interface/web/sites/form/ftp_user.tform.php
+++ b/interface/web/sites/form/ftp_user.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
 
 
 */
@@ -63,7 +68,7 @@
 			'formtype'	=> 'SELECT',
 			'default'	=> '',
 			'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 {AUTHSQL} ORDER BY server_name',
 										'keyfield'=> 'server_id',
 										'valuefield'=> 'server_name'
 									 ),
@@ -83,18 +88,17 @@
 		'username' => array (
 			'datatype'	=> 'VARCHAR',
 			'formtype'	=> 'TEXT',
-			'validators'	=> array ( 	0 => array (	'type'	=> 'NOTEMPTY',
-														'errmsg'=> 'username_error_empty'),
-										1 => array (	'type'	=> 'UNIQUE',
+			'validators'	=> array ( 	0 => array (	'type'	=> 'UNIQUE',
 														'errmsg'=> 'username_error_unique'),
-										2 => array (	'type'	=> 'REGEX',
-														'regex' => '/^[\w\.\-]{1,64}$/',
+										1 => array (	'type'	=> 'REGEX',
+														'regex' => '/^[\w\.\-]{0,64}$/',
 														'errmsg'=> 'username_error_regex'),
 									),
 			'default'	=> '',
 			'value'		=> '',
 			'width'		=> '30',
-			'maxlength'	=> '255'
+			'maxlength'	=> '255',
+			'searchable' => 1
 		),
 		'password' => array (
 			'datatype'	=> 'VARCHAR',
@@ -110,6 +114,9 @@
 			'formtype'	=> 'TEXT',
 			'validators'	=> array ( 	0 => array (	'type'	=> 'NOTEMPTY',
 														'errmsg'=> 'quota_size_error_empty'),
+										1 => array (	'type'	=> 'REGEX',
+														'regex' => '/^(\-1|[0-9]{1,10})$/',
+														'errmsg'=> 'quota_size_error_regex'),
 									),
 			'default'	=> '-1',
 			'value'		=> '',
@@ -128,96 +135,128 @@
 	)
 );
 
-if($_SESSION["s"]["user"]["typ"] == 'admin') {
+if($app->auth->is_admin()) {
 
 $form["tabs"]['advanced'] = array (
-	'title' 	=> "Options",
-	'width' 	=> 100,
-	'template' 	=> "templates/ftp_user_advanced.htm",
-	'fields' 	=> array (
-	##################################
-	# Begin Datatable fields
-	##################################
-		'uid' => array (
-			'datatype'	=> 'VARCHAR',
-			'formtype'	=> 'TEXT',
-			'validators'	=> array ( 	0 => array (	'type'	=> 'NOTEMPTY',
-														'errmsg'=> 'uid_error_empty'),
-									),
-			'default'	=> '0',
-			'value'		=> '',
-			'width'		=> '30',
-			'maxlength'	=> '255'
-		),
-		'gid' => array (
-			'datatype'	=> 'VARCHAR',
-			'formtype'	=> 'TEXT',
-			'validators'	=> array ( 	0 => array (	'type'	=> 'NOTEMPTY',
-														'errmsg'=> 'uid_error_empty'),
-									),
-			'default'	=> '0',
-			'value'		=> '',
-			'width'		=> '30',
-			'maxlength'	=> '255'
-		),
-		'dir' => array (
-			'datatype'	=> 'VARCHAR',
-			'formtype'	=> 'TEXT',
-			'validators'	=> array ( 	0 => array (	'type'	=> 'NOTEMPTY',
-														'errmsg'=> 'directory_error_empty'),
-									),
-			'default'	=> '',
-			'value'		=> '',
-			'width'		=> '30',
-			'maxlength'	=> '255'
-		),
-		'quota_files' => array (
-			'datatype'	=> 'INTEGER',
-			'formtype'	=> 'TEXT',
-			'default'	=> '0',
-			'value'		=> '',
-			'width'		=> '7',
-			'maxlength'	=> '7'
-		),
-		'ul_ratio' => array (
-			'datatype'	=> 'INTEGER',
-			'formtype'	=> 'TEXT',
-			'default'	=> '0',
-			'value'		=> '',
-			'width'		=> '7',
-			'maxlength'	=> '7'
-		),
-		'dl_ratio' => array (
-			'datatype'	=> 'INTEGER',
-			'formtype'	=> 'TEXT',
-			'default'	=> '0',
-			'value'		=> '',
-			'width'		=> '7',
-			'maxlength'	=> '7'
-		),
-		'ul_bandwidth' => array (
-			'datatype'	=> 'INTEGER',
-			'formtype'	=> 'TEXT',
-			'default'	=> '0',
-			'value'		=> '',
-			'width'		=> '7',
-			'maxlength'	=> '7'
-		),
-		'dl_bandwidth' => array (
-			'datatype'	=> 'INTEGER',
-			'formtype'	=> 'TEXT',
-			'default'	=> '0',
-			'value'		=> '',
-			'width'		=> '7',
-			'maxlength'	=> '7'
-		),
-	##################################
-	# ENDE Datatable fields
-	##################################
-	)
+    'title'     => "Options",
+    'width'     => 100,
+    'template'  => "templates/ftp_user_advanced.htm",
+    'fields'    => array (
+    ##################################
+    # Begin Datatable fields
+    ##################################
+        'uid' => array (
+            'datatype'  => 'VARCHAR',
+            'formtype'  => 'TEXT',
+            'validators'    => array (  0 => array (    'type'  => 'NOTEMPTY',
+                                                        'errmsg'=> 'uid_error_empty'),
+                                    ),
+            'default'   => '0',
+            'value'     => '',
+            'width'     => '30',
+            'maxlength' => '255'
+        ),
+        'gid' => array (
+            'datatype'  => 'VARCHAR',
+            'formtype'  => 'TEXT',
+            'validators'    => array (  0 => array (    'type'  => 'NOTEMPTY',
+                                                        'errmsg'=> 'gid_error_empty'),
+                                    ),
+            'default'   => '0',
+            'value'     => '',
+            'width'     => '30',
+            'maxlength' => '255'
+        ),
+        'dir' => array (
+            'datatype'  => 'VARCHAR',
+            'formtype'  => 'TEXT',
+            'validators'    => array (  0 => array (    'type'  => 'NOTEMPTY',
+                                                        'errmsg'=> 'directory_error_empty'),
+                                    ),
+            'default'   => '',
+            'value'     => '',
+            'width'     => '30',
+            'maxlength' => '255'
+        ),
+        'quota_files' => array (
+            'datatype'  => 'INTEGER',
+            'formtype'  => 'TEXT',
+            'default'   => '0',
+            'value'     => '',
+            'width'     => '7',
+            'maxlength' => '7'
+        ),
+        'ul_ratio' => array (
+            'datatype'  => 'INTEGER',
+            'formtype'  => 'TEXT',
+            'default'   => '0',
+            'value'     => '',
+            'width'     => '7',
+            'maxlength' => '7'
+        ),
+        'dl_ratio' => array (
+            'datatype'  => 'INTEGER',
+            'formtype'  => 'TEXT',
+            'default'   => '0',
+            'value'     => '',
+            'width'     => '7',
+            'maxlength' => '7'
+        ),
+        'ul_bandwidth' => array (
+            'datatype'  => 'INTEGER',
+            'formtype'  => 'TEXT',
+            'default'   => '0',
+            'value'     => '',
+            'width'     => '7',
+            'maxlength' => '7'
+        ),
+        'dl_bandwidth' => array (
+            'datatype'  => 'INTEGER',
+            'formtype'  => 'TEXT',
+            'default'   => '0',
+            'value'     => '',
+            'width'     => '7',
+            'maxlength' => '7'
+        ),
+    ##################################
+    # ENDE Datatable fields
+    ##################################
+    )
+);
+
+} else {
+
+$form["tabs"]['advanced'] = array (
+    'title'     => "Options",
+    'width'     => 100,
+    'template'  => "templates/ftp_user_advanced_client.htm",
+    'fields'    => array (
+    ##################################
+    # Begin Datatable fields
+    ##################################
+        'dir' => array (
+            'datatype'  => 'VARCHAR',
+            'formtype'  => 'TEXT',
+            'validators'    => array (  0 => array (    'type'  => 'NOTEMPTY',
+                                                        'errmsg'=> 'directory_error_empty'),
+                                        1 => array (    'type'  => 'CUSTOM',
+                                                        'class' => 'validate_ftpuser',
+                                                        'function' => 'ftp_dir',
+                                                        'errmsg' => 'directory_error_notinweb'),
+                                    ),
+            'default'   => '',
+            'value'     => '',
+            'width'     => '30',
+            'maxlength' => '255'
+        ),
+    ##################################
+    # ENDE Datatable fields
+    ##################################
+    )
 );
 
 }
 
 
+
 ?>
\ No newline at end of file

--
Gitblit v1.9.1