Marius Cramer
2013-10-18 bd68aae78a5d696e4ccb9c0d267486c283a6d9d2
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,11 +92,19 @@
         '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'),
@@ -109,15 +132,16 @@
         'default'   => '',
         'value'      => '',
         'width'      => '30',
         'maxlength'   => '255'
         'maxlength'   => '255',
         'searchable' => 2
      ),
      'quota' => array (
         'datatype'   => 'INTEGER',
         'datatype'   => 'VARCHAR',
         'formtype'   => 'TEXT',
         'validators'   => array (    0 => array (   'type'   => 'ISINT',
         'validators'   => array (    1 => array (   'type'   => 'ISINT',
                                          'errmsg'=> 'quota_error_isint'),
                              1 => array (   'type'   => 'REGEX',
                                          'regex' => '/^([0-9]*)$/',
                              0 => array (   'type'   => 'REGEX',
                                          'regex' => '/^([0-9]{1,})$/',
                                          'errmsg'=> 'quota_error_value'),
                           ),
         'default'   => '-1',
@@ -128,8 +152,15 @@
      '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.-]*\w+\.[a-z\-]{2,10}){0,1}$/i',
                                          'regex' => '/^(\w+[\w\.\-\+]*\w{0,}@\w+[\w.-]*\.[a-z\-]{2,10}){0,1}$/i',
                                          'errmsg'=> 'cc_error_isemail'),
                           ),
         'default'   => '',
@@ -196,112 +227,123 @@
         'value'      => array(1 => 'y',0 => 'n')
      ),
   ##################################
   # ENDE Datatable fields
   # END 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'
      ),
      '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_isfuture'),
                         ),
      ),
      '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
   ##################################
   )
);
$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')
      ),
   ##################################
   # 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
      ##################################
      )
   );
}
?>
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
      ##################################
      )
   );
}
?>