From cab7ea5faaa2f3510c8488e7d19d083fc05ac6ca Mon Sep 17 00:00:00 2001
From: mcramer <m.cramer@pixcept.de>
Date: Wed, 18 Sep 2013 04:17:27 -0400
Subject: [PATCH] - Fixed missing global $app in new _decode function

---
 interface/web/mail/form/mail_user.tform.php |  273 +++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 195 insertions(+), 78 deletions(-)

diff --git a/interface/web/mail/form/mail_user.tform.php b/interface/web/mail/form/mail_user.tform.php
index 454f93c..ddccdbf 100644
--- a/interface/web/mail/form/mail_user.tform.php
+++ b/interface/web/mail/form/mail_user.tform.php
@@ -29,9 +29,17 @@
 	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
 
 
 */
+global $app;
+$app->uses('getconf');
+$global_config = $app->getconf->get_global_config();
 
 $form["title"] 			= "Mailbox";
 $form["description"] 	= "";
@@ -69,6 +77,13 @@
 		'email' => array (
 			'datatype'	=> 'VARCHAR',
 			'formtype'	=> 'TEXT',
+            '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'	=> 'ISEMAIL',
 														'errmsg'=> 'email_error_isemail'),
 										1 => array (	'type'	=> 'UNIQUE',
@@ -77,8 +92,31 @@
 			'default'	=> '',
 			'value'		=> '',
 			'width'		=> '30',
-			'maxlength'	=> '255'
+			'maxlength'	=> '255',
+			'searchable' => 1
 		),
+    'login' => array (
+      'datatype'  => 'VARCHAR',
+      'formtype'  => 'TEXT',
+            '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'  => '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,13 +126,44 @@
 			'width'		=> '30',
 			'maxlength'	=> '255'
 		),
-		'quota' => array (
-			'datatype'	=> 'INTEGER',
+		'name' => array (
+			'datatype'	=> 'VARCHAR',
 			'formtype'	=> 'TEXT',
-			'validators'	=> array ( 	0 => array (	'type'	=> 'ISINT',
+			'default'	=> '',
+			'value'		=> '',
+			'width'		=> '30',
+			'maxlength'	=> '255',
+			'searchable' => 2
+		),
+		'quota' => array (
+			'datatype'	=> 'VARCHAR',
+			'formtype'	=> 'TEXT',
+			'validators'	=> array ( 	1 => array (	'type'	=> 'ISINT',
 														'errmsg'=> 'quota_error_isint'),
+										0 => array (	'type'	=> 'REGEX',
+														'regex' => '/^([0-9]{1,})$/',
+														'errmsg'=> 'quota_error_value'),
 									),
-			'default'	=> '0',
+			'default'	=> '-1',
+			'value'		=> '',
+			'width'		=> '30',
+			'maxlength'	=> '255'
+		),
+		'cc' => array (
+			'datatype'	=> 'VARCHAR',
+			'formtype'	=> 'TEXT',
+            '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'	=> 'REGEX',
+														'regex' => '/^(\w+[\w\.\-\+]*\w{0,}@\w+[\w.-]*\.[a-z\-]{2,10}){0,1}$/i',
+														'errmsg'=> 'cc_error_isemail'),
+									),
+			'default'	=> '',
 			'value'		=> '',
 			'width'		=> '30',
 			'maxlength'	=> '255'
@@ -137,96 +206,144 @@
 			'default'	=> 'y',
 			'value'		=> array(1 => 'y',0 => 'n')
 		),
+		/*
 		'access' => array (
 			'datatype'	=> 'VARCHAR',
 			'formtype'	=> 'CHECKBOX',
 			'default'	=> 'y',
 			'value'		=> array(1 => 'y',0 => 'n')
 		),
-	##################################
-	# ENDE Datatable fields
-	##################################
-	)
-);
-
-$form["tabs"]['autoresponder'] = array (
-	'title' 	=> "Autoresponder",
-	'width' 	=> 100,
-	'template' 	=> "templates/mail_user_autoresponder_edit.htm",
-	'fields' 	=> array (
-	##################################
-	# Begin Datatable fields
-	##################################
-		'autoresponder_text' => array (
-			'datatype'	=> 'TEXT',
-			'formtype'	=> 'TEXTAREA',
-			'default'	=> '',
-			'value'		=> '',
-			'cols'		=> '30',
-			'rows'		=> '15'
+		*/
+		'disableimap' => array (
+			'datatype'	=> 'VARCHAR',
+			'formtype'	=> 'CHECKBOX',
+			'default'	=> 'n',
+			'value'		=> array(1 => 'y',0 => 'n')
 		),
-		'autoresponder' => array (
+		'disablepop3' => array (
 			'datatype'	=> 'VARCHAR',
 			'formtype'	=> 'CHECKBOX',
 			'default'	=> 'n',
 			'value'		=> array(1 => 'y',0 => 'n')
 		),
 	##################################
-	# 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
-	##################################
-		
-	##################################
-	# ENDE 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'
-		),
-	##################################
-	# ENDE Datatable fields
-	##################################
-	)
-);
-
+if ($global_config['mail']['mailbox_show_autoresponder_tab'] === 'y') {
+	$form["tabs"]['autoresponder'] = array (
+		'title' 	=> "Autoresponder",
+		'width' 	=> 100,
+		'template' 	=> "templates/mail_user_autoresponder_edit.htm",
+		'fields' 	=> array (
+		##################################
+		# 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',
+				'default'	=> '',
+				'value'		=> '',
+				'cols'		=> '30',
+				'rows'		=> '15'
+			),
+			'autoresponder' => array (
+				'datatype'	=> 'VARCHAR',
+				'formtype'	=> 'CHECKBOX',
+				'default'	=> 'n',
+				'value'		=> array(1 => 'y',0 => 'n')
+			),
+			'autoresponder_start_date' => array (
+				'datatype'	=> 'DATETIME',
+				'formtype'	=> 'DATETIME',
+				'validators'=> array ( 0 => array ( 'type' => 'CUSTOM',
+					'class' => 'validate_autoresponder',
+					'function' => 'start_date',
+					'errmsg'=> 'autoresponder_start_date_is_required'),
+				)
+			),
+			'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'),
+				 ),
+			),
+		##################################
+		# END Datatable fields
+		##################################
+		)
+	);
 }
 
 
-?>
\ No newline at end of file
+if ($global_config['mail']['mailbox_show_mail_filter_tab'] === 'y') {
+	$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 = ".@$app->functions->intval(@$_REQUEST['id']),
+						'sql_order_by' => "ORDER BY rulename"
+					)
+			)
+		)
+	);
+}
+
+
+if ($_SESSION["s"]["user"]["typ"] == 'admin' && $global_config['mail']['mailbox_show_custom_rules_tab'] === 'y') {
+	$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
+		##################################
+		)
+	);
+}
+
+?>

--
Gitblit v1.9.1