public function hasAsset(AssetInfo $assetInfo, $assets = null) { if (!$assets) { $assets = $this->assetsInfo; } $assets = $assets ? call_user_func_array('array_merge', $assets) : []; foreach ($assets as $asset) { if (!$assetInfo->getPath() && $assetInfo->getContent() === $asset->getContent() && $assetInfo->getContentType() === $asset->getContentType()) { return true; } if ($asset->getPath() && $asset->getPath() === $assetInfo->getPath()) { return true; } } return false; }
/** * @param AssetInfo $assetInfo * * @return AssetInfo[] */ public function compileAsset(AssetInfo $assetInfo) { $compiler = $this->getCompileHandlerByContentType($assetInfo->getContentType()); if (!$compiler) { $compiler = $this->getCompileHandlerByFileExtension($assetInfo->getPath()); } if (!$compiler) { return [$assetInfo]; //no compiler found, so ok } if ($compiledAssetInfoResult = $compiler->compileFile($assetInfo)) { if (is_array($compiledAssetInfoResult)) { return $compiledAssetInfoResult; } else { if ($compiledAssetInfoResult instanceof AssetInfo) { return [$compiledAssetInfoResult]; } } } return []; }