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