PluginProbe ʕ •ᴥ•ʔ
Admin Columns / 7.1.4
Admin Columns v7.1.4
7.1.4 7.0.19 2.3.5 2.4 2.4.1 2.4.10 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.4.8 2.4.9 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.6.1 2.5.6.2 2.5.6.3 2.5.6.4 3.0 3.0.1 3.0.2 3.0.3 3.0.5 3.0.7 3.1 3.1.1 3.1.10 3.1.2 3.1.3 3.1.5 3.2.3 3.2.7 3.3.1 3.4.1 3.4.6 3.4.8 4.0.1 4.0.3 4.1.6 4.2.2 4.2.5 4.3 4.3.2 4.4.1 4.4.4 4.4.5 4.5.5 4.6.1 4.7.18 4.7.19 4.7.20 4.7.7 7.0.13 7.0.14 7.0.16 trunk 1.0 1.1 1.1.3 1.2 1.2.1 1.3 1.3.1 1.4 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.5.1 1.4.6 1.4.6.1 1.4.6.2 1.4.6.3 1.4.6.4 1.4.7 1.4.8 1.4.9 2.0.0 2.0.1 2.0.2 2.0.3 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.2 2.2.1 2.2.1.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.5.1 2.2.6 2.2.6.1 2.2.6.2 2.2.6.3 2.2.6.4 2.2.7 2.2.8 2.2.8.1 2.2.9 2.3.1 2.3.2 2.3.3
codepress-admin-columns / classes / Form / Element / Input.php
codepress-admin-columns / classes / Form / Element Last commit date
Checkbox.php 2 days ago Input.php 2 days ago MultiSelect.php 2 days ago Radio.php 2 days ago Select.php 2 days ago
Input.php
59 lines
1 <?php
2
3 declare(strict_types=1);
4
5 namespace AC\Form\Element;
6
7 use AC\Form\Element;
8
9 class Input extends Element
10 {
11 protected function is_valid_type(string $type): bool
12 {
13 $valid_types = [
14 'hidden',
15 'text',
16 'number',
17 'email',
18 'radio',
19 'checkbox',
20 ];
21
22 return in_array($type, $valid_types);
23 }
24
25 public function render(): string
26 {
27 $template = '<input %s>%s';
28
29 $attributes = $this->get_attributes();
30 $attributes['name'] = $this->get_name();
31 $attributes['id'] = $this->get_id();
32 $attributes['value'] = $this->get_value();
33 $attributes['type'] = $this->get_type();
34
35 return sprintf($template, $this->get_attributes_as_string($attributes), $this->render_description());
36 }
37
38 public function get_type(): string
39 {
40 $type = $this->get_attribute('type');
41
42 if (! $type) {
43 return 'text';
44 }
45
46 return strtolower($type);
47 }
48
49 public function set_type(string $type): self
50 {
51 if ($this->is_valid_type($type)) {
52 $this->set_attribute('type', $type);
53 }
54
55 return $this;
56 }
57
58 }
59