Added propagation of $fetch_last_content_type for curl- and file_get_contents-calls
This commit is contained in:
parent
3a8d756ce1
commit
ef39be2b88
|
@ -7,6 +7,7 @@
|
||||||
|
|
||||||
$fetch_last_error = false;
|
$fetch_last_error = false;
|
||||||
$fetch_last_error_code = false;
|
$fetch_last_error_code = false;
|
||||||
|
$fetch_last_content_type = false;
|
||||||
$pluginhost = false;
|
$pluginhost = false;
|
||||||
|
|
||||||
function __autoload($class) {
|
function __autoload($class) {
|
||||||
|
@ -317,6 +318,7 @@
|
||||||
|
|
||||||
global $fetch_last_error;
|
global $fetch_last_error;
|
||||||
global $fetch_last_error_code;
|
global $fetch_last_error_code;
|
||||||
|
global $fetch_last_content_type;
|
||||||
|
|
||||||
$url = str_replace(' ', '%20', $url);
|
$url = str_replace(' ', '%20', $url);
|
||||||
|
|
||||||
|
@ -367,11 +369,11 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
||||||
$content_type = curl_getinfo($ch, CURLINFO_CONTENT_TYPE);
|
$fetch_last_content_type = curl_getinfo($ch, CURLINFO_CONTENT_TYPE);
|
||||||
|
|
||||||
$fetch_last_error_code = $http_code;
|
$fetch_last_error_code = $http_code;
|
||||||
|
|
||||||
if ($http_code != 200 || $type && strpos($content_type, "$type") === false) {
|
if ($http_code != 200 || $type && strpos($fetch_last_content_type, "$type") === false) {
|
||||||
if (curl_errno($ch) != 0) {
|
if (curl_errno($ch) != 0) {
|
||||||
$fetch_last_error = curl_errno($ch) . " " . curl_error($ch);
|
$fetch_last_error = curl_errno($ch) . " " . curl_error($ch);
|
||||||
} else {
|
} else {
|
||||||
|
@ -399,6 +401,15 @@
|
||||||
|
|
||||||
$data = @file_get_contents($url);
|
$data = @file_get_contents($url);
|
||||||
|
|
||||||
|
$fetch_last_content_type = false; // reset if no type was sent from server
|
||||||
|
foreach ($http_response_header as $h) {
|
||||||
|
if (substr(strtolower($h), 0, 13) == 'content-type:') {
|
||||||
|
$fetch_last_content_type = substr($h, 14);
|
||||||
|
// don't abort here b/c there might be more than one
|
||||||
|
// e.g. if we were being redirected -- last one is the right one
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (!$data && function_exists('error_get_last')) {
|
if (!$data && function_exists('error_get_last')) {
|
||||||
$error = error_get_last();
|
$error = error_get_last();
|
||||||
$fetch_last_error = $error["message"];
|
$fetch_last_error = $error["message"];
|
||||||
|
|
Loading…
Reference in New Issue