X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=include%2Foembed.php;h=898d900f43bf86759188d917b807918f37718182;hb=fd3cf1cd02b57e9796e5537dbee468d1c8048a48;hp=b1770f68903408034053997dff8a0495081d89aa;hpb=fe5705e5473c358359e6c78d596d4ad3d866cc26;p=friendica.git diff --git a/include/oembed.php b/include/oembed.php index b1770f6890..898d900f43 100755 --- a/include/oembed.php +++ b/include/oembed.php @@ -75,10 +75,13 @@ function oembed_fetch_url($embedurl, $no_rich_type = false){ else { //save in cache $j = json_decode($txt); if ($j->type != "error") - q("INSERT INTO `oembed` (`url`, `content`, `created`) VALUES ('%s', '%s', '%s')", - dbesc(normalise_link($embedurl)), dbesc($txt), dbesc(datetime_convert())); + q("INSERT INTO `oembed` (`url`, `content`, `created`) VALUES ('%s', '%s', '%s') + ON DUPLICATE KEY UPDATE `content` = '%s', `created` = '%s'", + dbesc(normalise_link($embedurl)), + dbesc($txt), dbesc(datetime_convert()), + dbesc($txt), dbesc(datetime_convert())); - Cache::set($a->videowidth . $embedurl,$txt, CACHE_DAY); + Cache::set($a->videowidth.$embedurl,$txt, CACHE_DAY); } } @@ -206,25 +209,34 @@ function oembed_format_object($j){ return mb_convert_encoding($ret, 'HTML-ENTITIES', mb_detect_encoding($ret)); } -function oembed_iframe($src,$width,$height) { - - if(! $width || strstr($width,'%')) - $width = '640'; - if(! $height || strstr($height,'%')) { - $height = '300'; - $resize = 'onload="resizeIframe(this);"'; - } else - $resize = ''; - - // try and leave some room for the description line. - $height = intval($height) + 80; - $width = intval($width) + 40; +/** + * @brief Generates the iframe HTML for an oembed attachment. + * + * Width and height are given by the remote, and are regularly too small for + * the generated iframe. + * + * The width is entirely discarded for the actual width of the post, while fixed + * height is used as a starting point before the inevitable resizing. + * + * Since the iframe is automatically resized on load, there are no need for ugly + * and impractical scrollbars. + * + * @param string $src Original remote URL to embed + * @param string $width + * @param string $height + * @return string formatted HTML + * + * @see oembed_format_object() + */ +function oembed_iframe($src, $width, $height) { + if (!$height || strstr($height,'%')) { + $height = '200'; + } + $width = '100%'; $a = get_app(); - - $s = $a->get_baseurl()."/oembed/".base64url_encode($src); - return ''; - + $s = $a->get_baseurl() . '/oembed/'.base64url_encode($src); + return ''; }