Skip to content

Commit e037df9

Browse files
author
Till Brehm
committed
Merge branch 'feature/imap4flags' into 'master'
Support for "Mark as read" in user's mail filters A few people on the internet have already requested support for the `imap4flags`. This pull request provides two things: - The templates for Sieve have been updated to include and load the `imap4flags` module. This is available also for Doctrine 1.1 and provides the ability to use the command `setflat "\\Seen";` which marks mails as read. - The web interface has been updated for a new action beside delete and more, named "Mark as read". This allows users to define mail filters which mark mails automatically as read. This currently only works for Sieve. Servers using Maildrop will silently ignore that specific user filter. I would be happy to see that feature in ISPConfig 3.1! See merge request !402
2 parents 71cae5d + 249628f commit e037df9

28 files changed

+31
-4
lines changed

interface/lib/plugins/mail_user_filter_plugin.inc.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,8 @@ private function mail_user_filter_get_rule($page_form) {
193193
$content .= " stop;\n";
194194
} elseif ($page_form->dataRecord["action"] == 'reject') {
195195
$content .= ' reject "'.$page_form->dataRecord["target"].'"; stop;\n\n';
196+
} elseif ($page_form->dataRecord["action"] == 'read') {
197+
$content .= ' setflag "\\\\Seen";\n stop;\n';
196198
} else {
197199
$content .= " discard;\n stop;\n";
198200
}
@@ -254,6 +256,8 @@ private function mail_user_filter_get_rule($page_form) {
254256
$content .= 'ID' . "$page_form->id" . 'EndFolder = "$DEFAULT/.' . $page_form->dataRecord['target'] . '/"' . "\n";
255257
$content .= "xfilter \"/usr/bin/formail -A \\\"X-User-Mail-Filter-ID"."$page_form->id".": Yes\\\"\"" . "\n";
256258
$content .= "to ". '$ID' . "$page_form->id" . 'EndFolder' . "\n";
259+
} elseif ($page_form->dataRecord["action"] == 'read') {
260+
$content .= ''; // mark as read currently not supported for Maildrop
257261
} else {
258262
$content .= "to /dev/null\n";
259263
}

interface/web/mail/form/mail_user_filter.tform.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@
106106
'datatype' => 'VARCHAR',
107107
'formtype' => 'SELECT',
108108
'default' => '',
109-
'value' => array('move' => 'move_to_txt', 'delete'=>'delete_txt')
109+
'value' => array('move' => 'move_to_txt', 'delete'=>'delete_txt', 'read'=>'mark_read_txt')
110110
),
111111
'target' => array (
112112
'datatype' => 'VARCHAR',

interface/web/mail/lib/lang/ar_mail_user_filter.lng

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,5 @@ $wb['keep_txt'] = 'Keep';
2626
$wb['reject_txt'] = 'Reject';
2727
$wb['stop_txt'] = 'Stop';
2828
$wb['move_to_txt'] = 'Move to';
29+
$wb['mark_read_txt'] = 'Mark as read';
2930
?>

interface/web/mail/lib/lang/bg_mail_user_filter.lng

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,5 @@ $wb['keep_txt'] = 'Keep';
2626
$wb['reject_txt'] = 'Reject';
2727
$wb['stop_txt'] = 'Stop';
2828
$wb['move_to_txt'] = 'Move to';
29+
$wb['mark_read_txt'] = 'Mark as read';
2930
?>

interface/web/mail/lib/lang/br_mail_user_filter.lng

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,5 @@ $wb['keep_txt'] = 'Keep';
2626
$wb['reject_txt'] = 'Reject';
2727
$wb['stop_txt'] = 'Stop';
2828
$wb['move_to_txt'] = 'Move to';
29+
$wb['mark_read_txt'] = 'Mark as read';
2930
?>

interface/web/mail/lib/lang/ca_mail_user_filter.lng

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,5 @@ $wb['keep_txt'] = 'Keep';
2626
$wb['reject_txt'] = 'Reject';
2727
$wb['stop_txt'] = 'Stop';
2828
$wb['move_to_txt'] = 'Move to';
29+
$wb['mark_read_txt'] = 'Mark as read';
2930
?>

interface/web/mail/lib/lang/cz_mail_user_filter.lng

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,5 @@ $wb['keep_txt'] = 'Keep';
2626
$wb['reject_txt'] = 'Reject';
2727
$wb['stop_txt'] = 'Stop';
2828
$wb['move_to_txt'] = 'Move to';
29+
$wb['mark_read_txt'] = 'Mark as read';
2930
?>

interface/web/mail/lib/lang/de_mail_user_filter.lng

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,5 @@ $wb['keep_txt'] = 'Behalten';
2626
$wb['reject_txt'] = 'Abweisen';
2727
$wb['stop_txt'] = 'Stop';
2828
$wb['move_to_txt'] = 'Verschiebe nach';
29+
$wb['mark_read_txt'] = 'Als gelesen markieren';
2930
?>

interface/web/mail/lib/lang/el_mail_user_filter.lng

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,5 @@ $wb['keep_txt'] = 'Keep';
2626
$wb['reject_txt'] = 'Reject';
2727
$wb['stop_txt'] = 'Stop';
2828
$wb['move_to_txt'] = 'Move to';
29+
$wb['mark_read_txt'] = 'Mark as read';
2930
?>

interface/web/mail/lib/lang/en_mail_user_filter.lng

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,5 @@ $wb['keep_txt'] = 'Keep';
2626
$wb['reject_txt'] = 'Reject';
2727
$wb['stop_txt'] = 'Stop';
2828
$wb['move_to_txt'] = 'Move to';
29+
$wb['mark_read_txt'] = 'Mark as read';
2930
?>

0 commit comments

Comments
 (0)