Example #1
0
 /**
  * @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]}";
 }