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 / UIAssetCatalog.php
matomo / app / core / AssetManager Last commit date
UIAsset 1 year ago UIAssetFetcher 1 month ago UIAssetMerger 1 month ago UIAsset.php 2 years ago UIAssetCacheBuster.php 7 months ago UIAssetCatalog.php 5 months ago UIAssetCatalogSorter.php 2 years ago UIAssetFetcher.php 1 year ago UIAssetMerger.php 1 year ago UIAssetMinifier.php 1 year ago
UIAssetCatalog.php
66 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;
10
11 class UIAssetCatalog
12 {
13 /**
14 * @var UIAsset[]
15 */
16 private $uiAssets = array();
17 /**
18 * @var UIAssetCatalogSorter
19 */
20 private $catalogSorter;
21 /**
22 * @var string[] Absolute file locations
23 */
24 private $existingAssetLocations = array();
25 /**
26 * @param UIAssetCatalogSorter $catalogSorter
27 */
28 public function __construct($catalogSorter)
29 {
30 $this->catalogSorter = $catalogSorter;
31 }
32 /**
33 * @param UIAsset $uiAsset
34 */
35 public function addUIAsset($uiAsset)
36 {
37 $location = $uiAsset->getAbsoluteLocation();
38 if (!$this->assetAlreadyInCatalog($location)) {
39 $this->existingAssetLocations[] = $location;
40 $this->uiAssets[] = $uiAsset;
41 }
42 }
43 /**
44 * @return UIAsset[]
45 */
46 public function getAssets()
47 {
48 return $this->uiAssets;
49 }
50 /**
51 * @return UIAssetCatalog
52 */
53 public function getSortedCatalog()
54 {
55 return $this->catalogSorter->sortUIAssetCatalog($this);
56 }
57 /**
58 * @param string $location
59 * @return boolean
60 */
61 private function assetAlreadyInCatalog($location)
62 {
63 return in_array($location, $this->existingAssetLocations);
64 }
65 }
66