af_redditimgur: check gfycat content type before embedding, add generic

catchall embedding for og:video metadata
This commit is contained in:
Andrew Dolgov 2018-09-10 16:09:38 +03:00
parent f43ce66e65
commit 4bb651a656
1 changed files with 24 additions and 3 deletions

View File

@ -135,9 +135,13 @@ class Af_RedditImgur extends Plugin {
$source_stream = 'https://giant.gfycat.com/' . $matches[2] . '.mp4';
$poster_url = 'https://thumbs.gfycat.com/' . $matches[2] . '-mobile.jpg';
$content_type = $this->get_content_type($source_stream);
if (strpos($content_type, "video/") !== FALSE) {
$this->handle_as_video($doc, $entry, $source_stream, $poster_url);
$found = 1;
}
}
if (!$found && preg_match("/https?:\/\/v\.redd\.it\/(.*)$/i", $entry->getAttribute("href"), $matches)) {
@ -303,8 +307,25 @@ class Af_RedditImgur extends Plugin {
$cxpath = new DOMXPath($cdoc);
$og_image = $cxpath->query("//meta[@property='og:image']")->item(0);
$og_video = $cxpath->query("//meta[@property='og:video']")->item(0);
if ($og_video) {
$source_stream = $og_video->getAttribute("content");
if ($source_stream) {
if ($og_image) {
$poster_url = $og_image->getAttribute("content");
} else {
$poster_url = false;
}
$this->handle_as_video($doc, $entry, $source_stream, $poster_url);
$found = true;
}
} else if ($og_image) {
$og_src = $og_image->getAttribute("content");