]> source.dussan.org Git - nextcloud-server.git/commitdiff
add curl proxy support. Fixes #504
authorFrank Karlitschek <frank@owncloud.org>
Fri, 14 Dec 2012 17:52:16 +0000 (18:52 +0100)
committerFrank Karlitschek <frank@owncloud.org>
Wed, 19 Dec 2012 17:50:19 +0000 (18:50 +0100)
https://github.com/owncloud/core/issues/504

config/config.sample.php
lib/util.php

index f531d5f146b2f80b290fbbed45bf98a9bc4fb361..c915a8772912009577e089a3a631f482648f0965 100644 (file)
@@ -42,6 +42,12 @@ $CONFIG = array(
 /* Time in seconds how long an user is authenticated without entering his password again before performing sensitive actions like creating or deleting users etc...*/
 "enhancedauthtime" => 15 * 60,
 
+/* A proxy to use to connect to the internet. For example "myproxy.org:88" */
+"curlproxy" => "",
+
+/* The optional authentication for the proxy to use to connect to the internet. The format is: [username]:[password] */
+"curlproxyuserpwd" => "",
+
 /* Theme to use for ownCloud */
 "theme" => "",
 
index 4d69f3d86db726f848f47992e581672a88e26075..8c71d3cb4ed7bab6c7cce024bc0f7f8adac52965 100755 (executable)
@@ -667,34 +667,35 @@ class OC_Util {
          * If not, file_get_element is used.
          */
         
-       public static function getUrlContent($url){
+        public static function getUrlContent($url){
             
-               if  (function_exists('curl_init')) {
-
-                       $curl = curl_init();
-
-                       curl_setopt($curl, CURLOPT_HEADER, 0);
-                       curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
-                       curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 10);
-                       curl_setopt($curl, CURLOPT_URL, $url);
-                       curl_setopt($curl, CURLOPT_USERAGENT, "ownCloud Server Crawler");
-                       $data = curl_exec($curl);
-                       curl_close($curl);
-
-               } else {
-
-                       $ctx = stream_context_create(
-                                       array(
-                                               'http' => array(
-                                                       'timeout' => 10
-                                                       )
-                                            )
-                                       );
-                       $data=@file_get_contents($url, 0, $ctx);
-
-               }
-
-               return $data;
+            if  (function_exists('curl_init')) {
+                
+                $curl = curl_init();
+
+                curl_setopt($curl, CURLOPT_HEADER, 0);
+                curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
+                curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 10);
+                curl_setopt($curl, CURLOPT_URL, $url);
+               curl_setopt($curl, CURLOPT_USERAGENT, "ownCloud Server Crawler");
+                if(OC_Config::getValue('curlproxy','')=='') curl_setopt($curl, CURLOPT_PROXY, OC_Config::getValue('curlproxy'));
+                if(OC_Config::getValue('curlproxyuserpwd','')=='') curl_setopt($curl, CURLOPT_PROXYUSERPWD, OC_Config::getValue('curlproxyuserpwd'));
+                $data = curl_exec($curl);
+                curl_close($curl);
+
+            } else {
+                
+                $ctx = stream_context_create(
+                    array(
+                        'http' => array(
+                            'timeout' => 10
+                        )
+                    )
+                );
+                $data=@file_get_contents($url, 0, $ctx);
+                
+            }
+            return $data;
        }
         
 }