blob: 6a4a76c5ac05778f2c72280ccc59fa078398c264 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
<?php
/**
* Piwik - free/libre analytics platform
*
* @link http://piwik.org
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
*
*/
namespace Piwik\Settings;
/**
* Base type of all Setting storage implementations.
*/
interface StorageInterface
{
/**
* Gets the current value for this setting. If no value is specified, the default value will be returned.
*
* @param Setting $setting
*
* @return mixed
*
* @throws \Exception In case the setting does not exist or if the current user is not allowed to change the value
* of this setting.
*/
public function getValue(Setting $setting);
/**
* Removes the value for the given setting. Make sure to call `save()` afterwards, otherwise the removal has no
* effect.
*
* @param Setting $setting
*/
public function deleteValue(Setting $setting);
/**
* Sets (overwrites) the value for the given setting. Make sure to call `save()` afterwards, otherwise the change
* has no effect. Before the value is saved a possibly define `validate` closure and `filter` closure will be
* called. Alternatively the value will be casted to the specfied setting type.
*
* @param Setting $setting
* @param string $value
*
* @throws \Exception In case the setting does not exist or if the current user is not allowed to change the value
* of this setting.
*/
public function setValue(Setting $setting, $value);
/**
* Removes all settings for this plugin from the database. Useful when uninstalling
* a plugin.
*/
public function deleteAllValues();
/**
* Saves (persists) the current setting values in the database.
*/
public function save();
}
|