summaryrefslogtreecommitdiff
path: root/plugins/af_redditimgur
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2018-09-10 16:09:38 +0300
committerAndrew Dolgov <[email protected]>2018-09-10 16:09:38 +0300
commit4bb651a656bdddc25454554a4dfec6a8d10697a8 (patch)
treeb2a729bb96087350303b0e65312b5f54bc1a0ea3 /plugins/af_redditimgur
parentf43ce66e65aed5cfed7182ed6ff04646c4ffd335 (diff)
af_redditimgur: check gfycat content type before embedding, add generic
catchall embedding for og:video metadata
Diffstat (limited to 'plugins/af_redditimgur')
-rwxr-xr-xplugins/af_redditimgur/init.php27
1 files changed, 24 insertions, 3 deletions
diff --git a/plugins/af_redditimgur/init.php b/plugins/af_redditimgur/init.php
index 270f1beb2..be3a5108e 100755
--- a/plugins/af_redditimgur/init.php
+++ b/plugins/af_redditimgur/init.php
@@ -135,8 +135,12 @@ class Af_RedditImgur extends Plugin {
$source_stream = 'https://giant.gfycat.com/' . $matches[2] . '.mp4';
$poster_url = 'https://thumbs.gfycat.com/' . $matches[2] . '-mobile.jpg';
- $this->handle_as_video($doc, $entry, $source_stream, $poster_url);
- $found = 1;
+ $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;
+ }
- if ($og_image) {
+ } else if ($og_image) {
$og_src = $og_image->getAttribute("content");