function to_string() {
global $philter;
+ $tmp = array();
+
+ foreach($this->matches as $match)
+ $tmp[] = $philter->config['match_plugins'][$match[0]]->to_string($match);
+
+ $connector = ($this->all ? ' && ' : ' || ');
+ $res = "if( ".implode($connector, $tmp)." )\n"
+ . "{\n";
- $bloc = "{\n";
foreach($this->actions as $action)
- $bloc .= $philter->config['action_plugins'][$action[0]]->to_string($action);
- $bloc.= " :0\n"
- . " /dev/null\n"
- . "}\n";
-
- $res = $this->block ? ":0\n" : ":0 c\n";
+ $res .= $philter->config['action_plugins'][$action[0]]->to_string($action);
- if($this->all) {
- foreach($this->matches as $match)
- $res .= $philter->config['match_plugins'][$match[0]]->to_string($match);
- $res .= $bloc;
- } else {
- $i = 0; $res = '';
- foreach($this->matches as $match) {
- $res .= (empty($i) ? ":0\n" : ":0 E\n");
- $res .= $philter->config['match_plugins'][$match[0]]->to_string($match);
- $res .= $bloc;
- $i++;
- }
- }
+ if($this->block)
+ $res .= " to /dev/null\n"
+ . " exit\n";
- return $res."\n";
+ return $res."}\n\n";
}
function sql_clean($_uid, $_rid) {