From 583e7202be36c4b1bc34fa1728be0f8fbb80c37a Mon Sep 17 00:00:00 2001 From: Pierre Habouzit Date: Tue, 21 Oct 2003 20:29:18 +0000 Subject: [PATCH] procmail generation TODO: implement each plugin. plugins : forward, header, custheader are OK (or should be) --- philter/philter/include/filter.inc.php | 14 ++++++++++++-- philter/philter/include/plugin_bogofilter.inc.php | 19 +------------------ 2 files changed, 13 insertions(+), 20 deletions(-) diff --git a/philter/philter/include/filter.inc.php b/philter/philter/include/filter.inc.php index b46a255..088d212 100644 --- a/philter/philter/include/filter.inc.php +++ b/philter/philter/include/filter.inc.php @@ -48,6 +48,7 @@ class Filter { } function to_string() { + global $mail_pool,$philter; $res = ":0 f\n" . "|formail -I'X-Philter-Or'\n" . "\n"; @@ -55,8 +56,17 @@ class Filter { foreach($this->rules as $id=>$rule) if($id) $res .= $rule->to_string(); - - return $res; + else + foreach($rule->matches as $id=>$match) + $res .= $philter->config['global_plugins'][$match[0]]->to_string($match); + + $res .= ":0\n" + . "!"; + foreach($mail_pool->emails as $mail) + if($mail->is_active()) + $res .= ' '.$mail->email; + + return $res."\n"; } function delete_rule($_rid) { diff --git a/philter/philter/include/plugin_bogofilter.inc.php b/philter/philter/include/plugin_bogofilter.inc.php index fd90fa5..e50488d 100644 --- a/philter/philter/include/plugin_bogofilter.inc.php +++ b/philter/philter/include/plugin_bogofilter.inc.php @@ -16,24 +16,7 @@ class BogoPlugin extends MatchPlugin { function is_global() { return true; } function to_string($_data) { - if($_data['data']=='off') - return ""; - - $res = ":0 HB\n" - . "* ? bogofilter\n" - . "{\n" - . " :0 c\n" - . " /var/mail/spam/\n" - . " :0 h\n" - . " SUBJECT=| formail -xSubject:\n" - . " :0 fhW\n" - . " | formail -I \"X-Spam-Flag: YES\" -i \"Subject: [Xorg:SPAM]$"."SUBJECT\"\n" - . ($_data["data"] == "drop" ? " :0\n /dev/null\n" : "") - . "}\n" - . ":0 Ec\n" - . "/var/mail/nonspam/\n" - . "\n"; - + $res = "\n"; return $res; } -- 2.1.4