Download core/Columns/DimensionsProvider.php from Leon4gr45/matomo: direct link, hf CLI and curl.
- Browser
- Download file 1.56 kB
-
https://huggingface.co/spaces/Leon4gr45/matomo/resolve/main/core/Columns/DimensionsProvider.php
- Command line
-
hf download hf://spaces/Leon4gr45/matomo/core/Columns/DimensionsProvider.php
-
curl -L -o DimensionsProvider.php https://huggingface.co/spaces/Leon4gr45/matomo/resolve/main/core/Columns/DimensionsProvider.php
1.56 kB
| /** | |
| * 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\Columns; | |
| use Piwik\CacheId; | |
| use Piwik\Cache as PiwikCache; | |
| class DimensionsProvider | |
| { | |
| /** | |
| * @param string $dimensionId | |
| * @return ?Dimension | |
| */ | |
| public function factory($dimensionId) | |
| { | |
| $listDimensions = self::getMapOfNameToDimension(); | |
| if (empty($listDimensions) || !is_array($listDimensions) || !$dimensionId || !array_key_exists($dimensionId, $listDimensions)) { | |
| return null; | |
| } | |
| return $listDimensions[$dimensionId]; | |
| } | |
| private static function getMapOfNameToDimension() | |
| { | |
| $cacheId = CacheId::siteAware(CacheId::pluginAware('DimensionFactoryMap')); | |
| $cache = PiwikCache::getTransientCache(); | |
| if ($cache->contains($cacheId)) { | |
| $mapIdToDimension = $cache->fetch($cacheId); | |
| } else { | |
| $dimensions = new static(); | |
| $dimensions = $dimensions->getAllDimensions(); | |
| $mapIdToDimension = array(); | |
| foreach ($dimensions as $dimension) { | |
| $mapIdToDimension[$dimension->getId()] = $dimension; | |
| } | |
| $cache->save($cacheId, $mapIdToDimension); | |
| } | |
| return $mapIdToDimension; | |
| } | |
| /** | |
| * Returns a list of all available dimensions. | |
| * @return Dimension[] | |
| */ | |
| public function getAllDimensions() | |
| { | |
| return Dimension::getAllDimensions(); | |
| } | |
| } | |