summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--itjs.class19
1 files changed, 4 insertions, 15 deletions
diff --git a/itjs.class b/itjs.class
index d2aba92..f40a380 100644
--- a/itjs.class
+++ b/itjs.class
@@ -149,15 +149,15 @@ static function filenames($filelist)
}
/**
- * Return (interpreted) files that will be sent to client
+ * Return (php-interpreted by default) files that will be sent to client
*/
-static function filecontents($filenames)
+static function filecontents($filenames, $execphp = true)
{
foreach ($filenames as $filename)
{
ob_start(); # Needs to capture inside loop to guarantee file order
if (!(it::match('W3C_CSS_Validator', $_SERVER['HTTP_USER_AGENT']) && it::match('jquery-ui\.css', $filename)))
- $result .= it::replace(array('^1$' => ""), @include($filename), array('utf8' => false));
+ $result .= it::replace(array('^1$' => ""), $execphp ? @include($filename) : file_get_contents($filename), array('utf8' => false));
$result .= ob_get_clean();
}
@@ -191,19 +191,8 @@ static function strip($code)
static function checksum($fnlist)
{
$key = "itjs_" . md5(join("", it::map('"$v" . filemtime("$v")', is_array($fnlist) ? $fnlist : itjs::filenames($fnlist))));
- if (!($result = it_cache::get($key)))
- {
- $origheaders = headers_list();
- $result = it_cache::put($key, substr(md5(itjs::filecontents(is_array($fnlist) ? $fnlist : itjs::filenames($fnlist), false)), 0, 8));
- if (!headers_sent() && headers_list() != $origheaders)
- {
- header_remove();
- foreach ($origheaders as $origheader)
- header($origheader); # included filecontents might have modified Content-Type
- }
- }
- return $result;
+ return it_cache::get($key) ?: it_cache::put($key, substr(md5(self::filecontents(is_array($fnlist) ? $fnlist : itjs::filenames($fnlist), false)), 0, 8));
}
}