Add maxwidth column to oembed table
- Match Caching key for OEmbed queries
This commit is contained in:
parent
47e0900220
commit
da9523ed23
2
boot.php
2
boot.php
|
@ -43,7 +43,7 @@ define('FRIENDICA_PLATFORM', 'Friendica');
|
||||||
define('FRIENDICA_CODENAME', 'Asparagus');
|
define('FRIENDICA_CODENAME', 'Asparagus');
|
||||||
define('FRIENDICA_VERSION', '3.6-dev');
|
define('FRIENDICA_VERSION', '3.6-dev');
|
||||||
define('DFRN_PROTOCOL_VERSION', '2.23');
|
define('DFRN_PROTOCOL_VERSION', '2.23');
|
||||||
define('DB_UPDATE_VERSION', 1239);
|
define('DB_UPDATE_VERSION', 1240);
|
||||||
define('NEW_UPDATE_ROUTINE_VERSION', 1170);
|
define('NEW_UPDATE_ROUTINE_VERSION', 1170);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -47,8 +47,8 @@ class OEmbed
|
||||||
* @param string $embedurl The URL from which the data should be fetched.
|
* @param string $embedurl The URL from which the data should be fetched.
|
||||||
* @param bool $no_rich_type If set to true rich type content won't be fetched.
|
* @param bool $no_rich_type If set to true rich type content won't be fetched.
|
||||||
*
|
*
|
||||||
* @return bool|object Returns object with embed content or false if no embedable
|
* @return bool|object Returns object with embed content or false if no embeddable
|
||||||
* content exists
|
* content exists
|
||||||
*/
|
*/
|
||||||
public static function fetchURL($embedurl, $no_rich_type = false)
|
public static function fetchURL($embedurl, $no_rich_type = false)
|
||||||
{
|
{
|
||||||
|
@ -57,7 +57,7 @@ class OEmbed
|
||||||
|
|
||||||
$a = get_app();
|
$a = get_app();
|
||||||
|
|
||||||
$condition = ['url' => normalise_link($embedurl)];
|
$condition = ['url' => normalise_link($embedurl), 'maxwidth' => $a->videowidth];
|
||||||
$r = dba::selectFirst('oembed', ['content'], $condition);
|
$r = dba::selectFirst('oembed', ['content'], $condition);
|
||||||
if (DBM::is_result($r)) {
|
if (DBM::is_result($r)) {
|
||||||
$txt = $r["content"];
|
$txt = $r["content"];
|
||||||
|
@ -105,8 +105,12 @@ class OEmbed
|
||||||
} else { //save in cache
|
} else { //save in cache
|
||||||
$j = json_decode($txt);
|
$j = json_decode($txt);
|
||||||
if ($j->type != "error") {
|
if ($j->type != "error") {
|
||||||
dba::insert('oembed', array('url' => normalise_link($embedurl),
|
dba::insert('oembed', [
|
||||||
'content' => $txt, 'created' => datetime_convert()), true);
|
'url' => normalise_link($embedurl),
|
||||||
|
'maxwidth' => $a->videowidth,
|
||||||
|
'content' => $txt,
|
||||||
|
'created' => datetime_convert()
|
||||||
|
], true);
|
||||||
}
|
}
|
||||||
|
|
||||||
Cache::set($a->videowidth . $embedurl, $txt, CACHE_DAY);
|
Cache::set($a->videowidth . $embedurl, $txt, CACHE_DAY);
|
||||||
|
@ -306,7 +310,7 @@ class OEmbed
|
||||||
if (!x($str_allowed)) {
|
if (!x($str_allowed)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
$allowed = explode(',', $str_allowed);
|
$allowed = explode(',', $str_allowed);
|
||||||
|
|
||||||
return allowed_domain($domain, $allowed);
|
return allowed_domain($domain, $allowed);
|
||||||
|
|
|
@ -1277,11 +1277,12 @@ class DBStructure {
|
||||||
$database["oembed"] = array(
|
$database["oembed"] = array(
|
||||||
"fields" => array(
|
"fields" => array(
|
||||||
"url" => array("type" => "varbinary(255)", "not null" => "1", "primary" => "1"),
|
"url" => array("type" => "varbinary(255)", "not null" => "1", "primary" => "1"),
|
||||||
|
"maxwidth" => array("type" => "int(11)", "not null" => "1", "primary" => "1"),
|
||||||
"content" => array("type" => "mediumtext"),
|
"content" => array("type" => "mediumtext"),
|
||||||
"created" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE),
|
"created" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE),
|
||||||
),
|
),
|
||||||
"indexes" => array(
|
"indexes" => array(
|
||||||
"PRIMARY" => array("url"),
|
"PRIMARY" => array("url", "maxwidth"),
|
||||||
"created" => array("created"),
|
"created" => array("created"),
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
Loading…
Reference in a new issue