PluginProbe ʕ •ᴥ•ʔ
Matomo Analytics – Powerful, Privacy-First Insights for WordPress / 4.3.0
Matomo Analytics – Powerful, Privacy-First Insights for WordPress v4.3.0
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 / UIAssetCatalog.php
matomo / app / core / AssetManager Last commit date
UIAsset 5 years ago UIAssetFetcher 5 years ago UIAssetMerger 5 years ago UIAsset.php 5 years ago UIAssetCacheBuster.php 5 years ago UIAssetCatalog.php 5 years ago UIAssetCatalogSorter.php 5 years ago UIAssetFetcher.php 5 years ago UIAssetMerger.php 5 years ago UIAssetMinifier.php 5 years ago
UIAssetCatalog.php
74 lines
1 <?php
2 /**
3 * Matomo - free/libre analytics platform
4 *
5 * @link https://matomo.org
6 * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
7 *
8 */
9 namespace Piwik\AssetManager;
10
11 class UIAssetCatalog
12 {
13 /**
14 * @var UIAsset[]
15 */
16 private $uiAssets = array();
17
18 /**
19 * @var UIAssetCatalogSorter
20 */
21 private $catalogSorter;
22
23 /**
24 * @var string[] Absolute file locations
25 */
26 private $existingAssetLocations = array();
27
28 /**
29 * @param UIAssetCatalogSorter $catalogSorter
30 */
31 public function __construct($catalogSorter)
32 {
33 $this->catalogSorter = $catalogSorter;
34 }
35
36 /**
37 * @param UIAsset $uiAsset
38 */
39 public function addUIAsset($uiAsset)
40 {
41 $location = $uiAsset->getAbsoluteLocation();
42
43 if (!$this->assetAlreadyInCatalog($location)) {
44 $this->existingAssetLocations[] = $location;
45 $this->uiAssets[] = $uiAsset;
46 }
47 }
48
49 /**
50 * @return UIAsset[]
51 */
52 public function getAssets()
53 {
54 return $this->uiAssets;
55 }
56
57 /**
58 * @return UIAssetCatalog
59 */
60 public function getSortedCatalog()
61 {
62 return $this->catalogSorter->sortUIAssetCatalog($this);
63 }
64
65 /**
66 * @param UIAsset $uiAsset
67 * @return boolean
68 */
69 private function assetAlreadyInCatalog($location)
70 {
71 return in_array($location, $this->existingAssetLocations);
72 }
73 }
74