mirror of
https://github.com/mrclay/minify.git
synced 2025-08-05 13:47:38 +02:00
calculate lastmodified to be maximum accurate
the time() may be incorrect if there's slight delay between file modify and cache write. but as file modify is what is important, rely on that. also needed to use different cache file because the format change.
This commit is contained in:
@@ -30,7 +30,7 @@ class Minify_LessCssSource extends Minify_Source {
|
|||||||
public function getLastModified() {
|
public function getLastModified() {
|
||||||
$cache = $this->getCache();
|
$cache = $this->getCache();
|
||||||
|
|
||||||
return $cache['updated'];
|
return $cache['lastModified'];
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -70,12 +70,29 @@ class Minify_LessCssSource extends Minify_Source {
|
|||||||
$cache = $less->cachedCompile($input);
|
$cache = $less->cachedCompile($input);
|
||||||
|
|
||||||
if (!is_array($input) || $cache['updated'] > $input['updated']) {
|
if (!is_array($input) || $cache['updated'] > $input['updated']) {
|
||||||
|
$cache['lastModified'] = $this->getMaxLastModified($cache);
|
||||||
$this->cache->store($cacheId, serialize($cache));
|
$this->cache->store($cacheId, serialize($cache));
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this->parsed = $cache;
|
return $this->parsed = $cache;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Calculate maximum last modified of all files,
|
||||||
|
* as the 'updated' timestamp in cache is not the same as file last modified timestamp:
|
||||||
|
* @link https://github.com/leafo/lessphp/blob/v0.4.0/lessc.inc.php#L1904
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
private function getMaxLastModified($cache)
|
||||||
|
{
|
||||||
|
$lastModified = 0;
|
||||||
|
foreach ($cache['files'] as $mtime) {
|
||||||
|
$lastModified = max($lastModified, $mtime);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $lastModified;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Make a unique cache id for for this source.
|
* Make a unique cache id for for this source.
|
||||||
*
|
*
|
||||||
@@ -86,7 +103,7 @@ class Minify_LessCssSource extends Minify_Source {
|
|||||||
private function getCacheId($prefix = 'minify') {
|
private function getCacheId($prefix = 'minify') {
|
||||||
$md5 = md5($this->filepath);
|
$md5 = md5($this->filepath);
|
||||||
|
|
||||||
return "{$prefix}_less_{$md5}";
|
return "{$prefix}_less2_{$md5}";
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Reference in New Issue
Block a user