PluginProbe ʕ •ᴥ•ʔ
Matomo Analytics – Powerful, Privacy-First Insights for WordPress / 5.0.7
Matomo Analytics – Powerful, Privacy-First Insights for WordPress v5.0.7
5.12.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 2 years ago ConfigNotFoundException.php 2 years ago DatabaseConfig.php 2 years ago GeneralConfig.php 2 years ago IniFileChain.php 2 years ago SectionConfig.php 2 years ago
SectionConfig.php
69 lines
1 <?php
2
3 /**
4 * Matomo - free/libre analytics platform
5 *
6 * @link https://matomo.org
7 * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
8 *
9 */
10 namespace Piwik\Config;
11
12 use Piwik\Config;
13 abstract class SectionConfig
14 {
15 public static abstract function getSectionName() : string;
16 /**
17 * Set the value for a setting
18 *
19 * @param string $name Setting name
20 * @param mixed $value Value
21 *
22 * @return void
23 */
24 public static function setConfigValue(string $name, $value) : void
25 {
26 $section = self::getConfig();
27 $section[$name] = $value;
28 Config::getInstance()->{static::getSectionName()} = $section;
29 }
30 /**
31 * Get a setting value
32 *
33 * @param string $name Setting name
34 * @param int|null $idSite Optional site Id
35 *
36 * @return mixed|null
37 */
38 public static function getConfigValue(string $name, ?int $idSite = null)
39 {
40 $config = self::getConfig();
41 if (!empty($idSite)) {
42 $siteSpecificConfig = self::getSiteSpecificConfig($idSite);
43 $config = array_merge($config, $siteSpecificConfig);
44 }
45 return $config[$name] ?? null;
46 }
47 /**
48 * Get the section config as an array
49 *
50 * @return array|string
51 */
52 private static function getConfig()
53 {
54 return Config::getInstance()->{static::getSectionName()};
55 }
56 /**
57 * Get the site specific config (if any) as an array
58 *
59 * @param int $idSite
60 *
61 * @return array|string
62 */
63 private static function getSiteSpecificConfig(int $idSite)
64 {
65 $key = static::getSectionName() . '_' . $idSite;
66 return Config::getInstance()->{$key};
67 }
68 }
69