From 4c28d9c34f5f3e5ccbbed6dbb0ba08bc5235b53b Mon Sep 17 00:00:00 2001
From: ftimme <ft@falkotimme.com>
Date: Thu, 10 May 2012 12:24:12 -0400
Subject: [PATCH] - Added global search (FS#2210, FS#2146).

---
 interface/web/mail/form/mail_user.tform.php |  160 +++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 148 insertions(+), 12 deletions(-)

diff --git a/interface/web/mail/form/mail_user.tform.php b/interface/web/mail/form/mail_user.tform.php
index 60a25bb..c9353ed 100644
--- a/interface/web/mail/form/mail_user.tform.php
+++ b/interface/web/mail/form/mail_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
 
 
 */
@@ -77,8 +82,24 @@
 			'default'	=> '',
 			'value'		=> '',
 			'width'		=> '30',
-			'maxlength'	=> '255'
+			'maxlength'	=> '255',
+			'searchable' => 1
 		),
+    'login' => array (
+      'datatype'  => 'VARCHAR',
+      'formtype'  => 'TEXT',
+      'validators'  => array (
+                    0 => array (  'type'  => 'UNIQUE',
+                            'errmsg'=> 'login_error_unique'),
+                    1 => array (  'type'  => 'REGEX',
+                            'regex' => '/^[a-z0-9][\w\.\-_\+@]{1,63}$/',
+                            'errmsg'=> 'login_error_regex'),
+                  ),
+      'default' => '',
+      'value'   => '',
+      'width'   => '30',
+      'maxlength' => '255'
+    ),
 		'password' => array (
 			'datatype'	=> 'VARCHAR',
 			'formtype'	=> 'PASSWORD',
@@ -88,11 +109,35 @@
 			'width'		=> '30',
 			'maxlength'	=> '255'
 		),
+		'name' => array (
+			'datatype'	=> 'VARCHAR',
+			'formtype'	=> 'TEXT',
+			'default'	=> '',
+			'value'		=> '',
+			'width'		=> '30',
+			'maxlength'	=> '255',
+			'searchable' => 2
+		),
 		'quota' => array (
 			'datatype'	=> 'INTEGER',
 			'formtype'	=> 'TEXT',
 			'validators'	=> array ( 	0 => array (	'type'	=> 'ISINT',
 														'errmsg'=> 'quota_error_isint'),
+										1 => array (	'type'	=> 'REGEX',
+														'regex' => '/^([0-9]*)$/',
+														'errmsg'=> 'quota_error_value'),
+									),
+			'default'	=> '-1',
+			'value'		=> '',
+			'width'		=> '30',
+			'maxlength'	=> '255'
+		),
+		'cc' => array (
+			'datatype'	=> 'VARCHAR',
+			'formtype'	=> 'TEXT',
+			'validators'	=> array ( 	0 => array (	'type'	=> 'REGEX',
+														'regex' => '/^(\w+[\w\.\-\+]*\w{0,}@\w+[\w.-]*\w+\.[a-z\-]{2,10}){0,1}$/i',
+														'errmsg'=> 'cc_error_isemail'),
 									),
 			'default'	=> '',
 			'value'		=> '',
@@ -132,19 +177,33 @@
 			'maxlength'	=> '10'
 		),
 		'postfix' => array (
-			'datatype'	=> 'INTEGER',
+			'datatype'	=> 'VARCHAR',
 			'formtype'	=> 'CHECKBOX',
-			'default'	=> '1',
-			'value'		=> '1'
+			'default'	=> 'y',
+			'value'		=> array(1 => 'y',0 => 'n')
 		),
