/** * @see PreFileFilter::__invoke() * @throws \Nette\FileNotFoundException */ public function __invoke($code, \Lohini\WebLoader\WebLoader $loader = NULL, $file = NULL) { if ($file === NULL || strtolower(pathinfo($file, PATHINFO_EXTENSION)) != 'ccss') { return $code; } self::$loader = $loader; $key = Strings::webalize("ccss-{$file}"); $cache = self::getCache(); $browser = self::getUserBrowser(); if (($cached = $cache[$key]) !== NULL) { if (isset($cached[$browser['userBrowser']])) { $cachedB = $cached[$browser['userBrowser']]; if (isset($cachedB[$browser['userVersion']])) { return "{[of#CCss#{$key}#cf]}"; } } } if (realpath($file) === FALSE) { throw new \Nette\FileNotFoundException("Source file '{$file}' doesn't exist."); } $filter = new self(); $content = $filter->complete($file); $cached[PreFileFilter::FILE] = $file; $cached[$browser['userBrowser']][$browser['userVersion']] = $content; self::save($key, $file, $cached); return "{[of#CCss#{$key}#cf]}"; }