106
if (strpos($_SERVER['REQUEST_URI'],
$_SERVER['SCRIPT_NAME'].'?') === 0 ||
strpos($_SERVER['REQUEST_URI'],
rtrim(dirname($_SERVER['SCRIPT_NAME']), '\/').'/?') === 0) {
if (!$baseUrl) return $fileDir . $url;
}
return $baseUrl . $url;
}
$contents = file_get_contents($fileDir.$url);
if ($fileType == 'css') {
$oldFileDir = $fileDir;
$fileDir = rtrim(dirname($fileDir.$url), '\/').'/';
$oldBaseUrl = $baseUrl;
$baseUrl =
'http'.(@$_SERVER['HTTPS']?'s':'').'://'.$_SERVER['HTTP_HOST'].rtrim(dirname($_
SERVER['SCRIPT_NAME']), '\/').'/'.$fileDir;
$contents = minify_css($contents);
$fileDir = $oldFileDir;
$baseUrl = $oldBaseUrl;
}
$base64 = base64_encode($contents);
return 'data:' . $mimeType . ';base64,' . $base64;
}
function minify_css($str) {
$res = '';
$i=0;
$inside_block = false;
$current_char = '';
while ($i+1<strlen($str)) {
if ($str[$i]=='"' || $str[$i]=="'") {//quoted string detected
$res .= $quote = $str[$i++];
$url = '';
while ($i<strlen($str) && $str[$i]!=$quote) {
if ($str[$i] == '\\') {
$url .= $str[$i++];
}
$url .= $str[$i++];
}
if (strtolower(substr($res, -5, 4))=='url(' || strtolower(substr($res, -
9, 8)) == '@import ') {
$url = convertUrl($url, substr_count($str, $url));
}
$res .= $url;
$res .= $str[$i++];