Merge pull request #375 from tdevos/master

Use curl to get remote file content
This commit is contained in:
Thomas Müller 2012-11-17 12:31:25 -08:00
commit ac3e962732
2 changed files with 41 additions and 11 deletions

View File

@ -55,20 +55,11 @@ class OC_OCSClient{
* This function calls an OCS server and returns the response. It also sets a sane timeout
*/
private static function getOCSresponse($url) {
// set a sensible timeout of 10 sec to stay responsive even if the server is down.
$ctx = stream_context_create(
array(
'http' => array(
'timeout' => 10
)
)
);
$data=@file_get_contents($url, 0, $ctx);
$data = \OC_Util::getUrlContent($url);
return($data);
}
/**
/**
* @brief Get all the categories from the OCS server
* @returns array with category ids
* @note returns NULL if config value appstoreenabled is set to false

View File

@ -669,4 +669,43 @@ class OC_Util {
return false;
}
/**
* @Brief Get file content via curl.
* @param string $url Url to get content
* @return string of the response or false on error
* This function get the content of a page via curl, if curl is enabled.
* If not, file_get_element is used.
*/
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);
$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;
}
}