PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.13.2
GiveWP – Donation Plugin and Fundraising Platform v2.13.2
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 6 years ago Field.php 5 years ago File.php 6 years ago Group.php 5 years ago Media.php 6 years ago Radio.php 6 years ago Text.php 6 years ago Textarea.php 6 years ago Wysiwyg.php 6 years ago
Field.php
154 lines
1 <?php
2 namespace Give\FormAPI\Form;
3
4 use Give\Framework\Exceptions\Primitives\InvalidArgumentException;
5
6 abstract class Field {
7
8 /**
9 * Field id
10 *
11 * @since 2.7.0
12 * @var string
13 */
14 public $id;
15
16 /**
17 * Field name
18 *
19 * @since 2.7.0
20 * @var string
21 */
22 public $name;
23
24 /**
25 * Field description
26 *
27 * @since 2.7.0
28 * @var string
29 */
30 public $desc = '';
31
32 /**
33 * Field type
34 *
35 * @since 2.7.0
36 * @var string
37 */
38 public $type;
39
40 /**
41 * Field style
42 *
43 * @since 2.7.0
44 * @var string
45 */
46 public $style = '';
47
48 /**
49 * Field wrapper class.
50 *
51 * @since 2.7.0
52 * @var string
53 */
54 public $wrapperClass = '';
55
56 /**
57 * Field value.
58 *
59 * @since 2.7.0
60 * @var string
61 */
62 public $value = null;
63
64 /**
65 * Field default value.
66 *
67 * @since 2.7.0
68 * @var string
69 */
70 public $defaultValue = null;
71
72 /**
73 * Field attribues.
74 *
75 * @since 2.7.0
76 * @var string
77 */
78 public $attributes = [];
79
80 /**
81 * Parse field arguments
82 *
83 * @since 2.7.0
84 * @param array $array
85 * @return mixed
86 */
87 public function parse( $array ) {
88 $this->id = $array['id'];
89 $this->name = $array['name'];
90 $this->type = $array['type'];
91 $this->desc = isset( $array['desc'] ) ? $array['desc'] : '';
92 $this->style = isset( $array['style'] ) ? $array['style'] : '';
93 $this->wrapperClass = isset( $array['wrapper_class'] ) ? $array['wrapper_class'] : '';
94 $this->defaultValue = isset( $array['default'] ) ? $array['default'] : null;
95 $this->value = isset( $array['value'] ) ? $array['value'] : null;
96 $this->attributes = isset( $array['attributes'] ) ? $array['attributes'] : [];
97 }
98
99
100 /**
101 * Get Field object.
102 *
103 * @since 2.7.0
104 * @param array $array
105 *
106 * @return static
107 */
108 public static function fromArray( $array ) {
109 $field = new static();
110
111 $field->validate( $array );
112 $field->parse( $array );
113
114 return $field;
115 }
116
117
118 /**
119 * Validate field arguments
120 *
121 * @since 2.7.0
122 * @param $array
123 */
124 public function validate( $array ) {
125 $required = [ 'id', 'name', 'type' ];
126 $array = array_filter( $array ); // Remove empty values.
127
128 if ( array_diff( $required, array_keys( $array ) ) ) {
129 throw new InvalidArgumentException( __( 'To create a TextField object, please provide valid id, name and type.', 'give' ) );
130 }
131 }
132
133
134 /**
135 * Convert field object to array.
136 *
137 * @since 2.7.0
138 * @return array
139 */
140 public function toArray() {
141 return [
142 'id' => $this->id,
143 'name' => $this->name,
144 'type' => $this->type,
145 'desc' => $this->desc,
146 'style' => $this->style,
147 'wrapper_class' => $this->wrapperClass,
148 'value' => $this->value,
149 'default' => $this->defaultValue,
150 'attributes' => $this->attributes,
151 ];
152 }
153 }
154