From dad075f0c8635c606705dca091ba29915565cf42 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Mon, 24 Dec 2012 16:14:08 +0400 Subject: [PATCH] redditimgur: check for all img links --- plugins/redditimgur/redditimgur.php | 43 ++++++++++++++--------------- 1 file changed, 20 insertions(+), 23 deletions(-) diff --git a/plugins/redditimgur/redditimgur.php b/plugins/redditimgur/redditimgur.php index 59bb4d15d..177647538 100644 --- a/plugins/redditimgur/redditimgur.php +++ b/plugins/redditimgur/redditimgur.php @@ -20,39 +20,36 @@ class RedditImgur extends Plugin { function hook_article_filter($article) { if (strpos($article["link"], "reddit.com/r/") !== FALSE) { - if (strpos($article["content"], "i.imgur.com") !== FALSE) { + $doc = new DOMDocument(); + @$doc->loadHTML($article["content"]); - $doc = new DOMDocument(); - @$doc->loadHTML($article["content"]); + if ($doc) { + $xpath = new DOMXPath($doc); + $entries = $xpath->query('(//a[@href]|//img[@src])'); - if ($doc) { - $xpath = new DOMXPath($doc); - $entries = $xpath->query('(//a[@href]|//img[@src])'); + foreach ($entries as $entry) { + if ($entry->hasAttribute("href")) { + if (preg_match("/\.(jpg|jpeg|gif|png)$/i", $entry->getAttribute("href"))) { - foreach ($entries as $entry) { - if ($entry->hasAttribute("href")) { - if (preg_match("/\.(jpg|jpeg|gif|png)$/i", $entry->getAttribute("href"))) { + $img = $doc->createElement('img'); + $img->setAttribute("src", $entry->getAttribute("href")); - $img = $doc->createElement('img'); - $img->setAttribute("src", $entry->getAttribute("href")); - - $entry->parentNode->replaceChild($img, $entry); - } + $entry->parentNode->replaceChild($img, $entry); } + } - // remove tiny thumbnails - if ($entry->hasAttribute("src")) { - if ($entry->parentNode && $entry->parentNode->parentNode) { - $entry->parentNode->parentNode->removeChild($entry->parentNode); - } + // remove tiny thumbnails + if ($entry->hasAttribute("src")) { + if ($entry->parentNode && $entry->parentNode->parentNode) { + $entry->parentNode->parentNode->removeChild($entry->parentNode); } } + } - $node = $doc->getElementsByTagName('body')->item(0); + $node = $doc->getElementsByTagName('body')->item(0); - if ($node) { - $article["content"] = $doc->saveXML($node, LIBXML_NOEMPTYTAG); - } + if ($node) { + $article["content"] = $doc->saveXML($node, LIBXML_NOEMPTYTAG); } } }