Ejemplo n.º 1
0
 protected function getAsseticFactory()
 {
     if (empty($this->config["input_path"][0])) {
         throw new \Exception('Empty input path');
     }
     $factory = new AssetFactory($this->config["input_path"][0], $this->config["debug"]);
     $factory->setDefaultOutput("");
     // add a FilterManager to the AssetFactory
     $fm = new FilterManager();
     $factory->setFilterManager($fm);
     // adding some filters to the filter manager
     if ($this->config["less_filter"]) {
         $lessphpFilter = new LessphpFilter();
         if ($this->lessPresets) {
             $lessphpFilter->setPresets($this->lessPresets);
         }
         $fm->set("less", $lessphpFilter);
     }
     if ($this->config["scss_filter"]) {
         $scssFilter = new ScssphpFilter();
         $fm->set("scss", $scssFilter);
     }
     $fm->set("min", new CssMinFilter());
     return $factory;
 }
 /**
  * Bootstraps the application.
  *
  * This method is called after all services are registered
  * and should be used for "dynamic" configuration (whenever
  * a service must be requested).
  *
  * @param  Application $app
  * @throws \InvalidArgumentException
  */
 public function boot(Application $app)
 {
     $app['assetic.filters'] = $app->share($app->extend('assetic.filters', function ($filters) use($app) {
         $filters['lessphp'] = $app->share(function () use($app) {
             $filter = new LessphpFilter();
             $filter->setPresets($app['assetic.filter.lessphp.presets']);
             $filter->setLoadPaths($app['assetic.filter.lessphp.paths']);
             $filter->setFormatter($app['assetic.filter.lessphp.formatter']);
             $filter->setPreserveComments($app['assetic.filter.lessphp.preserve_comments']);
             return $filter;
         });
         return $filters;
     }));
 }
                 if ($entry != '.' && $entry != '..' && substr($entry, -5) == '.less') {
                     $cssFiles[$type][$entry] = realpath($dir . $entry);
                 }
             }
         }
     }
 }
 $cssFilterLess = new LessphpFilter();
 $vars = array();
 foreach ($extensions as $extensionDir) {
     $file = APP_ROOT_DIR . $extensionDir . '/theme/default/variables.ini';
     if (file_exists($file)) {
         $vars = array_merge($vars, parse_ini_file($file, false));
     }
 }
 $cssFilterLess->setPresets($vars);
 foreach ($CONFIG->extensions as $extension) {
     $dir = APP_ROOT_DIR . '/extension/' . $extension . '/theme/default/css/';
     if (is_dir($dir)) {
         $cssFilterLess->addLoadPath(realpath($dir));
     }
 }
 $cssFilterLess->addLoadPath(APP_ROOT_DIR . '/core/theme/default/css/');
 $cssFilters = array($cssFilterLess);
 # Index
 if (APP_WEB_INDEX_DIR) {
     $am = new AssetManager();
     foreach ($cssFiles['index'] as $nameonly => $filename) {
         $fa = new FileAsset($filename, $cssFilters);
         $fa->setTargetPath(substr($nameonly, 0, -5) . '.css');
         $am->set(str_replace('.', '_', $nameonly), $fa);