use Friendica\Util\DateTimeFormat;
use Friendica\Util\Network;
use Friendica\Util\ParseUrl;
+use Friendica\Util\Proxy as ProxyUtils;
require_once 'include/dba.php';
-require_once 'mod/proxy.php';
/**
* Handles all OEmbed content fetching and replacement
*
* @see https://oembed.com
*
- * @author Hypolite Petovan <mrpetovan@gmail.com>
+ * @author Hypolite Petovan <hypolite@mrpetovan.com>
*/
class OEmbed
{
}
$oembed->parseJSON($json_string);
+
if (!empty($oembed->type) && $oembed->type != 'error') {
DBA::insert('oembed', [
'url' => normalise_link($embedurl),
'content' => $json_string,
'created' => DateTimeFormat::utcNow()
], true);
+ $cache_ttl = CACHE_DAY;
+ } else {
+ $cache_ttl = CACHE_FIVE_MINUTES;
}
- Cache::set($cache_key, $json_string, CACHE_DAY);
+ Cache::set($cache_key, $json_string, $cache_ttl);
}
if ($oembed->type == 'error') {
$oembed->description = $data['text'];
}
- if (is_array($data['images'])) {
+ if (!empty($data['images'])) {
$oembed->thumbnail_url = $data['images'][0]['src'];
$oembed->thumbnail_width = $data['images'][0]['width'];
$oembed->thumbnail_height = $data['images'][0]['height'];
$ret = $oembed->html;
}
break;
+
case "photo":
- $ret .= '<img width="' . $oembed->width . '" src="' . proxy_url($oembed->url) . '">';
+ $ret .= '<img width="' . $oembed->width . '" src="' . ProxyUtils::proxifyUrl($oembed->url) . '">';
break;
+
case "link":
break;
+
case "rich":
- $ret .= proxy_parse_html($oembed->html);
+ $ret .= ProxyUtils::proxifyHtml($oembed->html);
break;
}