From 1d2da64572ed592dfd78bebd95cb67f7be8512d2 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Wed, 6 Feb 2019 16:24:31 +0300 Subject: [PATCH] af_redditimgur: apparently imgur has link rel='image_src' now, let's use it --- plugins/af_redditimgur/init.php | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/plugins/af_redditimgur/init.php b/plugins/af_redditimgur/init.php index 36f31a031..17ba432fd 100755 --- a/plugins/af_redditimgur/init.php +++ b/plugins/af_redditimgur/init.php @@ -278,6 +278,37 @@ class Af_RedditImgur extends Plugin { $found = true; } + // imgur via link rel="image_src" href="..." + if (!$found && preg_match("/imgur/", $entry->getAttribute("href"))) { + + Debug::log("handling as imgur page/whatever", Debug::$LOG_VERBOSE); + + $content = fetch_file_contents(["url" => $entry->getAttribute("href"), + "http_accept" => "text/*"]); + + if ($content) { + $cdoc = new DOMDocument(); + + if (@$cdoc->loadHTML($content)) { + $cxpath = new DOMXPath($cdoc); + + $rel_image = $cxpath->query("//link[@rel='image_src']")->item(0); + + if ($rel_image) { + + $img = $doc->createElement('img'); + $img->setAttribute("src", $rel_image->getAttribute("href")); + + $br = $doc->createElement('br'); + $entry->parentNode->insertBefore($img, $entry); + $entry->parentNode->insertBefore($br, $entry); + + $found = true; + } + } + } + } + // wtf is this even if (!$found && preg_match("/^https?:\/\/gyazo\.com\/([^\.\/]+$)/", $entry->getAttribute("href"), $matches)) { $img_id = $matches[1];