some tweaks and bugfixes
[old-projects.git] / philter / philter / include / rule.inc.php
index 6ab2116..9123b29 100644 (file)
@@ -66,9 +66,13 @@ class Rule {
             $left_joins .= $plug->sql_get();
         
         $sql = mysql_query("SELECT * FROM matches WHERE matches.uid='$_uid' AND matches.rid='$_rid' ".$left_joins);
-        
-        while($t = mysql_fetch_assoc($sql))
-            $this->matches[] = $philter->config['match_plugins'][$t['pid']]->sql_to_data($t);
+       
+        if($_rid)
+            while($t = mysql_fetch_assoc($sql))
+                $this->matches[] = $philter->config['match_plugins'][$t['pid']]->sql_to_data($t);
+        else
+            while($t = mysql_fetch_assoc($sql))
+                $this->matches[] = $philter->config['global_plugins'][$t['pid']]->sql_to_data($t);
     }
 
     function move_to($_new_rank, $_uid, $_rid) {
@@ -106,11 +110,15 @@ class Rule {
 
         mysql_query("INSERT INTO rules SET uid='$_uid',rid='$_rid',rank='{$this->rank}',flags='$flags',name='{$this->name}'");
 
-        foreach($this->matches as $match)
-            $philter->config['match_plugins'][$match[0]]->sql_store($_uid, $_rid, $action);
+        if($_rid) {
+            foreach($this->matches as $match)
+                $philter->config['match_plugins'][$match[0]]->sql_store($_uid, $_rid, $match);
 
-        foreach($this->actions as $action)
-            $philter->config['action_plugins'][$action[0]]->sql_store($_uid, $_rid, $action);
+            foreach($this->actions as $action)
+                $philter->config['action_plugins'][$action[0]]->sql_store($_uid, $_rid, $action);
+        } else
+            foreach($this->matches as $match)
+                $philter->config['global_plugins'][$match[0]]->sql_store($_uid, $_rid, $match);
     }
 
     function to_js() {