PluginProbe ʕ •ᴥ•ʔ
Matomo Analytics – Powerful, Privacy-First Insights for WordPress / 5.2.0
Matomo Analytics – Powerful, Privacy-First Insights for WordPress v5.2.0
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 1 year ago SectionConfig.php 2 years ago
SectionConfig.php
68 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 * @return void
22 */
23 public static function setConfigValue(string $name, $value) : void
24 {
25 $section = self::getConfig();
26 $section[$name] = $value;
27 Config::getInstance()->{static::getSectionName()} = $section;
28 }
29 /**
30 * Get a setting value
31 *
32 * @param string $name Setting name
33 * @param int|null $idSite Optional site Id
34 *
35 * @return mixed|null
36 */
37 public static function getConfigValue(string $name, ?int $idSite = null)
38 {
39 $config = self::getConfig();
40 if (!empty($idSite)) {
41 $siteSpecificConfig = self::getSiteSpecificConfig($idSite);
42 $config = array_merge($config, $siteSpecificConfig);
43 }
44 return $config[$name] ?? null;
45 }
46 /**
47 * Get the section config as an array
48 *
49 * @return array|string
50 */
51 private static function getConfig()
52 {
53 return Config::getInstance()->{static::getSectionName()};
54 }
55 /**
56 * Get the site specific config (if any) as an array
57 *
58 * @param int $idSite
59 *
60 * @return array|string
61 */
62 private static function getSiteSpecificConfig(int $idSite)
63 {
64 $key = static::getSectionName() . '_' . $idSite;
65 return Config::getInstance()->{$key};
66 }
67 }
68