Browse Source

better debugging for matched filter rules

Andrew Dolgov 7 years ago
parent
commit
557d86fe42
1 changed files with 18 additions and 4 deletions
  1. 18 4
      include/rssfuncs.php

+ 18 - 4
include/rssfuncs.php

@@ -798,12 +798,21 @@
 
 				/* Collect article tags here so we could filter by them: */
 
+				$matched_rules = array();
+
 				$article_filters = get_article_filters($filters, $article["title"],
 					$article["content"], $article["link"], 0, $article["author"],
-					$article["tags"]);
+					$article["tags"], $matched_rules);
 
 				if ($debug_enabled) {
-					_debug("article filters: ", $debug_enabled);
+					_debug("matched filter rules: ", $debug_enabled);
+
+					if (count($matched_rules) != 0) {
+						print_r($matched_rules);
+					}
+
+					_debug("filter actions: ", $debug_enabled);
+
 					if (count($article_filters) != 0) {
 						print_r($article_filters);
 					}
@@ -850,7 +859,10 @@
 
 				if ($debug_enabled) {
 					_debug("article labels:", $debug_enabled);
-					print_r($article_labels);
+
+					if (count($article_labels) != 0) {
+						print_r($article_labels);
+					}
 				}
 
 				_debug("force catchup: $entry_force_catchup");
@@ -1352,7 +1364,7 @@
 		return $params;
 	}
 
-	function get_article_filters($filters, $title, $content, $link, $timestamp, $author, $tags) {
+	function get_article_filters($filters, $title, $content, $link, $timestamp, $author, $tags, &$matched_rules = false) {
 		$matches = array();
 
 		foreach ($filters as $filter) {
@@ -1418,6 +1430,8 @@
 			if ($inverse) $filter_match = !$filter_match;
 
 			if ($filter_match) {
+				if (is_array($matched_rules)) array_push($matched_rules, $rule);
+
 				foreach ($filter["actions"] AS $action) {
 					array_push($matches, $action);