summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2008-05-04 05:46:14 +0100
committerAndrew Dolgov <[email protected]>2008-05-04 05:46:14 +0100
commit95a948a57428f642b15170a36f93b7875e2fa5af (patch)
tree74133cf6829ef4989832fcb4fc78e6c5e4bc1f78 /modules
parentf2f1d9d70d083025074f5ab5ccb70912966268b7 (diff)
filter editor: add button to rescore all feeds
Diffstat (limited to 'modules')
-rw-r--r--modules/pref-feeds.php47
-rw-r--r--modules/pref-filters.php7
2 files changed, 54 insertions, 0 deletions
diff --git a/modules/pref-feeds.php b/modules/pref-feeds.php
index 5992d6344..e6689e824 100644
--- a/modules/pref-feeds.php
+++ b/modules/pref-feeds.php
@@ -516,6 +516,53 @@
}
+ if ($subop == "rescoreAll") {
+
+ $result = db_query($link,
+ "SELECT id FROM ttrss_feeds WHERE owner_uid = " . $_SESSION['uid']);
+
+ while ($feed_line = db_fetch_assoc($result)) {
+
+ $id = $feed_line["id"];
+
+ $filters = load_filters($link, $id, $_SESSION["uid"], 6);
+
+ $tmp_result = db_query($link, "SELECT title, content, link, ref_id FROM
+ ttrss_user_entries, ttrss_entries
+ WHERE ref_id = id AND feed_id = '$id' AND
+ owner_uid = " .$_SESSION['uid']."
+ ");
+
+ $scores = array();
+
+ while ($line = db_fetch_assoc($tmp_result)) {
+
+ $article_filters = get_article_filters($filters, $line['title'],
+ $line['content'], $line['link']);
+
+ $new_score = calculate_article_score($article_filters);
+
+ if (!$scores[$new_score]) $scores[$new_score] = array();
+
+ array_push($scores[$new_score], $line['ref_id']);
+ }
+
+ foreach (array_keys($scores) as $s) {
+ if ($s > 1000) {
+ db_query($link, "UPDATE ttrss_user_entries SET score = '$s',
+ marked = true WHERE
+ ref_id IN (" . join(',', $scores[$s]) . ")");
+ } else {
+ db_query($link, "UPDATE ttrss_user_entries SET score = '$s' WHERE
+ ref_id IN (" . join(',', $scores[$s]) . ")");
+ }
+ }
+ }
+
+ print __("All done.");
+
+ }
+
if ($subop == "add") {
if (!WEB_DEMO_MODE) {
diff --git a/modules/pref-filters.php b/modules/pref-filters.php
index ce4997673..031e2a24b 100644
--- a/modules/pref-filters.php
+++ b/modules/pref-filters.php
@@ -228,6 +228,13 @@
id=\"create_filter_btn\"
value=\"".__('Create filter')."\">";
+ print "&nbsp;";
+
+ print "<input type=\"submit\"
+ class=\"button\"
+ onclick=\"rescore_all_feeds()\"
+ value=\"".__('Rescore articles')."\">";
+
$result = db_query($link, "SELECT
ttrss_filters.id AS id,reg_exp,
ttrss_filter_types.name AS filter_type_name,