move article filter functions to rssfuncs.php
This commit is contained in:
parent
74467907c5
commit
92c14e9d53
3 changed files with 101 additions and 99 deletions
|
@ -1074,6 +1074,8 @@ class Pref_Feeds extends Handler_Protected {
|
||||||
}
|
}
|
||||||
|
|
||||||
function rescore() {
|
function rescore() {
|
||||||
|
require_once "rssfuncs.php";
|
||||||
|
|
||||||
$ids = split(",", db_escape_string($_REQUEST["ids"]));
|
$ids = split(",", db_escape_string($_REQUEST["ids"]));
|
||||||
|
|
||||||
foreach ($ids as $id) {
|
foreach ($ids as $id) {
|
||||||
|
|
|
@ -465,104 +465,6 @@
|
||||||
print "</select>";
|
print "</select>";
|
||||||
}
|
}
|
||||||
|
|
||||||
function get_article_filters($filters, $title, $content, $link, $timestamp, $author, $tags) {
|
|
||||||
$matches = array();
|
|
||||||
|
|
||||||
foreach ($filters as $filter) {
|
|
||||||
$match_any_rule = $filter["match_any_rule"];
|
|
||||||
$filter_match = false;
|
|
||||||
|
|
||||||
foreach ($filter["rules"] as $rule) {
|
|
||||||
$match = false;
|
|
||||||
$reg_exp = $rule["reg_exp"];
|
|
||||||
|
|
||||||
if (!$reg_exp)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
switch ($rule["type"]) {
|
|
||||||
case "title":
|
|
||||||
$match = @preg_match("/$reg_exp/i", $title);
|
|
||||||
break;
|
|
||||||
case "content":
|
|
||||||
$match = @preg_match("/$reg_exp/i", $content);
|
|
||||||
break;
|
|
||||||
case "both":
|
|
||||||
$match = (@preg_match("/$reg_exp/i", $title) || @preg_match("/$reg_exp/i", $title));
|
|
||||||
break;
|
|
||||||
case "link":
|
|
||||||
$match = @preg_match("/$reg_exp/i", $link);
|
|
||||||
break;
|
|
||||||
case "author":
|
|
||||||
$match = @preg_match("/$reg_exp/i", $author);
|
|
||||||
break;
|
|
||||||
case "tag":
|
|
||||||
$tag_string = join(",", $tags);
|
|
||||||
$match = @preg_match("/$reg_exp/i", $tag_string);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($match_any_rule) {
|
|
||||||
if ($match) {
|
|
||||||
$filter_match = true;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
$filter_match = $match;
|
|
||||||
if (!$match) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($filter_match) {
|
|
||||||
foreach ($filter["actions"] AS $action) {
|
|
||||||
array_push($matches, $action);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return $matches;
|
|
||||||
}
|
|
||||||
|
|
||||||
function find_article_filter($filters, $filter_name) {
|
|
||||||
foreach ($filters as $f) {
|
|
||||||
if ($f["type"] == $filter_name) {
|
|
||||||
return $f;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
function find_article_filters($filters, $filter_name) {
|
|
||||||
$results = array();
|
|
||||||
|
|
||||||
foreach ($filters as $f) {
|
|
||||||
if ($f["type"] == $filter_name) {
|
|
||||||
array_push($results, $f);
|
|
||||||
};
|
|
||||||
}
|
|
||||||
return $results;
|
|
||||||
}
|
|
||||||
|
|
||||||
function calculate_article_score($filters) {
|
|
||||||
$score = 0;
|
|
||||||
|
|
||||||
foreach ($filters as $f) {
|
|
||||||
if ($f["type"] == "score") {
|
|
||||||
$score += $f["param"];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
return $score;
|
|
||||||
}
|
|
||||||
|
|
||||||
function assign_article_to_labels($link, $id, $filters, $owner_uid) {
|
|
||||||
foreach ($filters as $f) {
|
|
||||||
if ($f["type"] == "label") {
|
|
||||||
label_add_article($link, $id, $f["param"], $owner_uid);
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function getmicrotime() {
|
function getmicrotime() {
|
||||||
list($usec, $sec) = explode(" ",microtime());
|
list($usec, $sec) = explode(" ",microtime());
|
||||||
return ((float)$usec + (float)$sec);
|
return ((float)$usec + (float)$sec);
|
||||||
|
|
|
@ -1033,7 +1033,7 @@
|
||||||
_debug("update_rss_feed: assigning labels...");
|
_debug("update_rss_feed: assigning labels...");
|
||||||
}
|
}
|
||||||
|
|
||||||
assign_article_to_labels($link, $entry_ref_id, $article_filters,
|
assign_article_to_label_filters($link, $entry_ref_id, $article_filters,
|
||||||
$owner_uid);
|
$owner_uid);
|
||||||
|
|
||||||
if ($debug_enabled) {
|
if ($debug_enabled) {
|
||||||
|
@ -1346,4 +1346,102 @@
|
||||||
|
|
||||||
return $params;
|
return $params;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function get_article_filters($filters, $title, $content, $link, $timestamp, $author, $tags) {
|
||||||
|
$matches = array();
|
||||||
|
|
||||||
|
foreach ($filters as $filter) {
|
||||||
|
$match_any_rule = $filter["match_any_rule"];
|
||||||
|
$filter_match = false;
|
||||||
|
|
||||||
|
foreach ($filter["rules"] as $rule) {
|
||||||
|
$match = false;
|
||||||
|
$reg_exp = $rule["reg_exp"];
|
||||||
|
|
||||||
|
if (!$reg_exp)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
switch ($rule["type"]) {
|
||||||
|
case "title":
|
||||||
|
$match = @preg_match("/$reg_exp/i", $title);
|
||||||
|
break;
|
||||||
|
case "content":
|
||||||
|
$match = @preg_match("/$reg_exp/i", $content);
|
||||||
|
break;
|
||||||
|
case "both":
|
||||||
|
$match = (@preg_match("/$reg_exp/i", $title) || @preg_match("/$reg_exp/i", $title));
|
||||||
|
break;
|
||||||
|
case "link":
|
||||||
|
$match = @preg_match("/$reg_exp/i", $link);
|
||||||
|
break;
|
||||||
|
case "author":
|
||||||
|
$match = @preg_match("/$reg_exp/i", $author);
|
||||||
|
break;
|
||||||
|
case "tag":
|
||||||
|
$tag_string = join(",", $tags);
|
||||||
|
$match = @preg_match("/$reg_exp/i", $tag_string);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($match_any_rule) {
|
||||||
|
if ($match) {
|
||||||
|
$filter_match = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$filter_match = $match;
|
||||||
|
if (!$match) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($filter_match) {
|
||||||
|
foreach ($filter["actions"] AS $action) {
|
||||||
|
array_push($matches, $action);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $matches;
|
||||||
|
}
|
||||||
|
|
||||||
|
function find_article_filter($filters, $filter_name) {
|
||||||
|
foreach ($filters as $f) {
|
||||||
|
if ($f["type"] == $filter_name) {
|
||||||
|
return $f;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
function find_article_filters($filters, $filter_name) {
|
||||||
|
$results = array();
|
||||||
|
|
||||||
|
foreach ($filters as $f) {
|
||||||
|
if ($f["type"] == $filter_name) {
|
||||||
|
array_push($results, $f);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return $results;
|
||||||
|
}
|
||||||
|
|
||||||
|
function calculate_article_score($filters) {
|
||||||
|
$score = 0;
|
||||||
|
|
||||||
|
foreach ($filters as $f) {
|
||||||
|
if ($f["type"] == "score") {
|
||||||
|
$score += $f["param"];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return $score;
|
||||||
|
}
|
||||||
|
|
||||||
|
function assign_article_to_label_filters($link, $id, $filters, $owner_uid) {
|
||||||
|
foreach ($filters as $f) {
|
||||||
|
if ($f["type"] == "label") {
|
||||||
|
label_add_article($link, $id, $f["param"], $owner_uid);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
?>
|
?>
|
||||||
|
|
Loading…
Reference in a new issue