PluginProbe ʕ •ᴥ•ʔ
Matomo Analytics – Powerful, Privacy-First Insights for WordPress / 5.8.2
Matomo Analytics – Powerful, Privacy-First Insights for WordPress v5.8.2
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 / Config / SectionConfig.php
matomo / app / core / Config Last commit date
Cache.php 1 year ago ConfigNotFoundException.php 2 years ago DatabaseConfig.php 1 year ago GeneralConfig.php 2 years ago IniFileChain.php 6 months ago SectionConfig.php 3 months ago
SectionConfig.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\Config;
10
11 use Piwik\Config;
12 abstract class SectionConfig
13 {
14 public static abstract function getSectionName() : string;
15 /**
16 * Set the value for a setting
17 *
18 * @param string $name Setting name
19 * @param mixed $value Value
20 *
21 */
22 public static function setConfigValue(string $name, $value) : void
23 {
24 $section = self::getConfig();
25 $section[$name] = $value;
26 Config::getInstance()->{static::getSectionName()} = $section;
27 }
28 /**
29 * Get a setting value
30 *
31 * @param string $name Setting name
32 * @param int|null $idSite Optional site Id
33 *
34 * @return mixed|null
35 */
36 public static function getConfigValue(string $name, ?int $idSite = null)
37 {
38 $config = self::getConfig();
39 if (!empty($idSite)) {
40 $siteSpecificConfig = self::getSiteSpecificConfig($idSite);
41 $config = array_merge($config, $siteSpecificConfig);
42 }
43 return $config[$name] ?? null;
44 }
45 /**
46 * Get the section config as an array
47 *
48 * @return array|string
49 */
50 private static function getConfig()
51 {
52 return Config::getInstance()->{static::getSectionName()};
53 }
54 /**
55 * Get the site specific config (if any) as an array
56 *
57 *
58 * @return array|string
59 */
60 private static function getSiteSpecificConfig(int $idSite)
61 {
62 $key = static::getSectionName() . '_' . $idSite;
63 return Config::getInstance()->{$key};
64 }
65 }
66