var $rules;
/** user id */
var $uid;
+ /** tmp.bd or not */
+ var $bd;
function Filter($_uid) {
+ global $philter;
$this->uid = $_uid;
$this->rules = array();
- $sql = mysql_query("SELECT rank,rid,flags,name FROM rules WHERE uid='$_uid' ORDER BY rank");
+ $sql = mysql_query("SELECT rank,rid,flags,name FROM ".bd()."rules WHERE uid='$_uid' ORDER BY rank");
while(list($_rank,$_rid,$_flags,$_name) = mysql_fetch_row($sql)) {
$this->rules[$_rid] = new Rule($_rank,$_flags,$_name);
$this->rules[$_rid]->sql_get_matches($_uid,$_rid);
}
function to_string() {
- return "";
+ global $mail_pool,$philter;
+ $res = ":0 f\n"
+ . "|formail -I'X-Philter-Or'\n"
+ . "\n";
+
+ foreach($this->rules as $id=>$rule)
+ if($id)
+ $res .= $rule->to_string();
+ 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) {
$this->rules[$_rid]->sql_clean($this->uid, $_rid);
unset($this->rules[$_rid]);
- mysql_query("UPDATE rules SET rank=rank-1 WHERE uid='{$this->uid}' and rank>$rk");
+ mysql_query("UPDATE ".bd()."rules SET rank=rank-1 WHERE uid='{$this->uid}' and rank>$rk");
}
function new_rule_id() {