From d097c76b311ee5a03ffc9c522b978f21999308d9 Mon Sep 17 00:00:00 2001 From: choongii <choongii@ispconfig3> Date: Wed, 30 Jan 2013 15:50:06 -0500 Subject: [PATCH] Implemented checkboxes in Interface Config to enable showing/hiding the tabs Mail Filters, Autoresponders and Custom Rules for mailboxes. --- interface/web/admin/lib/lang/en_system_config.lng | 3 interface/web/mail/form/mail_user.tform.php | 223 ++++++++++++++++++++++--------------------- interface/web/admin/lib/lang/nl_system_config.lng | 3 interface/web/admin/templates/system_config_mail_edit.htm | 20 +++ interface/web/admin/form/system_config.tform.php | 30 ++++- 5 files changed, 163 insertions(+), 116 deletions(-) diff --git a/interface/web/admin/form/system_config.tform.php b/interface/web/admin/form/system_config.tform.php index fb0fc7f..40e9868 100644 --- a/interface/web/admin/form/system_config.tform.php +++ b/interface/web/admin/form/system_config.tform.php @@ -174,12 +174,30 @@ ################################## # Begin Datatable fields ################################## - 'enable_custom_login' => array( - 'datatype' => 'VARCHAR', - 'formtype' => 'CHECKBOX', - 'default' => 'n', - 'value' => array(0 => 'n', 1 => 'y') - ), + 'enable_custom_login' => array( + 'datatype' => 'VARCHAR', + 'formtype' => 'CHECKBOX', + 'default' => 'n', + 'value' => array(0 => 'n', 1 => 'y') + ), + 'mailbox_show_autoresponder_tab' => array ( + 'datatype' => 'VARCHAR', + 'formtype' => 'CHECKBOX', + 'default' => 'y', + 'value' => array(0 => 'n',1 => 'y') + ), + 'mailbox_show_mail_filter_tab' => array ( + 'datatype' => 'VARCHAR', + 'formtype' => 'CHECKBOX', + 'default' => 'y', + 'value' => array(0 => 'n',1 => 'y') + ), + 'mailbox_show_custom_rules_tab' => array ( + 'datatype' => 'VARCHAR', + 'formtype' => 'CHECKBOX', + 'default' => 'y', + 'value' => array(0 => 'n',1 => 'y') + ), 'mailboxlist_webmail_link' => array ( 'datatype' => 'VARCHAR', 'formtype' => 'CHECKBOX', diff --git a/interface/web/admin/lib/lang/en_system_config.lng b/interface/web/admin/lib/lang/en_system_config.lng index 03ce902..5c706bb 100644 --- a/interface/web/admin/lib/lang/en_system_config.lng +++ b/interface/web/admin/lib/lang/en_system_config.lng @@ -23,6 +23,9 @@ $wb["dblist_phpmyadmin_link_txt"] = 'Link to phpmyadmin in DB list'; $wb['enable_custom_login_txt'] = 'Allow custom login name'; $wb["mailboxlist_webmail_link_txt"] = 'Link to webmail in Mailbox list'; +$wb['mailbox_show_autoresponder_tab_txt'] = 'Show Autoresponder tab in Mailbox detail'; +$wb['mailbox_show_mail_filter_tab_txt'] = 'Show Mail Filter tab in Mailbox detail'; +$wb['mailbox_show_custom_rules_tab_txt'] = 'Show Custom Rules tab in Mailbox detail'; $wb["webmail_url_txt"] = 'Webmail URL'; $wb["mailmailinglist_link_txt"] = 'Link to mailing list in Mailing list list'; $wb["mailmailinglist_url_txt"] = 'Mailing list URL'; diff --git a/interface/web/admin/lib/lang/nl_system_config.lng b/interface/web/admin/lib/lang/nl_system_config.lng index 673664c..0955743 100644 --- a/interface/web/admin/lib/lang/nl_system_config.lng +++ b/interface/web/admin/lib/lang/nl_system_config.lng @@ -16,6 +16,9 @@ $wb['webdavuser_prefix_error_regex'] = 'Char niet toegestaan in webdav gebruiker voorvoegsel.'; $wb['dblist_phpmyadmin_link_txt'] = 'Link naar phpmyadmin in DB lijst'; $wb['mailboxlist_webmail_link_txt'] = 'Link naar webmail in Mailbox lijst'; +$wb['mailbox_show_autoresponder_tab_txt'] = 'Toon Autoresponder tabblad in Mailbox detail'; +$wb['mailbox_show_mail_filter_tab_txt'] = 'Toon Mail Filter tabblad in Mailbox detail'; +$wb['mailbox_show_custom_rules_tab_txt'] 'Toon Custom Rules tabblad in Mailbox detail'; $wb['webmail_url_txt'] = 'Webmail URL'; $wb['phpmyadmin_url_txt'] = 'PHPMyAdmin URL'; $wb['use_domain_module_txt'] = 'Gebruik de domein-module om nieuwe domeinen toe te voegen'; diff --git a/interface/web/admin/templates/system_config_mail_edit.htm b/interface/web/admin/templates/system_config_mail_edit.htm index 91fcc1f..f69ed85 100644 --- a/interface/web/admin/templates/system_config_mail_edit.htm +++ b/interface/web/admin/templates/system_config_mail_edit.htm @@ -12,6 +12,24 @@ </div> </div> <div class="ctrlHolder"> + <p class="label">{tmpl_var name='mailbox_show_autoresponder_tab_txt'}</p> + <div class="multiField"> + {tmpl_var name='mailbox_show_autoresponder_tab'} + </div> + </div> + <div class="ctrlHolder"> + <p class="label">{tmpl_var name='mailbox_show_mail_filter_tab_txt'}</p> + <div class="multiField"> + {tmpl_var name='mailbox_show_mail_filter_tab'} + </div> + </div> + <div class="ctrlHolder"> + <p class="label">{tmpl_var name='mailbox_show_custom_rules_tab_txt'}</p> + <div class="multiField"> + {tmpl_var name='mailbox_show_custom_rules_tab'} + </div> + </div> + <div class="ctrlHolder"> <p class="label">{tmpl_var name='mailboxlist_webmail_link_txt'}</p> <div class="multiField"> {tmpl_var name='mailboxlist_webmail_link'} @@ -77,4 +95,4 @@ </div> </div> -</div> \ No newline at end of file +</div> diff --git a/interface/web/mail/form/mail_user.tform.php b/interface/web/mail/form/mail_user.tform.php index 5ec0cbc..ddccdbf 100644 --- a/interface/web/mail/form/mail_user.tform.php +++ b/interface/web/mail/form/mail_user.tform.php @@ -38,6 +38,8 @@ */ global $app; +$app->uses('getconf'); +$global_config = $app->getconf->get_global_config(); $form["title"] = "Mailbox"; $form["description"] = ""; @@ -230,115 +232,118 @@ ) ); -$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 - ################################## - ) -); - -$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 - ################################## - ) -); - +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