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 / Settings / Plugin / SystemConfigSetting.php
matomo / app / core / Settings / Plugin Last commit date
SystemConfigSetting.php 1 month ago SystemSetting.php 1 month ago SystemSettings.php 1 month ago UserSetting.php 1 month ago UserSettings.php 1 month ago
SystemConfigSetting.php
63 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\Settings\Plugin;
10
11 use Piwik\Container\StaticContainer;
12 use Piwik\Piwik;
13 use Piwik\Settings\Setting;
14 /**
15 * Describes a system wide setting. Only the Super User can change this type of setting by d efault and
16 * the value of this setting will affect all users.
17 *
18 * See {@link \Piwik\Settings\Setting}.
19 *
20 * @api
21 */
22 class SystemConfigSetting extends Setting
23 {
24 protected $configSection = null;
25 /**
26 * @param string $name The setting's persisted name.
27 * @param mixed $defaultValue Default value for this setting if no value was specified.
28 * @param string $type Eg an array, int, ... see TYPE_* constants
29 * @param string $pluginName The name of the plugin the system setting belongs to.
30 */
31 public function __construct($name, $defaultValue, $type, $pluginName, $configSectionName)
32 {
33 parent::__construct($name, $defaultValue, $type, $pluginName);
34 $factory = StaticContainer::get('Piwik\\Settings\\Storage\\Factory');
35 $this->configSection = $configSectionName;
36 $this->storage = $factory->getConfigStorage($configSectionName);
37 }
38 /**
39 * Returns `true` if this setting is writable for the current user, `false` if otherwise. In case it returns
40 * writable for the current user it will be visible in the Plugin settings UI.
41 *
42 * @return bool
43 */
44 public function isWritableByCurrentUser()
45 {
46 if (isset($this->hasWritePermission)) {
47 return $this->hasWritePermission;
48 }
49 // performance improvement, do not detect this in __construct otherwise likely rather "big" query to DB.
50 $this->hasWritePermission = Piwik::hasUserSuperUserAccess();
51 return $this->hasWritePermission;
52 }
53 /**
54 * Returns the config section the setting is for
55 *
56 * @return string
57 */
58 public function getConfigSectionName()
59 {
60 return $this->configSection;
61 }
62 }
63