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 / Columns / DimensionsProvider.php
matomo / app / core / Columns Last commit date
Join 2 years ago ComputedMetricFactory.php 2 years ago Dimension.php 1 month ago DimensionMetricFactory.php 1 year ago DimensionSegmentFactory.php 6 months ago DimensionsProvider.php 6 months ago Discriminator.php 2 years ago Join.php 2 years ago MetricsList.php 3 months ago Updater.php 3 months ago
DimensionsProvider.php
53 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\Columns;
10
11 use Piwik\CacheId;
12 use Piwik\Cache as PiwikCache;
13 class DimensionsProvider
14 {
15 /**
16 * @param $dimensionId
17 * @return ?Dimension
18 */
19 public function factory($dimensionId)
20 {
21 $listDimensions = self::getMapOfNameToDimension();
22 if (empty($listDimensions) || !is_array($listDimensions) || !$dimensionId || !array_key_exists($dimensionId, $listDimensions)) {
23 return null;
24 }
25 return $listDimensions[$dimensionId];
26 }
27 private static function getMapOfNameToDimension()
28 {
29 $cacheId = CacheId::siteAware(CacheId::pluginAware('DimensionFactoryMap'));
30 $cache = PiwikCache::getTransientCache();
31 if ($cache->contains($cacheId)) {
32 $mapIdToDimension = $cache->fetch($cacheId);
33 } else {
34 $dimensions = new static();
35 $dimensions = $dimensions->getAllDimensions();
36 $mapIdToDimension = array();
37 foreach ($dimensions as $dimension) {
38 $mapIdToDimension[$dimension->getId()] = $dimension;
39 }
40 $cache->save($cacheId, $mapIdToDimension);
41 }
42 return $mapIdToDimension;
43 }
44 /**
45 * Returns a list of all available dimensions.
46 * @return Dimension[]
47 */
48 public function getAllDimensions()
49 {
50 return \Piwik\Columns\Dimension::getAllDimensions();
51 }
52 }
53