| <?php |
|
|
| |
| |
| |
| |
| |
| |
|
|
| namespace Piwik\AssetManager\UIAssetMerger; |
|
|
| use Piwik\AssetManager\UIAsset; |
| use Piwik\AssetManager\UIAssetCacheBuster; |
| use Piwik\AssetManager\UIAssetFetcher\JScriptUIAssetFetcher; |
| use Piwik\AssetManager\UIAssetMerger; |
| use Piwik\AssetManager\UIAssetMinifier; |
| use Piwik\Piwik; |
|
|
| class JScriptUIAssetMerger extends UIAssetMerger |
| { |
| |
| |
| |
| private $assetMinifier; |
|
|
| |
| |
| |
| |
| |
| public function __construct($mergedAsset, $assetFetcher, $cacheBuster) |
| { |
| parent::__construct($mergedAsset, $assetFetcher, $cacheBuster); |
|
|
| $this->assetMinifier = UIAssetMinifier::getInstance(); |
| } |
|
|
| protected function getMergedAssets() |
| { |
| return $this->getConcatenatedAssets(); |
| } |
|
|
| protected function generateCacheBuster() |
| { |
| $cacheBuster = $this->cacheBuster->piwikVersionBasedCacheBuster($this->getPlugins()); |
| return "/* Matomo Javascript - cb=" . $cacheBuster . "*/\n"; |
| } |
|
|
| protected function getPreamble() |
| { |
| return $this->getCacheBusterValue(); |
| } |
|
|
| protected function postEvent(&$mergedContent) |
| { |
| $plugins = $this->getPlugins(); |
|
|
| if (!empty($plugins)) { |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| Piwik::postEvent('AssetManager.filterMergedJavaScripts', array(&$mergedContent), null, $plugins); |
| } |
| } |
|
|
| public function getFileSeparator() |
| { |
| return "\n"; |
| } |
|
|
| protected function processFileContent($uiAsset) |
| { |
| $content = $uiAsset->getContent(); |
|
|
| if (!$this->assetMinifier->isMinifiedJs($content)) { |
| $content = $this->assetMinifier->minifyJs($content); |
| } |
|
|
| return $content; |
| } |
| } |
|
|