]> git.wh0rd.org Git - tt-rss.git/commitdiff
add function to match all filters
authorAndrew Dolgov <fox@madoka.spb.ru>
Fri, 8 Dec 2006 07:32:27 +0000 (08:32 +0100)
committerAndrew Dolgov <fox@madoka.spb.ru>
Fri, 8 Dec 2006 07:32:27 +0000 (08:32 +0100)
functions.php

index c0326421366ad58c310143312a43fca9b12c92fb..dbc43235847ae4b6453eb1b33778b3c19504cb00 100644 (file)
                return false;
        }
 
+       function get_filter_matches($title, $content, $link, $filters) {
+
+               $matches = array();
+
+               if ($filters["title"]) {
+                       foreach ($filters["title"] as $filter) {
+                               $reg_exp = $filter["reg_exp"];                  
+                               if (preg_match("/$reg_exp/i", $title)) {
+                                       array_push($matches, array($filter["action"], $filter["action_param"]));
+                               }
+                       }
+               }
+
+               if ($filters["content"]) {
+                       foreach ($filters["content"] as $filter) {
+                               $reg_exp = $filter["reg_exp"];                  
+                               if (preg_match("/$reg_exp/i", $content)) {
+                                       array_push($matches, array($filter["action"], $filter["action_param"]));
+                               }               
+                       }
+               }
+
+               if ($filters["both"]) {
+                       foreach ($filters["both"] as $filter) {                 
+                               $reg_exp = $filter["reg_exp"];          
+                               if (preg_match("/$reg_exp/i", $title) || 
+                                       preg_match("/$reg_exp/i", $content)) {
+                                               array_push($matches, array($filter["action"], $filter["action_param"]));
+                               }
+                       }
+               }
+
+               if ($filters["link"]) {
+                       $reg_exp = $filter["reg_exp"];
+                       foreach ($filters["link"] as $filter) {
+                               $reg_exp = $filter["reg_exp"];
+                               if (preg_match("/$reg_exp/i", $link)) {
+                                       array_push($matches, array($filter["action"], $filter["action_param"]));
+                               }
+                       }
+               }
+
+               return $matches;
+       }
+
        function printFeedEntry($feed_id, $class, $feed_title, $unread, $icon_file, $link,
                $rtl_content = false, $last_updated = false, $last_error = false) {