PluginProbe ʕ •ᴥ•ʔ
Matomo Analytics – Powerful, Privacy-First Insights for WordPress / trunk
Matomo Analytics – Powerful, Privacy-First Insights for WordPress vtrunk
5.11.1 5.11.0 5.10.2 5.10.1 trunk 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.1.0 1.1.1 1.1.2 1.1.3 1.2.0 1.3.0 1.3.1 1.3.2 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.1.0 4.1.1 4.1.2 4.1.3 4.10.0 4.11.0 4.12.0 4.13.0 4.13.2 4.13.3 4.13.4 4.13.5 4.14.0 4.14.1 4.14.2 4.15.0 4.15.1 4.15.2 4.15.3 4.2.0 4.3.0 4.3.1 4.4.1 4.4.2 4.5.0 4.6.0 5.0.1 5.0.2 5.0.3 5.0.4 5.0.5 5.0.6 5.0.7 5.0.8 5.1.0 5.1.1 5.1.2 5.1.3 5.1.4 5.1.5 5.1.6 5.1.7 5.10.0 5.2.0 5.2.1 5.2.2 5.3.0 5.3.1 5.3.2 5.3.3 5.6.0 5.6.1 5.7.0 5.7.1 5.8.0 5.8.1 5.8.2
matomo / app / core / AssetManager / UIAssetMerger / JScriptUIAssetMerger.php
matomo / app / core / AssetManager / UIAssetMerger Last commit date
JScriptUIAssetMerger.php 2 years ago StylesheetUIAssetMerger.php 2 months ago
JScriptUIAssetMerger.php
75 lines
1 <?php
2
3 /**
4 * Matomo - free/libre analytics platform
5 *
6 * @link https://matomo.org
7 * @license https://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
8 */
9 namespace Piwik\AssetManager\UIAssetMerger;
10
11 use Piwik\AssetManager\UIAsset;
12 use Piwik\AssetManager\UIAssetCacheBuster;
13 use Piwik\AssetManager\UIAssetFetcher\JScriptUIAssetFetcher;
14 use Piwik\AssetManager\UIAssetMerger;
15 use Piwik\AssetManager\UIAssetMinifier;
16 use Piwik\Piwik;
17 class JScriptUIAssetMerger extends UIAssetMerger
18 {
19 /**
20 * @var UIAssetMinifier
21 */
22 private $assetMinifier;
23 /**
24 * @param UIAsset $mergedAsset
25 * @param JScriptUIAssetFetcher $assetFetcher
26 * @param UIAssetCacheBuster $cacheBuster
27 */
28 public function __construct($mergedAsset, $assetFetcher, $cacheBuster)
29 {
30 parent::__construct($mergedAsset, $assetFetcher, $cacheBuster);
31 $this->assetMinifier = UIAssetMinifier::getInstance();
32 }
33 protected function getMergedAssets()
34 {
35 return $this->getConcatenatedAssets();
36 }
37 protected function generateCacheBuster()
38 {
39 $cacheBuster = $this->cacheBuster->piwikVersionBasedCacheBuster($this->getPlugins());
40 return "/* Matomo Javascript - cb=" . $cacheBuster . "*/\n";
41 }
42 protected function getPreamble()
43 {
44 return $this->getCacheBusterValue();
45 }
46 protected function postEvent(&$mergedContent)
47 {
48 $plugins = $this->getPlugins();
49 if (!empty($plugins)) {
50 /**
51 * Triggered after all the JavaScript files Piwik uses are minified and merged into a
52 * single file, but before the merged JavaScript is written to disk.
53 *
54 * Plugins can use this event to modify merged JavaScript or do something else
55 * with it.
56 *
57 * @param string $mergedContent The minified and merged JavaScript.
58 */
59 Piwik::postEvent('AssetManager.filterMergedJavaScripts', array(&$mergedContent), null, $plugins);
60 }
61 }
62 public function getFileSeparator()
63 {
64 return "\n";
65 }
66 protected function processFileContent($uiAsset)
67 {
68 $content = $uiAsset->getContent();
69 if (!$this->assetMinifier->isMinifiedJs($content)) {
70 $content = $this->assetMinifier->minifyJs($content);
71 }
72 return $content;
73 }
74 }
75