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' );
--- /dev/null
+<?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")));
+ }
+
+ }
+
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
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);
}
}
-?>
+
+
}
// 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;