summaryrefslogtreecommitdiff
path: root/functions.php
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2010-01-17 20:08:23 +0300
committerAndrew Dolgov <[email protected]>2010-01-17 20:08:23 +0300
commitbe35798b84993383f7bc8e1489bc9d78e223af18 (patch)
tree1d3b6508f977ea50d6e61a6dfc3c255a656e97af /functions.php
parent1222c3ecba5eb7733bdc9c2aaf993bdbcd1a1e68 (diff)
add get_article_enclosures(); initial support for memcached
Diffstat (limited to 'functions.php')
-rw-r--r--functions.php46
1 files changed, 42 insertions, 4 deletions
diff --git a/functions.php b/functions.php
index 161335c96..2c84213f1 100644
--- a/functions.php
+++ b/functions.php
@@ -94,6 +94,11 @@
}
} // If translations are enabled.
+ if (defined('MEMCACHE_SERVER')) {
+ $memcache = new Memcache;
+ $memcache->connect(MEMCACHE_SERVER, 11211);
+ }
+
require_once 'db-prefs.php';
require_once 'compat.php';
require_once 'errors.php';
@@ -4811,15 +4816,20 @@
print $article_content;
- $result = db_query($link, "SELECT * FROM ttrss_enclosures WHERE
- post_id = '$id' AND content_url != ''");
+// $result = db_query($link, "SELECT * FROM ttrss_enclosures WHERE
+// post_id = '$id' AND content_url != ''");
- if (db_num_rows($result) > 0) {
+ $result = get_article_enclosures($link, $id);
+
+// if (db_num_rows($result) > 0) {
+
+ if (count($result) > 0) {
$entries_html = array();
$entries = array();
- while ($line = db_fetch_assoc($result)) {
+ //while ($line = db_fetch_assoc($result)) {
+ foreach ($result as $line) {
$url = $line["content_url"];
$ctype = $line["content_type"];
@@ -6483,4 +6493,32 @@
}
+ function get_article_enclosures($link, $id) {
+
+ global $memcache;
+
+ $query = "SELECT * FROM ttrss_enclosures
+ WHERE post_id = '$id' AND content_url != ''";
+
+ $cache_id = md5($query);
+
+ $rv = array();
+
+ if ($memcache && $obj = $memcache->get($cache_id)) {
+ print_r($obj);
+ $rv = $obj;
+ } else {
+ $result = db_query($link, $query);
+
+ if (db_num_rows($result) > 0) {
+ while ($line = db_fetch_assoc($result)) {
+ array_push($rv, $line);
+ }
+ if ($memcache) $memcache->add($cache_id, $rv, 0, 3600);
+ }
+ }
+
+ return $rv;
+ }
+
?>