From a6fde6c99f7295f0a3fc3e97333158b10e714af5 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Tue, 26 Jul 2016 16:29:17 +0300 Subject: [PATCH] af_redditimgur: support video elements in imgur albums --- plugins/af_redditimgur/init.php | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/plugins/af_redditimgur/init.php b/plugins/af_redditimgur/init.php index 1068ec54..af58197c 100755 --- a/plugins/af_redditimgur/init.php +++ b/plugins/af_redditimgur/init.php @@ -239,7 +239,7 @@ class Af_RedditImgur extends Plugin { //if ($debug) print_r($album_content); - $aentries = $axpath->query("(//div[@class='post-image']/img[@src] | //a[@class='zoom']/img[@src])"); + $aentries = $axpath->query("(//div[@class='post-image']/img[@src] | //a[@class='zoom']/img[@src] | //div[@class='video-elements']/source)"); $urls = []; foreach ($aentries as $aentry) { @@ -247,14 +247,27 @@ class Af_RedditImgur extends Plugin { $url = $aentry->getAttribute("src"); if (!in_array($url, $urls)) { - $img = $doc->createElement('img'); - $img->setAttribute("src", $url); - $entry->parentNode->insertBefore($doc->createElement('br'), $entry); - $br = $doc->createElement('br'); + if ($aentry->tagName == "img") { - $entry->parentNode->insertBefore($img, $entry); - $entry->parentNode->insertBefore($br, $entry); + $img = $doc->createElement('img'); + $img->setAttribute("src", $url); + $entry->parentNode->insertBefore($doc->createElement('br'), $entry); + + $br = $doc->createElement('br'); + + $entry->parentNode->insertBefore($img, $entry); + $entry->parentNode->insertBefore($br, $entry); + } else if ($aentry->tagName == "source") { + + if (strpos($url, "i.imgur.com") !== FALSE) + $poster_url = str_replace(".mp4", "h.jpg", $url); + else + $poster_url = ""; + + $this->handle_as_video($doc, $entry, $url, $poster_url); + + } array_push($urls, $url); -- 2.39.5