summaryrefslogtreecommitdiff
path: root/include/rssfuncs.php
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2011-12-13 16:23:31 +0400
committerAndrew Dolgov <[email protected]>2011-12-13 16:27:46 +0400
commit791780621ba963a3d09ee5299e85e72905c3ff99 (patch)
tree523292a5acc32177b0e03a5d279a7e3dfb7eeb59 /include/rssfuncs.php
parent183ff16c7cc7ed51c10158d8f987a82bedf15bf6 (diff)
split several functions to related classes
Diffstat (limited to 'include/rssfuncs.php')
-rw-r--r--include/rssfuncs.php42
1 files changed, 42 insertions, 0 deletions
diff --git a/include/rssfuncs.php b/include/rssfuncs.php
index 8846d985f..3dbcb34b2 100644
--- a/include/rssfuncs.php
+++ b/include/rssfuncs.php
@@ -1,4 +1,46 @@
<?php
+ function update_feedbrowser_cache($link) {
+
+ $result = db_query($link, "SELECT feed_url, site_url, title, COUNT(id) AS subscribers
+ FROM ttrss_feeds WHERE (SELECT COUNT(id) = 0 FROM ttrss_feeds AS tf
+ WHERE tf.feed_url = ttrss_feeds.feed_url
+ AND (private IS true OR auth_login != '' OR auth_pass != '' OR feed_url LIKE '%:%@%/%'))
+ GROUP BY feed_url, site_url, title ORDER BY subscribers DESC LIMIT 1000");
+
+ db_query($link, "BEGIN");
+
+ db_query($link, "DELETE FROM ttrss_feedbrowser_cache");
+
+ $count = 0;
+
+ while ($line = db_fetch_assoc($result)) {
+ $subscribers = db_escape_string($line["subscribers"]);
+ $feed_url = db_escape_string($line["feed_url"]);
+ $title = db_escape_string($line["title"]);
+ $site_url = db_escape_string($line["site_url"]);
+
+ $tmp_result = db_query($link, "SELECT subscribers FROM
+ ttrss_feedbrowser_cache WHERE feed_url = '$feed_url'");
+
+ if (db_num_rows($tmp_result) == 0) {
+
+ db_query($link, "INSERT INTO ttrss_feedbrowser_cache
+ (feed_url, site_url, title, subscribers) VALUES ('$feed_url',
+ '$site_url', '$title', '$subscribers')");
+
+ ++$count;
+
+ }
+
+ }
+
+ db_query($link, "COMMIT");
+
+ return $count;
+
+ }
+
+
/**
* Update a feed batch.
* Used by daemons to update n feeds by run.