af_redditimgur: support albums
This commit is contained in:
parent
ce7d5e8765
commit
35055d050b
|
@ -45,7 +45,7 @@ class Af_RedditImgur extends Plugin {
|
|||
|
||||
// links to imgur pages
|
||||
$matches = array();
|
||||
if (preg_match("/^http:\/\/imgur.com\/([^\.]+$)/", $entry->getAttribute("href"), $matches)) {
|
||||
if (preg_match("/^http:\/\/imgur.com\/([^\.\/]+$)/", $entry->getAttribute("href"), $matches)) {
|
||||
|
||||
$token = $matches[1];
|
||||
|
||||
|
@ -66,11 +66,37 @@ class Af_RedditImgur extends Plugin {
|
|||
$img->setAttribute("src", $aentry->getAttribute("src"));
|
||||
$entry->parentNode->insertBefore($img, $entry);
|
||||
$found = true;
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// linked albums, ffs
|
||||
if (preg_match("/^http:\/\/imgur.com\/a\/[^\.]+$/", $entry->getAttribute("href"), $matches)) {
|
||||
|
||||
$album_content = fetch_file_contents($entry->getAttribute("href"),
|
||||
false, false, false, false, 10);
|
||||
|
||||
if ($album_content) {
|
||||
$adoc = new DOMDocument();
|
||||
@$adoc->loadHTML($album_content);
|
||||
|
||||
if ($adoc) {
|
||||
$axpath = new DOMXPath($adoc);
|
||||
$aentries = $axpath->query("//div[@class='image']//a[@href and @class='zoom']");
|
||||
|
||||
foreach ($aentries as $aentry) {
|
||||
$img = $doc->createElement('img');
|
||||
$img->setAttribute("src", $aentry->getAttribute("href"));
|
||||
$entry->parentNode->insertBefore($img, $entry);
|
||||
$found = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// remove tiny thumbnails
|
||||
|
|
Loading…
Reference in New Issue