Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
implement proxy feature without modifying simple_html_dom code
Signed-off-by: Pierre Mazière <pierre.maziere@gmx.com>
  • Loading branch information
Pierre Mazière committed Jun 25, 2016
1 parent 040f4da commit 36d39d3
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 17 deletions.
40 changes: 25 additions & 15 deletions lib/Bridge.php
Expand Up @@ -90,6 +90,31 @@ public function setCache(\CacheAbstract $cache){
return $this;
}

protected function file_get_html($url, $use_include_path = false, $context=null, $offset = -1, $maxLen=-1, $lowercase = true, $forceTagsClosed=true, $target_charset = DEFAULT_TARGET_CHARSET, $stripRN=true, $defaultBRText=DEFAULT_BR_TEXT, $defaultSpanText=DEFAULT_SPAN_TEXT){
$contextOptions = array(
'http' => array(
'user_agent'=>ini_get('user_agent')
),
);

if(defined('PROXY_URL')) {
$contextOptions['http']['proxy'] = PROXY_URL;
$contextOptions['http']['request_fulluri'] = true;

if(is_null($context)){
$context = stream_context_create($contextOptions);
} else {
$prevContext=$context;
if(!stream_context_set_option($context,$contextOptions)){
$context=$prevContext;
};
}
}
return file_get_html($url,$use_include_path,$context,$offset,$maxLen,
$lowercase,$forceTagsClosed,$target_charset,$stripRN,$defaultBRtext,
$defaultSpanText);
}

}

/**
Expand Down Expand Up @@ -354,19 +379,4 @@ public function getDescription() {
}
}

function advanced_file_get_contents($url) {

if(defined('PROXY_URL')) {
$context = array(
'http' => array(
'proxy' => PROXY_URL,
'request_fulluri' => true,
),
);
$context = stream_context_create($context);
return file_get_contents($url, false, $context);
} else {
return file_get_contents($url);
}

}
4 changes: 2 additions & 2 deletions vendor/simplehtmldom/simple_html_dom.php
Expand Up @@ -73,7 +73,7 @@ function file_get_html($url, $use_include_path = false, $context=null, $offset =
// We DO force the tags to be terminated.
$dom = new simple_html_dom(null, $lowercase, $forceTagsClosed, $target_charset, $stripRN, $defaultBRText, $defaultSpanText);
// For sourceforge users: uncomment the next line and comment the retreive_url_contents line 2 lines down if it is not already done.
$contents = advanced_file_get_contents($url, $use_include_path, $context, $offset);
$contents = file_get_contents($url, $use_include_path, $context, $offset);
// Paperg - use our own mechanism for getting the contents as we want to control the timeout.
//$contents = retrieve_url_contents($url);
if (empty($contents) || strlen($contents) > MAX_FILE_SIZE)
Expand Down Expand Up @@ -1094,7 +1094,7 @@ function load($str, $lowercase=true, $stripRN=true, $defaultBRText=DEFAULT_BR_TE
function load_file()
{
$args = func_get_args();
$this->load(call_user_func_array('advanced_file_get_contents', $args), true);
$this->load(call_user_func_array('file_get_contents', $args), true);
// Throw an error if we can't properly load the dom.
if (($error=error_get_last())!==null) {
$this->clear();
Expand Down

0 comments on commit 36d39d3

Please sign in to comment.