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