| Current Path : /home/antonen/poznajlitwe.lt/libraries/nextend2/nextend/library/libraries/assets/less/ |
| Current File : /home/antonen/poznajlitwe.lt/libraries/nextend2/nextend/library/libraries/assets/less/cache.php |
<?php
class N2AssetsCacheLess extends N2AssetsCacheCSS {
public $outputFileType = "less.css";
public function getAssetFile($group, &$files = array(), &$codes = array()) {
$this->group = $group;
$this->files = $files;
$this->codes = $codes;
$cache = new N2CacheManifest($group, false, true);
$hash = $this->getHash();
return $cache->makeCache($group . "." . $this->outputFileType, $hash, array(
$this,
'getCachedContent'
));
}
/**
* @param N2CacheManifest $cache
*
* @return string
*/
public function getCachedContent($cache) {
$fileContents = '';
foreach ($this->files AS $parameters) {
$compiler = new n2lessc();
if (!empty($parameters['importDir'])) {
$compiler->addImportDir($parameters['importDir']);
}
$compiler->setVariables($parameters['context']);
$fileContents .= $compiler->compileFile($parameters['file']);
}
return $fileContents;
}
protected function makeFileHash($parameters) {
return json_encode($parameters) . filemtime($parameters['file']);
}
protected function parseFile($cache, $content, $lessParameters) {
return parent::parseFile($cache, $content, $lessParameters['file']);
}
}