feature #295, proxy support for fetchRemote

This commit is contained in:
plegall
2016-02-15 15:02:16 +01:00
parent e03dff12b1
commit a9a17a27cb
2 changed files with 27 additions and 0 deletions
+13
View File
@@ -2076,6 +2076,8 @@ function cat_admin_access($category_id)
*/
function fetchRemote($src, &$dest, $get_data=array(), $post_data=array(), $user_agent='Piwigo', $step=0)
{
global $conf;
// Try to retrieve data from local file?
if (!url_is_remote($src))
{
@@ -2111,6 +2113,17 @@ function fetchRemote($src, &$dest, $get_data=array(), $post_data=array(), $user_
if (function_exists('curl_init') && function_exists('curl_exec'))
{
$ch = @curl_init();
if (isset($conf['use_proxy']) && $conf['use_proxy'])
{
@curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 0);
@curl_setopt($ch, CURLOPT_PROXY, $conf['proxy_server']);
if (isset($conf['proxy_auth']) && !empty($conf['proxy_auth']))
{
@curl_setopt($ch, CURLOPT_PROXYUSERPWD, $conf['proxy_auth']);
}
}
@curl_setopt($ch, CURLOPT_URL, $src);
@curl_setopt($ch, CURLOPT_HEADER, 1);
@curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);