PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 3.20.0
GiveWP – Donation Plugin and Fundraising Platform v3.20.0
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 3 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
167 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 attributes.
76 *
77 * @since 2.7.0
78 * @var string
79 */
80 public $attributes = [];
81
82 final public function __construct()
83 {
84 }
85
86 /**
87 * Parse field arguments
88 *
89 * @since 2.7.0
90 *
91 * @param array $array
92 *
93 * @return mixed
94 */
95 public function parse($array)
96 {
97 $this->id = $array['id'];
98 $this->name = $array['name'];
99 $this->type = $array['type'];
100 $this->desc = isset($array['desc']) ? $array['desc'] : '';
101 $this->style = isset($array['style']) ? $array['style'] : '';
102 $this->wrapperClass = isset($array['wrapper_class']) ? $array['wrapper_class'] : '';
103 $this->defaultValue = isset($array['default']) ? $array['default'] : null;
104 $this->value = isset($array['value']) ? $array['value'] : null;
105 $this->attributes = isset($array['attributes']) ? $array['attributes'] : [];
106 }
107
108 /**
109 * Get Field object.
110 *
111 * @since 2.7.0
112 *
113 * @param array $array
114 *
115 * @return static
116 */
117 public static function fromArray($array)
118 {
119 $field = new static();
120
121 $field->validate($array);
122 $field->parse($array);
123
124 return $field;
125 }
126
127 /**
128 * Validate field arguments
129 *
130 * @since 2.7.0
131 *
132 * @param $array
133 */
134 public function validate($array)
135 {
136 $required = ['id', 'name', 'type'];
137 $array = array_filter($array); // Remove empty values.
138
139 if (array_diff($required, array_keys($array))) {
140 throw new InvalidArgumentException(
141 __('To create a TextField object, please provide valid id, name and type.', 'give')
142 );
143 }
144 }
145
146 /**
147 * Convert field object to array.
148 *
149 * @since 2.7.0
150 * @return array
151 */
152 public function toArray()
153 {
154 return [
155 'id' => $this->id,
156 'name' => $this->name,
157 'type' => $this->type,
158 'desc' => $this->desc,
159 'style' => $this->style,
160 'wrapper_class' => $this->wrapperClass,
161 'value' => $this->value,
162 'default' => $this->defaultValue,
163 'attributes' => $this->attributes,
164 ];
165 }
166 }
167