From d4ac4fc6fdf639ebb00957dfea5935413bce541d Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Sat, 11 Jul 2015 00:54:15 +0300 Subject: af_redditimgur: fix imgur single-image pages --- plugins/af_redditimgur/init.php | 40 +++------------------------------------- 1 file changed, 3 insertions(+), 37 deletions(-) (limited to 'plugins/af_redditimgur/init.php') diff --git a/plugins/af_redditimgur/init.php b/plugins/af_redditimgur/init.php index 6f2c7ff98..c4ec265d3 100644 --- a/plugins/af_redditimgur/init.php +++ b/plugins/af_redditimgur/init.php @@ -159,44 +159,10 @@ class Af_RedditImgur extends Plugin { $found = true; } - // links to imgur pages - $matches = array(); - if (preg_match("/^https?:\/\/(m\.)?imgur.com\/([^\.\/]+$)/", $entry->getAttribute("href"), $matches)) { - - $token = $matches[2]; - - $album_content = fetch_file_contents($entry->getAttribute("href"), - false, false, false, false, 10); - - if ($album_content && $token) { - $adoc = new DOMDocument(); - @$adoc->loadHTML($album_content); - - if ($adoc) { - $axpath = new DOMXPath($adoc); - $aentries = $axpath->query('(//img[@src])'); - - foreach ($aentries as $aentry) { - if (preg_match("/\/\/i.imgur.com\/$token\./", $aentry->getAttribute("src"))) { - $img = $doc->createElement('img'); - $img->setAttribute("src", $aentry->getAttribute("src")); - - $br = $doc->createElement('br'); - - $entry->parentNode->insertBefore($img, $entry); - $entry->parentNode->insertBefore($br, $entry); - - $found = true; - - break; - } - } - } - } - } + // linked albums & pages - // linked albums, ffs - if (preg_match("/^https?:\/\/imgur.com\/(a|album|gallery)\/[^\.]+$/", $entry->getAttribute("href"), $matches)) { + if (preg_match("/^https?:\/\/(m\.)?imgur.com\/([^\.\/]+$)/", $entry->getAttribute("href"), $matches) || + preg_match("/^https?:\/\/imgur.com\/(a|album|gallery)\/[^\.]+$/", $entry->getAttribute("href"), $matches)) { $album_content = fetch_file_contents($entry->getAttribute("href"), false, false, false, false, 10); -- cgit v1.2.3-54-g00ecf From 5f297a5c111e3abecd143b6412a753ea870e4f20 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Sat, 11 Jul 2015 02:08:53 +0300 Subject: af_redditimgur: some additional .gif -> mp4 rewriting --- plugins/af_redditimgur/init.php | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'plugins/af_redditimgur/init.php') diff --git a/plugins/af_redditimgur/init.php b/plugins/af_redditimgur/init.php index c4ec265d3..fd7502203 100644 --- a/plugins/af_redditimgur/init.php +++ b/plugins/af_redditimgur/init.php @@ -80,6 +80,10 @@ class Af_RedditImgur extends Plugin { $matches = array(); + if (preg_match("/\.gfycat.com\/([a-z]+)?(\.[a-z]+)$/i", $entry->getAttribute("href"), $matches)) { + $entry->setAttribute("href", "http://www.gfycat.com/".$matches[1]); + } + if (preg_match("/https?:\/\/(www\.)?gfycat.com\/([a-z]+)$/i", $entry->getAttribute("href"), $matches)) { $tmp = fetch_file_contents($entry->getAttribute("href")); @@ -112,6 +116,12 @@ class Af_RedditImgur extends Plugin { } + // imgur .gif -> .gifv + if (preg_match("/i\.imgur\.com\/(.*?)\.gif$/i", $entry->getAttribute("href"))) { + $entry->setAttribute("href", + str_replace(".gif", ".gifv", $entry->getAttribute("href"))); + } + if (preg_match("/\.(gifv)$/i", $entry->getAttribute("href"))) { $source_stream = str_replace(".gifv", ".mp4", $entry->getAttribute("href")); -- cgit v1.2.3-54-g00ecf From dae36971ae218f27af4b34946cf9fb9fcb490c8d Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Sat, 11 Jul 2015 13:32:28 +0300 Subject: add a quick hack for imgur single page links --- plugins/af_redditimgur/init.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'plugins/af_redditimgur/init.php') diff --git a/plugins/af_redditimgur/init.php b/plugins/af_redditimgur/init.php index fd7502203..2b71a8e9d 100644 --- a/plugins/af_redditimgur/init.php +++ b/plugins/af_redditimgur/init.php @@ -190,7 +190,7 @@ class Af_RedditImgur extends Plugin { if (!in_array($aentry->getAttribute("content"), $urls)) { $img = $doc->createElement('img'); - $img->setAttribute("src", $aentry->getAttribute("content")); + $img->setAttribute("src", str_replace("?fb", "", $aentry->getAttribute("content"))); $entry->parentNode->insertBefore($doc->createElement('br'), $entry); $br = $doc->createElement('br'); -- cgit v1.2.3-54-g00ecf