From 2987031bc3d30437e7b34c3fe912a0ccbcc87f10 Mon Sep 17 00:00:00 2001 From: nicosomb Date: Tue, 23 Apr 2013 15:25:12 +0200 Subject: [PATCH] Fixed #73 - Can't Poch url with special caracter --- inc/config.php | 1 + inc/functions.php | 36 ++++++++++++++++++------------------ 2 files changed, 19 insertions(+), 18 deletions(-) diff --git a/inc/config.php b/inc/config.php index 8bafd59..737f521 100644 --- a/inc/config.php +++ b/inc/config.php @@ -16,6 +16,7 @@ if (!is_dir('db/')) { define ('ABS_PATH', 'assets/'); define ('CONVERT_LINKS_FOOTNOTES', TRUE); +define ('REVERT_FORCED_PARAGRAPH_ELEMENTS',FALSE); define ('DOWNLOAD_PICTURES', TRUE); $storage_type = 'sqlite'; # sqlite or file diff --git a/inc/functions.php b/inc/functions.php index b830b61..c6cde82 100644 --- a/inc/functions.php +++ b/inc/functions.php @@ -39,9 +39,9 @@ function get_external_file($url) curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_HEADER, false); - // FOR SSL do not verified certificate + // FOR SSL do not verified certificate curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); - curl_setopt($curl, CURLOPT_AUTOREFERER, TRUE ); + curl_setopt($curl, CURLOPT_AUTOREFERER, TRUE ); // FeedBurner requires a proper USER-AGENT... curl_setopt($curl, CURL_HTTP_VERSION_1_1, true); @@ -59,14 +59,14 @@ function get_external_file($url) // create http context and add timeout and user-agent $context = stream_context_create(array( - 'http'=>array('timeout' => $timeout, - 'header'=> "User-Agent: ".$useragent, /*spoot Mozilla Firefox*/ - 'follow_location' => true), - // FOR SSL do not verified certificate - 'ssl' => array('verify_peer' => false, - 'allow_self_signed' => true) - ) - ); + 'http'=>array('timeout' => $timeout, + 'header'=> "User-Agent: ".$useragent, /*spoot Mozilla Firefox*/ + 'follow_location' => true), + // FOR SSL do not verified certificate + 'ssl' => array('verify_peer' => false, + 'allow_self_signed' => true) + ) + ); // only download page lesser than 4MB $data = @file_get_contents($url, false, $context, -1, 4000000); // We download at most 4 MB from source. @@ -122,19 +122,19 @@ function prepare_url($url) $i=strpos($url,'#xtor=RSS-'); if ($i!==false) $url=substr($url,0,$i); $title = $url; - $html = Encoding::toUTF8(get_external_file($url,15)); - // If get_external_file if not able to retrieve HTTPS content try the same URL with HTTP protocol - if (!preg_match('!^https?://!i', $url) && (!isset($html) || strlen($html) <= 0)) { - $url = 'http://' . $url; - $html = Encoding::toUTF8(get_external_file($url,15)); - } + $html = Encoding::toUTF8(get_external_file($url,15)); + // If get_external_file if not able to retrieve HTTPS content try the same URL with HTTP protocol + if (!preg_match('!^https?://!i', $url) && (!isset($html) || strlen($html) <= 0)) { + $url = 'http://' . $url; + $html = Encoding::toUTF8(get_external_file($url,15)); + } if (isset($html) and strlen($html) > 0) { $r = new Readability($html, $url); - + $r->convertLinksToFootnotes = CONVERT_LINKS_FOOTNOTES; - $r->revertForcedParagraphElements = REVERT_FORCED_PARAGRAPH_ELEMENTS; + $r->revertForcedParagraphElements = REVERT_FORCED_PARAGRAPH_ELEMENTS; if($r->init()) {