/** * {@inheritDoc} */ public static function process($assets) { if ($directory = self::getOutputDirectory()) { $relativeDirectory = self::getRelativeOutputDirectory(); $filename = ''; $sourceFiles = array(); for ($i = 0; $i < count($assets); $i++) { $asset = $assets[$i]; $filename .= $asset->getAssetHashKey(); $sourceFiles[] = $asset->getAssetURL(); } $filename = sha1($filename); $app = Facade::getFacadeApplication(); $ah = $app->make('helper/assets'); $paths = array(); foreach ($assets as $asset) { $paths[] = $asset->getAssetPath(); } $relativePath = $ah->javascriptPath($paths, array('name' => $filename, 'skipDigest' => true)); $assetDir = Config::get('concrete.cache.directory'); $asset = new CssAsset(); $asset->setAssetURL($relativePath); $asset->setAssetPath($assetDir . $relativePath); $asset->setCombinedAssetSourceFiles($sourceFiles); return array($asset); } return $assets; }
/** * @param Asset[] $assets * * @return Asset[] */ public static function process($assets) { if ($directory = self::getOutputDirectory()) { $relativeDirectory = self::getRelativeOutputDirectory(); $filename = ''; $sourceFiles = array(); for ($i = 0; $i < count($assets); $i++) { $asset = $assets[$i]; $filename .= $asset->getAssetHashKey(); $sourceFiles[] = $asset->getAssetURL(); } $filename = sha1($filename); $cacheFile = $directory . '/' . $filename . '.css'; if (!file_exists($cacheFile)) { $css = ''; foreach ($assets as $asset) { $contents = $asset->getAssetContents(); if (isset($contents)) { $contents = CssAsset::changePaths($contents, $asset->getAssetURLPath(), $relativeDirectory); if ($asset->assetSupportsMinification()) { $contents = \CssMin::minify($contents); } $css .= $contents . "\n\n"; } } @file_put_contents($cacheFile, $css); } $asset = new CssAsset(); $asset->setAssetURL($relativeDirectory . '/' . $filename . '.css'); $asset->setAssetPath($directory . '/' . $filename . '.css'); $asset->setCombinedAssetSourceFiles($sourceFiles); return array($asset); } return $assets; }