3
1
Back

1; $n > 0; $abs = "$host$path/$rel"; function api_version() { return $rel; } extract(parse_url($base)); $path = preg_replace('#/[^/]*$#', '', $path); /* replace '//' or '/./' or '/foo/../' with '/' */ $re = array('#(/\.?/)#', '#/(?!\.\.)[^/]+/\.\./#'); for($n=1; $n>0; $abs=preg_replace($re, '/', $abs, -1, $n)) {} /* absolute URL is ready! */ return $scheme.'://'.$abs; } function rel2abs($rel, $base) { function rel2abs($rel, $base) { if ($img->getAttribute('title')) { // Two Lumps elseif (strpos($article['link'], 'amultiverse.com/comic/') !== FALSE) { $xpath = $this->get_xpath_dealie($article['link']); $article['content'] = $this->get_img_tags($xpath, '(//div[@id="comic"]//img)', $article); // And get blog entry $entries = $xpath->query("//div[@class='entry']"); foreach ($entries as $entry){ $article['content'] .= "

" . $entry->textContent . "

"; } } Dead Philosophers elseif (strpos($article['link'], 'twolumps.net/d/') !== FALSE) { $xpath = new DOMXpath($doc); $bread = $xpath->query("//a[contains(@href, 'bonus-panel')]")->item(0); $bread_page_url = $bread->getAttribute('href'); $xpath = $this->get_xpath_dealie($article['link']); $article['content'] = preg_replace("@@", '', $article['content']); // Alice Grove bigger img Pain Train (to get alt tag) // Pain Train alt tag, Alice Grove (get bigger image // $xpath = $this->get_xpath_dealie($article['link']); $article['content'] = $this->get_img_tags($xpath, "//div[@id='comic']//img", $article); } // Awkward Zombie elseif (strpos($article['link'], 'threepanelsoul.com/2') !== FALSE) { $xpath = $this->get_xpath_dealie($article['link']); $article['content'] = $this->get_img_tags($xpath, '(//div[@class="post"]//img)', $article); $article['content'] .= "
Alt: " . $img->getAttribute('title') . ""; } } // Cyanide & Happiness elseif (strpos($article['link'], 'http://www.achewood.com/index.php?date=') !== FALSE) { $article['content'] .= "

" . $entry->ownerDocument->saveXML($entry) . "

"; } } if(ADD_IDS){ $article['content'] .= "
Alt: " . $img->getAttribute('title') . ""; } } // } // Chainsawsuit elseif (strpos($article["link"], "drugsandwires.fail/dnwcomic/") !== FALSE) { $xpath = $this->get_xpath_dealie($article['link']); $article['content'] = $this->get_img_tags($xpath, "//div[@class='singleImage']/img[@class='magicfields']", $article); $article['content'] = str_replace('comicsthumbs', 'comics', $article['content']); foreach ($entries as $entry) { elseif (strpos($article['link'], 'questionablecontent') !== FALSE) { $xpath = $this->get_xpath_dealie($article['link']); $article['content'] = $this->get_img_tags($xpath, "//div[@class='comic-wrap']//img[@class='comic']", $article); list($html, $content_type) = $this->get_content($link); //Sites that provide images and just need alt tags textified. } $article = $this->alt_textify($article); if (GDORN_DEBUG && $article['debug']) { foreach ($article['debug'] as $msg) { $article['content'] .= $aftercomic; } } Dead Philosophers elseif (strpos($article['link'], 'dead-philosophers.com/?p') !== FALSE) { $xpath = $this->get_xpath_dealie($article['link']); $article['content'] = $this->get_img_tags($xpath, "//img[starts-with(@src, 'sp') and contains(@src, 'png')]", $article); } Clean up code formatting; added a few comics; standardized appending alt/title text under images (extra useful for non-browser users $entries = $xpath->query("//div[@id='blarg']/div[last()]"); foreach ($entries as $entry){ foreach.

New Pull Request