+		/*
 		'access' => array (
-			'datatype'	=> 'INTEGER',
+			'datatype'	=> 'VARCHAR',
 			'formtype'	=> 'CHECKBOX',
-			'default'	=> '1',
-			'value'		=> '1'
+			'default'	=> 'y',
+			'value'		=> array(1 => 'y',0 => 'n')
+		),
+		*/
+		'disableimap' => array (
+			'datatype'	=> 'VARCHAR',
+			'formtype'	=> 'CHECKBOX',
+			'default'	=> 'n',
+			'value'		=> array(1 => 'y',0 => 'n')
+		),
+		'disablepop3' => array (
+			'datatype'	=> 'VARCHAR',
+			'formtype'	=> 'CHECKBOX',
+			'default'	=> 'n',
+			'value'		=> array(1 => 'y',0 => 'n')
 		),
 	##################################
-	# ENDE Datatable fields
+	# END Datatable fields
 	##################################
 	)
 );
@@ -157,6 +216,14 @@
 	##################################
 	# Begin Datatable fields
 	##################################
+		'autoresponder_subject' => array (
+			'datatype'  => 'VARCHAR',
+			'formtype'  => 'TEXT',
+			'default'   => 'Out of office reply',
+			'value'     => '',
+			'width'		=> '30',
+			'maxlength'	=> '255'
+		),
 		'autoresponder_text' => array (
 			'datatype'	=> 'TEXT',
 			'formtype'	=> 'TEXTAREA',
@@ -166,16 +233,85 @@
 			'rows'		=> '15'
 		),
 		'autoresponder' => array (
-			'datatype'	=> 'INTEGER',
+			'datatype'	=> 'VARCHAR',
 			'formtype'	=> 'CHECKBOX',
-			'default'	=> '1',
-			'value'		=> '1'
+			'default'	=> 'n',
+			'value'		=> array(1 => 'y',0 => 'n')
+		),
+		'autoresponder_start_date' => array (
+			'datatype'	=> 'DATETIME',
+			'formtype'	=> 'DATETIME',
+		),
+		'autoresponder_end_date' => array (
+			'datatype'	=> 'DATETIME',
+			'formtype'	=> 'DATETIME',
+			'validators'=> array ( 	0 => array (	'type'	=> 'CUSTOM',
+													'class' => 'validate_autoresponder',
+													'function' => 'end_date',
+													'errmsg'=> 'autoresponder_end_date_isgreater'),
+								 ),
 		),
 	##################################
-	# ENDE Datatable fields
+	# END Datatable fields
 	##################################
 	)
 );
 
+$form["tabs"]['filter_records'] = array (
+	'title' 	=> "Mail Filter",
+	'width' 	=> 100,
+	'template' 	=> "templates/mail_user_mailfilter_edit.htm",
+	'fields' 	=> array (
+	##################################
+	# Begin Datatable fields
+	##################################
+		'move_junk' => array (
+			'datatype'	=> 'VARCHAR',
+			'formtype'	=> 'CHECKBOX',
+			'default'	=> 'n',
+			'value'		=> array(0 => 'n',1 => 'y')
+		),
+	##################################
+	# END Datatable fields
+	##################################
+	),
+	'plugins' => array (
+     	'filter_records' => array (
+         	'class'   => 'plugin_listview',
+     		'options' => array(
+				'listdef' => 'list/mail_user_filter.list.php',
+				'sqlextwhere' => "mailuser_id = ".@intval(@$_REQUEST['id']),
+				'sql_order_by' => "ORDER BY rulename"
+			)
+        )
+	)
+);
+
+if($_SESSION["s"]["user"]["typ"] == 'admin') {
+
+$form["tabs"]['mailfilter'] = array (
+	'title' 	=> "Custom Rules",
+	'width' 	=> 100,
+	'template' 	=> "templates/mail_user_custom_rules_edit.htm",
+	'fields' 	=> array (
+	##################################
+	# Begin Datatable fields
+	##################################
+		'custom_mailfilter' => array (
+			'datatype'	=> 'TEXT',
+			'formtype'	=> 'TEXTAREA',
+			'default'	=> '',
+			'value'		=> '',
+			'cols'		=> '30',
+			'rows'		=> '15'
+		),
+	##################################
+	# END Datatable fields
+	##################################
+	)
+);
+
+}
+
 
 ?>
\ No newline at end of file

--
Gitblit v1.9.1