From 8cf78b31b28b9183579c7939b947e1f7e9f5c2fa Mon Sep 17 00:00:00 2001 From: tbrehm <t.brehm@ispconfig.org> Date: Thu, 12 Jan 2012 04:54:19 -0500 Subject: [PATCH] Merged revisions 2812-2883 from staböe branch. --- interface/lib/plugins/mail_user_filter_plugin.inc.php | 26 +++++++++++++++++++++++++- 1 files changed, 25 insertions(+), 1 deletions(-) diff --git a/interface/lib/plugins/mail_user_filter_plugin.inc.php b/interface/lib/plugins/mail_user_filter_plugin.inc.php index 3b62524..7b22da8 100644 --- a/interface/lib/plugins/mail_user_filter_plugin.inc.php +++ b/interface/lib/plugins/mail_user_filter_plugin.inc.php @@ -46,7 +46,7 @@ $app->plugin->registerEvent('mail:mail_user_filter:on_after_insert','mail_user_filter_plugin','mail_user_filter_edit'); $app->plugin->registerEvent('mail:mail_user_filter:on_after_update','mail_user_filter_plugin','mail_user_filter_edit'); - + $app->plugin->registerEvent('mail:mail_user_filter:on_after_delete','mail_user_filter_plugin','mail_user_filter_del'); } @@ -89,6 +89,30 @@ } + function mail_user_filter_del($event_name,$page_form) { + global $app, $conf; + + $mailuser = $app->db->queryOneRecord("SELECT custom_mailfilter FROM mail_user WHERE mailuser_id = ".$page_form->dataRecord["mailuser_id"]); + $skip = false; + $lines = explode("\n",$mailuser['custom_mailfilter']); + $out = ''; + + foreach($lines as $line) { + $line = trim($line); + if($line == '### BEGIN FILTER_ID:'.$page_form->id) { + $skip = true; + } + if($skip == false && $line != '') $out .= $line ."\n"; + if($line == '### END FILTER_ID:'.$page_form->id) { + $skip = false; + } + } + + $out = mysql_real_escape_string($out); + $app->db->datalogUpdate('mail_user', "custom_mailfilter = '$out'", 'mailuser_id', $page_form->dataRecord["mailuser_id"]); + } + + /* private function to create the mail filter rules in maildrop or sieve format. */ -- Gitblit v1.9.1