PluginProbe ʕ •ᴥ•ʔ
Matomo Analytics – Powerful, Privacy-First Insights for WordPress / 5.0.3
Matomo Analytics – Powerful, Privacy-First Insights for WordPress v5.0.3
5.13.0 5.12.1 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 / Settings / FieldConfig / MultiPair.php
matomo / app / core / Settings / FieldConfig Last commit date
ArrayField.php 2 years ago MultiPair.php 2 years ago
MultiPair.php
77 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\Settings\FieldConfig;
11
12 /**
13 * Lets you configure a multi pair field.
14 *
15 * Usage:
16 *
17 * $field->uiControl = FieldConfig::UI_CONTROL_MULTI_TUPLE;
18 * $field1 = new FieldConfig\MultiPair('Index', 'index', FieldConfig::UI_CONTROL_TEXT);
19 * $field2 = new FieldConfig\MultiPair('Value', 'value', FieldConfig::UI_CONTROL_TEXT);
20 * $field->uiControlAttributes['field1'] = $field1->toArray();
21 * $field->uiControlAttributes['field2'] = $field2->toArray();
22 *
23 * @api
24 */
25 class MultiPair
26 {
27 /**
28 * The name of the key the index should have eg "dimension" will make an index array(array('dimension' => '...'))
29 * @var string
30 */
31 public $key = '';
32 /**
33 * Describes what HTML element should be used to manipulate the setting through Piwik's UI.
34 *
35 * See {@link Piwik\Plugin\Settings} for a list of supported control types.
36 *
37 * @var string
38 */
39 public $uiControl = null;
40 /**
41 * Array like ['plugin' => 'MyPlugin', 'component' => 'MyExportedCustomFieldComponent']. For an example see
42 * "plugins/CorePluginsAdmin/vue/src/FormField/FieldText.vue"
43 *
44 * @var string[]
45 */
46 public $customFieldComponent = null;
47 /**
48 * This setting's display name, for example, `'Refresh Interval'`.
49 *
50 * Be sure to escape any user input as HTML can be used here.
51 *
52 * @var string
53 */
54 public $title = '';
55 /**
56 * The list of all available values for this setting. If null, the setting can have any value.
57 *
58 * If supplied, this field should be an array mapping available values with their prettified
59 * display value. Eg, if set to `array('nb_visits' => 'Visits', 'nb_actions' => 'Actions')`,
60 * the UI will display **Visits** and **Actions**, and when the user selects one, Piwik will
61 * set the setting to **nb_visits** or **nb_actions** respectively.
62 *
63 * @var null|array
64 */
65 public $availableValues = null;
66 public function __construct($title, $key, $uiControl = 'text')
67 {
68 $this->title = $title;
69 $this->key = $key;
70 $this->uiControl = $uiControl;
71 }
72 public function toArray()
73 {
74 return array('key' => $this->key, 'title' => $this->title, 'uiControl' => $this->uiControl, 'component' => $this->customFieldComponent, 'availableValues' => $this->availableValues);
75 }
76 }
77