diff options
author | Fabio Comuni <fabrix.xm@gmail.com> | 2011-10-24 13:02:38 +0200 |
---|---|---|
committer | Fabio Comuni <fabrix.xm@gmail.com> | 2011-10-24 13:02:38 +0200 |
commit | 306036c62613fd849a80c83c50cd220f75e64c90 (patch) | |
tree | 71140cb3ff83f3f9183284defbda67c2da49f94e /include | |
parent | d80c0da3c0bf2ab599f5d013d5c947823d917363 (diff) | |
download | volse-hubzilla-306036c62613fd849a80c83c50cd220f75e64c90.tar.gz volse-hubzilla-306036c62613fd849a80c83c50cd220f75e64c90.tar.bz2 volse-hubzilla-306036c62613fd849a80c83c50cd220f75e64c90.zip |
cache api
Diffstat (limited to 'include')
-rw-r--r-- | include/cache.php | 29 | ||||
-rw-r--r-- | include/oembed.php | 16 | ||||
-rw-r--r-- | include/poller.php | 3 |
3 files changed, 36 insertions, 12 deletions
diff --git a/include/cache.php b/include/cache.php new file mode 100644 index 000000000..082974c61 --- /dev/null +++ b/include/cache.php @@ -0,0 +1,29 @@ +<?php + /** + * cache api + */ + + class Cache { + public static function get($key){ + $r = q("SELECT `v` FROM `cache` WHERE `k`='%s'", + dbesc($key) + ); + + if (count($r)) return $r[0]['v']; + return null; + } + + public static function set($key,$value) { + q("INSERT INTO `cache` VALUES ('%s','%s','%s')", + dbesc($key), + dbesc($value), + dbesc(datetime_convert())); + } + + public static function clear(){ + q("DELETE FROM `cache` WHERE `updated` < '%s'", + dbesc(datetime_convert('UTC','UTC',"now - 30 days"))); + } + + } + diff --git a/include/oembed.php b/include/oembed.php index a8f6636ff..d40ceb3fd 100644 --- a/include/oembed.php +++ b/include/oembed.php @@ -8,12 +8,9 @@ function oembed_replacecb($matches){ function oembed_fetch_url($embedurl){ - $r = q("SELECT v FROM `cache` WHERE k='%s'", - dbesc($embedurl)); + $txt = Cache::get($embedurl); - if(count($r)){ - $txt = $r[0]['v']; - } else { + if(is_null($txt)){ $txt = ""; // try oembed autodiscovery @@ -44,10 +41,8 @@ function oembed_fetch_url($embedurl){ if ($txt[0]!="{") $txt='{"type":"error"}'; //save in cache - /*q("INSERT INTO `cache` VALUES ('%s','%s','%s')", - dbesc($embedurl), - dbesc($txt), - dbesc(datetime_convert()));*/ + Cache::set($embedurl,$txt); + } $j = json_decode($txt); @@ -154,4 +149,5 @@ function oembed_html2bbcode($text) { } } -?> + + diff --git a/include/poller.php b/include/poller.php index cef0647b5..a19f0716f 100644 --- a/include/poller.php +++ b/include/poller.php @@ -64,8 +64,7 @@ function poller_run($argv, $argc){ } // clear old cache - q("DELETE FROM `cache` WHERE `updated` < '%s'", - dbesc(datetime_convert('UTC','UTC',"now - 30 days"))); + Cache::clear(); $manual_id = 0; $generation = 0; |