قرینه از
https://github.com/matomo-org/matomo.git
synced 2025-08-21 22:47:43 +00:00

* [Coding Style] Enable rule PSR12.Files.FileHeader * Apply CS * Replace Piwik with Matomo in file headers * Unify file headers (position, no. of lines, https links) * Rebuild dist files * Apply CS * Fix system test that relies on line numbers in a file that had the file header updated --------- Co-authored-by: Stefan Giehl <stefan@matomo.org>
75 خطوط
1.4 KiB
PHP
75 خطوط
1.4 KiB
PHP
<?php
|
|
|
|
/**
|
|
* Matomo - free/libre analytics platform
|
|
*
|
|
* @link https://matomo.org
|
|
* @license https://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
|
|
*/
|
|
|
|
namespace Piwik\AssetManager;
|
|
|
|
class UIAssetCatalog
|
|
{
|
|
/**
|
|
* @var UIAsset[]
|
|
*/
|
|
private $uiAssets = array();
|
|
|
|
/**
|
|
* @var UIAssetCatalogSorter
|
|
*/
|
|
private $catalogSorter;
|
|
|
|
/**
|
|
* @var string[] Absolute file locations
|
|
*/
|
|
private $existingAssetLocations = array();
|
|
|
|
/**
|
|
* @param UIAssetCatalogSorter $catalogSorter
|
|
*/
|
|
public function __construct($catalogSorter)
|
|
{
|
|
$this->catalogSorter = $catalogSorter;
|
|
}
|
|
|
|
/**
|
|
* @param UIAsset $uiAsset
|
|
*/
|
|
public function addUIAsset($uiAsset)
|
|
{
|
|
$location = $uiAsset->getAbsoluteLocation();
|
|
|
|
if (!$this->assetAlreadyInCatalog($location)) {
|
|
$this->existingAssetLocations[] = $location;
|
|
$this->uiAssets[] = $uiAsset;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @return UIAsset[]
|
|
*/
|
|
public function getAssets()
|
|
{
|
|
return $this->uiAssets;
|
|
}
|
|
|
|
/**
|
|
* @return UIAssetCatalog
|
|
*/
|
|
public function getSortedCatalog()
|
|
{
|
|
return $this->catalogSorter->sortUIAssetCatalog($this);
|
|
}
|
|
|
|
/**
|
|
* @param UIAsset $uiAsset
|
|
* @return boolean
|
|
*/
|
|
private function assetAlreadyInCatalog($location)
|
|
{
|
|
return in_array($location, $this->existingAssetLocations);
|
|
}
|
|
}
|