Willkommen bei WordPress. Dies ist dein erster Beitrag. Bearbeite oder lösche ihn und beginne mit dem Schreiben!
Hallo Welt!
von raredesign | Dez 3, 2019 | Allgemein | 0 Kommentare
Cokiee Shell
Current Path : /var/www/web28/html/wp-content/plugins/matomo/app/core/Settings/Storage/ |
Current File : //var/www/web28/html/wp-content/plugins/matomo/app/core/Settings/Storage/Storage.php |
<?php /** * Matomo - free/libre analytics platform * * @link https://matomo.org * @license https://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ namespace Piwik\Settings\Storage; use Piwik\Settings\Storage\Backend; /** * A storage stores values for multiple settings. Storing multiple settings here saves having to do * a "get" for each individual setting. A storage is usually stared between all individual setting instances * within a plugin. */ class Storage { /** * Array containing all plugin settings values: Array( [setting-key] => [setting-value] ). * * @var array */ protected $settingsValues = array(); // for lazy loading of setting values private $settingValuesLoaded = false; /** * @var Backend\BackendInterface */ private $backend; /** * Defines whether a value has changed since the settings were loaded or not. * @var bool */ private $isDirty = false; public function __construct(Backend\BackendInterface $backend) { $this->backend = $backend; } /** * Get the currently used backend for this storage. * @return Backend\BackendInterface */ public function getBackend() { return $this->backend; } /** * Saves (persists) the current setting values in the database if a value has actually changed. */ public function save() { if ($this->isDirty) { $this->backend->save($this->settingsValues); $this->isDirty = false; Backend\Cache::clearCache(); } } /** * Returns the current value for a setting. If no value is stored, the default value * is be returned. * * @param string $key The name / key of a setting * @param mixed $defaultValue Default value that will be used in case no value for this setting exists yet * @param string $type The PHP internal type the value of the setting should have, see FieldConfig::TYPE_* * constants. Only an actual value of the setting will be converted to the given type, the * default value will not be converted. * @return mixed */ public function getValue($key, $defaultValue, $type) { $this->loadSettingsIfNotDoneYet(); if (array_key_exists($key, $this->settingsValues)) { settype($this->settingsValues[$key], $type); return $this->settingsValues[$key]; } return $defaultValue; } /** * Sets (overwrites) the value of a setting in memory. To persist the change across requests, {@link save()} must be * called. * * @param string $key The name / key of a setting * @param mixed $value The value that shall be set for the given setting. */ public function setValue($key, $value) { $this->loadSettingsIfNotDoneYet(); $this->isDirty = true; $this->settingsValues[$key] = $value; } private function loadSettingsIfNotDoneYet() { if ($this->settingValuesLoaded) { return; } $this->settingValuesLoaded = true; $this->settingsValues = $this->backend->load(); } }
Cokiee Shell Web 1.0, Coded By Razor
Neueste Kommentare