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,40 +20,37 @@ 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); - } - } - - // remove tiny thumbnails - if ($entry->hasAttribute("src")) { - if ($entry->parentNode && $entry->parentNode->parentNode) { - $entry->parentNode->parentNode->removeChild($entry->parentNode); - } + $entry->parentNode->replaceChild($img, $entry); } } - $node = $doc->getElementsByTagName('body')->item(0); - - if ($node) { - $article["content"] = $doc->saveXML($node, LIBXML_NOEMPTYTAG); + // 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); + + if ($node) { + $article["content"] = $doc->saveXML($node, LIBXML_NOEMPTYTAG); + } } }