diff options
| author | Andrew Dolgov <fox@fakecake.org> | 2025-05-17 07:57:39 +0300 |
|---|---|---|
| committer | Andrew Dolgov <fox@fakecake.org> | 2025-05-17 07:57:39 +0300 |
| commit | a931b91099bc354b508aa67a6dd854f9c63507cc (patch) | |
| tree | f59da758f9d083af4fc3f2d44c4cbbff04f8ebc9 /plugins | |
| parent | 8aac6f2d3dc29cb7690feeda5ebfc67d55e34cf8 (diff) | |
af_comics - fix penny arcade to new markup
Diffstat (limited to 'plugins')
| -rw-r--r-- | plugins/af_comics/filters/af_comics_pa.php | 50 |
1 files changed, 5 insertions, 45 deletions
diff --git a/plugins/af_comics/filters/af_comics_pa.php b/plugins/af_comics/filters/af_comics_pa.php index 9d1ecc647..8122c0f65 100644 --- a/plugins/af_comics/filters/af_comics_pa.php +++ b/plugins/af_comics/filters/af_comics_pa.php @@ -6,57 +6,17 @@ class Af_Comics_Pa extends Af_ComicFilter { } function process(&$article) { - if (str_contains($article["link"], "penny-arcade.com") && str_contains($article["title"], "Comic:")) { + if (str_contains($article["link"], "penny-arcade.com/comic")) { $doc = new DOMDocument(); - if ($doc->loadHTML(UrlHelper::fetch(['url' => $article['link']]))) { - $xpath = new DOMXPath($doc); - $basenode = $xpath->query('(//div[@id="comicFrame"])')->item(0); - - if ($basenode) { - $article["content"] = $doc->saveHTML($basenode); - } - } - - return true; - } - - if (str_contains($article["link"], "penny-arcade.com") && str_contains($article["title"], "News Post:")) { - $doc = new DOMDocument(); - - $res = UrlHelper::fetch(['url' => $article['link']]); + $body = UrlHelper::fetch(['url' => $article['link']]); - if ($res && $doc->loadHTML($res)) { + if ($body && $doc->loadHTML($body)) { $xpath = new DOMXPath($doc); - $entries = $xpath->query('(//div[@class="post"])'); + $basenode = $xpath->query('(//div[@class="comic-area"])')->item(0); - $basenode = false; - - foreach ($entries as $entry) { - $basenode = $entry; - } - - $meta = $xpath->query('(//div[@class="meta"])')->item(0); - if ($meta->parentNode) { $meta->parentNode->removeChild($meta); } - - $header = $xpath->query('(//div[@class="postBody"]/h2)')->item(0); - if ($header->parentNode) { $header->parentNode->removeChild($header); } - - $header = $xpath->query('(//div[@class="postBody"]/div[@class="comicPost"])')->item(0); - if ($header->parentNode) { $header->parentNode->removeChild($header); } - - $avatar = $xpath->query('(//div[@class="avatar"]//img)')->item(0); - - if ($basenode) - $basenode->insertBefore($avatar, $basenode->firstChild); - - $uninteresting = $xpath->query('(//div[@class="avatar"])'); - foreach ($uninteresting as $i) { - $i->parentNode->removeChild($i); - } - - if ($basenode){ + if ($basenode) { $article["content"] = $doc->saveHTML($basenode); } } |