Merge pull request #375 from tdevos/master

Use curl to get remote file content
remotes/origin/stable5
Thomas Müller 13 years ago
commit ac3e962732
  1. 13
      lib/ocsclient.php
  2. 39
      lib/util.php

@ -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

@ -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;
}
}

Loading…
Cancel
Save