Marius Cramer
2013-10-14 d9bcf68e395d6156645a7974b1a992aa6e6c00aa
interface/web/mail/form/mail_user.tform.php
@@ -29,9 +29,15 @@
   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;
$form["title"]          = "Mailbox";
$form["description"]    = "";
@@ -69,6 +75,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 +90,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,11 +124,42 @@
         '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'   => '-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'      => '',
@@ -132,19 +199,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 +238,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 +255,90 @@
         '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',
         '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'),
                         ),
      ),
   ##################################
   # 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 = ".@$app->functions->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
   ##################################
   )
);
}
?>