summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2014-12-03 22:43:25 +0300
committerAndrew Dolgov <[email protected]>2014-12-03 22:43:25 +0300
commit9fd581336e3044425c3d2d915ee81c8c5741d226 (patch)
tree57e0709fb7945b8d441d258aaf6600c85646ce0a
parent2681f684c7ceed8b3de70223582e947c4b83143b (diff)
fetch_file_contents: support retarded schema-less urls
af_comics_dilbert: fix for new dilbert.com shenanigans
-rw-r--r--include/functions.php3
-rw-r--r--plugins/af_comics/filters/af_comics_dilbert.php22
2 files changed, 19 insertions, 6 deletions
diff --git a/include/functions.php b/include/functions.php
index 1dbf004da..769c27af9 100644
--- a/include/functions.php
+++ b/include/functions.php
@@ -357,6 +357,9 @@
$url = ltrim($url, ' ');
$url = str_replace(' ', '%20', $url);
+ if (strpos($url, "//") === 0)
+ $url = 'http:' . $url;
+
if (!defined('NO_CURL') && function_exists('curl_init')) {
$fetch_curl_used = true;
diff --git a/plugins/af_comics/filters/af_comics_dilbert.php b/plugins/af_comics/filters/af_comics_dilbert.php
index f0e31cf88..67d9788ab 100644
--- a/plugins/af_comics/filters/af_comics_dilbert.php
+++ b/plugins/af_comics/filters/af_comics_dilbert.php
@@ -6,23 +6,33 @@ class Af_Comics_Dilbert extends Af_ComicFilter {
}
function process(&$article) {
- $owner_uid = $article["owner_uid"];
-
if (strpos($article["guid"], "dilbert.com") !== FALSE) {
+ $res = fetch_file_contents($article["link"], false, false, false,
+ false, false, 0,
+ "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)");
+
+ global $fetch_last_error_content;
+
+ if (!$res && $fetch_last_error_content)
+ $res = $fetch_last_error_content;
+
$doc = new DOMDocument();
- @$doc->loadHTML(fetch_file_contents($article["link"]));
+ @$doc->loadHTML($res);
$basenode = false;
if ($doc) {
$xpath = new DOMXPath($doc);
- $entries = $xpath->query('(//img[@src])'); // we might also check for img[@class='strip'] I guess...
+
+ $basenode = $xpath->query('//div[@class="STR_Image"]')->item(0);
+
+ /* $entries = $xpath->query('(//img[@src])'); // we might also check for img[@class='strip'] I guess...
$matches = array();
foreach ($entries as $entry) {
- if (preg_match("/dyn\/str_strip\/.*zoom\.gif$/", $entry->getAttribute("src"), $matches)) {
+ if (preg_match("/dyn\/str_strip\/.*strip\.gif$/", $entry->getAttribute("src"), $matches)) {
$entry->setAttribute("src",
rewrite_relative_url("http://dilbert.com/",
@@ -31,7 +41,7 @@ class Af_Comics_Dilbert extends Af_ComicFilter {
$basenode = $entry;
break;
}
- }
+ } */
if ($basenode) {
$article["content"] = $doc->saveXML($basenode);