PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.20.1
GiveWP – Donation Plugin and Fundraising Platform v2.20.1
4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / src / FormAPI / Form / Field.php
give / src / FormAPI / Form Last commit date
Colorpicker.php 4 years ago Field.php 4 years ago File.php 4 years ago Group.php 4 years ago Media.php 4 years ago Radio.php 4 years ago Select.php 4 years ago Text.php 4 years ago Textarea.php 4 years ago Wysiwyg.php 4 years ago
Field.php
163 lines
1 <?php
2
3 namespace Give\FormAPI\Form;
4
5 use Give\Framework\Exceptions\Primitives\InvalidArgumentException;
6
7 abstract class Field
8 {
9
10 /**
11 * Field id
12 *
13 * @since 2.7.0
14 * @var string
15 */
16 public $id;
17
18 /**
19 * Field name
20 *
21 * @since 2.7.0
22 * @var string
23 */
24 public $name;
25
26 /**
27 * Field description
28 *
29 * @since 2.7.0
30 * @var string
31 */
32 public $desc = '';
33
34 /**
35 * Field type
36 *
37 * @since 2.7.0
38 * @var string
39 */
40 public $type;
41
42 /**
43 * Field style
44 *
45 * @since 2.7.0
46 * @var string
47 */
48 public $style = '';
49
50 /**
51 * Field wrapper class.
52 *
53 * @since 2.7.0
54 * @var string
55 */
56 public $wrapperClass = '';
57
58 /**
59 * Field value.
60 *
61 * @since 2.7.0
62 * @var string
63 */
64 public $value = null;
65
66 /**
67 * Field default value.
68 *
69 * @since 2.7.0
70 * @var string
71 */
72 public $defaultValue = null;
73
74 /**
75 * Field attribues.
76 *
77 * @since 2.7.0
78 * @var string
79 */
80 public $attributes = [];
81
82 /**
83 * Parse field arguments
84 *
85 * @since 2.7.0
86 *
87 * @param array $array
88 *
89 * @return mixed
90 */
91 public function parse($array)
92 {
93 $this->id = $array['id'];
94 $this->name = $array['name'];
95 $this->type = $array['type'];
96 $this->desc = isset($array['desc']) ? $array['desc'] : '';
97 $this->style = isset($array['style']) ? $array['style'] : '';
98 $this->wrapperClass = isset($array['wrapper_class']) ? $array['wrapper_class'] : '';
99 $this->defaultValue = isset($array['default']) ? $array['default'] : null;
100 $this->value = isset($array['value']) ? $array['value'] : null;
101 $this->attributes = isset($array['attributes']) ? $array['attributes'] : [];
102 }
103
104 /**
105 * Get Field object.
106 *
107 * @since 2.7.0
108 *
109 * @param array $array
110 *
111 * @return static
112 */
113 public static function fromArray($array)
114 {
115 $field = new static();
116
117 $field->validate($array);
118 $field->parse($array);
119
120 return $field;
121 }
122
123 /**
124 * Validate field arguments
125 *
126 * @since 2.7.0
127 *
128 * @param $array
129 */
130 public function validate($array)
131 {
132 $required = ['id', 'name', 'type'];
133 $array = array_filter($array); // Remove empty values.
134
135 if (array_diff($required, array_keys($array))) {
136 throw new InvalidArgumentException(
137 __('To create a TextField object, please provide valid id, name and type.', 'give')
138 );
139 }
140 }
141
142 /**
143 * Convert field object to array.
144 *
145 * @since 2.7.0
146 * @return array
147 */
148 public function toArray()
149 {
150 return [
151 'id' => $this->id,
152 'name' => $this->name,
153 'type' => $this->type,
154 'desc' => $this->desc,
155 'style' => $this->style,
156 'wrapper_class' => $this->wrapperClass,
157 'value' => $this->value,
158 'default' => $this->defaultValue,
159 'attributes' => $this->attributes,
160 ];
161 }
162 }
163