Make modcss.inc work with allow_url_fopen = Off

Alternatively use the PHP cURL extension
pull/167/head
Steffen185 11 years ago
parent 03de1329ef
commit add515bc74

@ -33,11 +33,7 @@ if (!preg_match('~^(https?)://~i', $realurl, $matches)) {
exit("Invalid URL"); exit("Invalid URL");
} }
if (!ini_get('allow_url_fopen')) { if (ini_get('allow_url_fopen')) {
header('HTTP/1.1 403 Forbidden');
exit("HTTP connections disabled");
}
$scheme = strtolower($matches[1]); $scheme = strtolower($matches[1]);
$options = array( $options = array(
$scheme => array( $scheme => array(
@ -51,6 +47,30 @@ $source = @file_get_contents($realurl, false, $context);
// php.net/manual/en/reserved.variables.httpresponseheader.php // php.net/manual/en/reserved.variables.httpresponseheader.php
$headers = implode("\n", (array)$http_response_header); $headers = implode("\n", (array)$http_response_header);
} else if (function_exists('curl_init')) {
$curl = curl_init($realurl);
curl_setopt($curl, CURLOPT_TIMEOUT, 15);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 15);
curl_setopt($curl, CURLOPT_PROTOCOLS, CURLPROTO_HTTP | CURLPROTO_HTTPS);
curl_setopt($curl, CURLOPT_ENCODING, '');
curl_setopt($curl, CURLOPT_HEADER, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($curl);
if ($data !== false)
{
list($headers, $source) = explode("\r\n\r\n", $data, 2);
}
else
{
$headers = false;
$source = false;
}
} else {
header('HTTP/1.1 403 Forbidden');
exit("HTTP connections disabled");
}
$ctype = '~Content-Type:\s+text/(css|plain)~i'; $ctype = '~Content-Type:\s+text/(css|plain)~i';
if ($source !== false && preg_match($ctype, $headers)) { if ($source !== false && preg_match($ctype, $headers)) {

Loading…
Cancel
Save