diff options
author | Andrew Dolgov <[email protected]> | 2011-12-13 16:23:31 +0400 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2011-12-13 16:27:46 +0400 |
commit | 791780621ba963a3d09ee5299e85e72905c3ff99 (patch) | |
tree | 523292a5acc32177b0e03a5d279a7e3dfb7eeb59 /include/rssfuncs.php | |
parent | 183ff16c7cc7ed51c10158d8f987a82bedf15bf6 (diff) |
split several functions to related classes
Diffstat (limited to 'include/rssfuncs.php')
-rw-r--r-- | include/rssfuncs.php | 42 |
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. |