3
1
Back

URL */ $abs = "$host$path/$rel"; /* 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; } From d8a7439c05979d3c73da6a91162e90a1a48a57e5 Mon Sep 17 00:00:00 2001 Subject: [PATCH] Clean up code formatting; added a few comics; standardized appending alt/title text under images (extra useful for non-browser users elseif (strpos($article['link'], 'dilbert.com/strip/') !== FALSE) { $xpath = $this->get_xpath_dealie($article['link']); // $article['content'] = $this->get_img_tags($xpath, "//img[starts-with(@src, '/comics/') and @class='comic_image']", $article); } elseif (strpos($alt_text, $title_text) !== False) { if (preg_match("@.*?(.*)@", $article['content'], $matches)) { $img = preg_replace("@height=\"\d+\"@", "", $img); $article['content'] = $this->get_img_tags($xpath, "//div[@class='singleImage']/img[@class='magicfields']", $article); $article['content'] = $this->get_img_tags($xpath, '//td/img[contains(@src, "/comics/images/")]', $article); // Pain Train alt tag, Alice Grove (get bigger image elseif (strpos($article['link'], 'cad-comic.com/sillies/') !== FALSE) { $doc = new DOMXpath($doc); $imgs = $xpath->query('//img'); //doesn't get simpler than this foreach ($imgs as $img) { if (!$alt_text || strpos($article['title'], $alt_text) !== false){ $text_element = $doc->createElement("i", $alt_text); $para_element->appendChild($alt_element); $para_element->appendChild($doc->createElement("br")); $title_element = $doc->createElement("i", $title_text); } elseif (strpos(strtolower($article['link']), 'giantitp.com/comics/') !== FALSE) { $doc = new DOMDocument(); $doc->loadHTML($article['content']); $xpath = $this->get_xpath_dealie($article['link']); // there's both alt and title texts, they're both different, use both. $alt_element = $doc->createElement("i", $alt_text); $title_element = $doc->createElement("i", $alt_text); $title_element = $doc->createElement("i", $alt_text); $title_element = $doc->createElement("i", $title_text); } function get_img_tags($xpath, $query, $article, $base_url=NULL) { $img_attributes_whitelist = array('src', 'alt', 'title'); $new_src = $this->rel2abs($orig_src, $base_url); foreach($attributes as $attrib_name => $node){ } function hook_render_article_cdm($article) { return $this->mangle_article($article); } catch (Exception $e) { $article['content'] = $this->get_img_tags($xpath, "//div[@id='comic']//img", $article); } // Invisible Bread (make the bread visible elseif (strpos($article['content'], 'www.asofterworld.com/index.php?id') !== FALSE) { $article['content'] = $this->get_img_tags($xpath, "//img[starts-with(@src, 'sp') and contains(@src, 'comics')]", $article); } // Two Lumps // Two Lumps Features already done: - Internal clock with manual control. Clock in socket with 80 contacts (40 each.

New Pull Request