| <?php |
|
|
| |
| |
| |
| |
| |
| |
|
|
| namespace Piwik\Plugins\ExampleSettingsPlugin; |
|
|
| use Piwik\Settings\Setting; |
| use Piwik\Settings\FieldConfig; |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| class UserSettings extends \Piwik\Settings\Plugin\UserSettings |
| { |
| |
| public $autoRefresh; |
|
|
| |
| public $refreshInterval; |
|
|
| |
| public $color; |
|
|
| protected function init() |
| { |
| |
| $this->autoRefresh = $this->createAutoRefreshSetting(); |
|
|
| |
| $this->refreshInterval = $this->createRefreshIntervalSetting(); |
|
|
| |
| $this->color = $this->createColorSetting(); |
| } |
|
|
| private function createAutoRefreshSetting() |
| { |
| return $this->makeSetting('autoRefresh', $default = false, FieldConfig::TYPE_BOOL, function (FieldConfig $field) { |
| $field->title = 'Auto refresh'; |
| $field->uiControl = FieldConfig::UI_CONTROL_CHECKBOX; |
| $field->description = 'If enabled, the value will be automatically refreshed depending on the specified interval'; |
| }); |
| } |
|
|
| private function createRefreshIntervalSetting() |
| { |
| return $this->makeSetting('refreshInterval', $default = '30', FieldConfig::TYPE_INT, function (FieldConfig $field) { |
| $field->title = 'Refresh Interval'; |
| $field->uiControl = FieldConfig::UI_CONTROL_TEXT; |
| $field->uiControlAttributes = array('size' => 3); |
| $field->description = 'Defines how often the value should be updated'; |
| $field->inlineHelp = 'Enter a number which is >= 15'; |
| $field->validate = function ($value, $setting) { |
| if ($value < 15) { |
| throw new \Exception('Value is invalid'); |
| } |
| }; |
| }); |
| } |
|
|
| private function createColorSetting() |
| { |
| return $this->makeSetting('color', $default = 'red', FieldConfig::TYPE_STRING, function (FieldConfig $field) { |
| $field->title = 'Color'; |
| $field->uiControl = FieldConfig::UI_CONTROL_RADIO; |
| $field->description = 'Pick your favourite color'; |
| $field->availableValues = array('red' => 'Red', 'blue' => 'Blue', 'green' => 'Green'); |
| }); |
| } |
| } |
|
|