aboutsummaryrefslogtreecommitdiffstats
path: root/admin/include
diff options
context:
space:
mode:
authorplegall <plg@piwigo.org>2016-02-15 15:02:16 +0100
committerplegall <plg@piwigo.org>2016-02-15 15:02:16 +0100
commita9a17a27cb75155a5bb798495e801840735ea215 (patch)
tree883ec658b436923df4c9a540cd830c5340e4c3ef /admin/include
parente03dff12b15fde7f5326e1e3fe9dd42102b55fe2 (diff)
feature #295, proxy support for fetchRemote
Diffstat (limited to 'admin/include')
-rw-r--r--admin/include/functions.php13
1 files changed, 13 insertions, 0 deletions
diff --git a/admin/include/functions.php b/admin/include/functions.php
index 04a83d0bc..9a827d1d6 100644
--- a/admin/include/functions.php
+++ b/admin/include/functions.php
@@ -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);