PluginProbe ʕ •ᴥ•ʔ
Matomo Analytics – Powerful, Privacy-First Insights for WordPress / 4.3.0
Matomo Analytics – Powerful, Privacy-First Insights for WordPress v4.3.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 5 years ago MultiPair.php 5 years ago
MultiPair.php
90 lines
1 <?php
2 /**
3 * Matomo - free/libre analytics platform
4 *
5 * @link https://matomo.org
6 * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
7 *
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_PAIR;
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 /**
34 * Describes what HTML element should be used to manipulate the setting through Piwik's UI.
35 *
36 * See {@link Piwik\Plugin\Settings} for a list of supported control types.
37 *
38 * @var string
39 */
40 public $uiControl = null;
41
42 /**
43 * Defines a custom template file for a UI control. This file should render a UI control and expose the value in a
44 * "formField.value" angular model. For an example see "plugins/CorePluginsAdmin/angularjs/form-field/field-text.html"
45 *
46 * @var string
47 */
48 public $customUiControlTemplateFile = '';
49
50 /**
51 * This setting's display name, for example, `'Refresh Interval'`.
52 *
53 * Be sure to escape any user input as HTML can be used here.
54 *
55 * @var string
56 */
57 public $title = '';
58
59 /**
60 * The list of all available values for this setting. If null, the setting can have any value.
61 *
62 * If supplied, this field should be an array mapping available values with their prettified
63 * display value. Eg, if set to `array('nb_visits' => 'Visits', 'nb_actions' => 'Actions')`,
64 * the UI will display **Visits** and **Actions**, and when the user selects one, Piwik will
65 * set the setting to **nb_visits** or **nb_actions** respectively.
66 *
67 * @var null|array
68 */
69 public $availableValues = null;
70
71 public function __construct($title, $key, $uiControl = 'text')
72 {
73 $this->title = $title;
74 $this->key = $key;
75 $this->uiControl = $uiControl;
76 }
77
78 public function toArray()
79 {
80 return array(
81 'key' => $this->key,
82 'title' => $this->title,
83 'uiControl' => $this->uiControl,
84 'templateFile' => $this->customUiControlTemplateFile,
85 'availableValues' => $this->availableValues,
86 );
87 }
88
89 }
90