aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFabio Comuni <fabrix.xm@gmail.com>2011-10-24 13:02:38 +0200
committerFabio Comuni <fabrix.xm@gmail.com>2011-10-24 13:02:38 +0200
commit306036c62613fd849a80c83c50cd220f75e64c90 (patch)
tree71140cb3ff83f3f9183284defbda67c2da49f94e
parentd80c0da3c0bf2ab599f5d013d5c947823d917363 (diff)
downloadvolse-hubzilla-306036c62613fd849a80c83c50cd220f75e64c90.tar.gz
volse-hubzilla-306036c62613fd849a80c83c50cd220f75e64c90.tar.bz2
volse-hubzilla-306036c62613fd849a80c83c50cd220f75e64c90.zip
cache api
-rw-r--r--boot.php1
-rw-r--r--include/cache.php29
-rw-r--r--include/oembed.php16
-rw-r--r--include/poller.php3
4 files changed, 37 insertions, 12 deletions
diff --git a/boot.php b/boot.php
index 017e21814..9623b4b14 100644
--- a/boot.php
+++ b/boot.php
@@ -6,6 +6,7 @@ require_once('include/plugin.php');
require_once('include/text.php');
require_once("include/pgettext.php");
require_once('include/nav.php');
+require_once('include/cache.php');
define ( 'FRIENDIKA_PLATFORM', 'Free Friendika');
define ( 'FRIENDIKA_VERSION', '2.3.1140' );
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;