PluginProbe
WP Coder – Insert & Manage Code Snippets / 4.1
WP Coder – Insert & Manage Code Snippets v4.1
4.5.1 1.1 2.3.1 2.3.2 2.4.1 2.5.1 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 3.0 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.1 3.1.1 3.2 3.2.1 3.3 3.4 3.5 3.5.1 All 39 releases
wp-coder / classes / Dashboard / Option.php

Option.php in WP Coder – Insert & Manage Code Snippets 4.1, at classes/Dashboard/Option.php

164 lines 5.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace WPCoder\Dashboard;
4
5 class Option {
6
7 public static function init( $options = [], $i = '' ) {
8 foreach ( $options as $key => $values ) {
9 switch ( $values['type'] ) {
10 case 'text':
11 case 'url':
12 case 'number':
13 case 'date':
14 case 'time':
15 self::text( $values, $i );
16 break;
17 case 'checkbox':
18 self::checkbox( $values, $i );
19 break;
20 case 'select':
21 self::select( $values, $i );
22 break;
23 case 'textarea':
24 self::textarea( $values, $i );
25 break;
26 case 'color':
27 self::color( $values, $i );
28 break;
29 }
30 }
31 }
32
33 private static function textarea( $values, $i ) {
34 $class = ! empty( $values['class'] ) ? 'wowp-field ' . $values['class'] : 'wowp-field';
35 $name = $values['name'];
36 $id_name = self::get_id_name( $name, $i );
37 $id = Field::get_id( $id_name );
38 $default = ! empty( $values['default'] ) ? $values['default'] : '';
39 $title = ! empty( $values['info'] ) ? $values['info'] : '';
40 $info_class = ! empty( $values['info'] ) ? ' wowp-info' : '';
41 ?>
42 <div class="<?php echo esc_attr( $class ); ?>" data-option="<?php echo esc_attr( $id ); ?>">
43 <?php if ( ! empty( $values['title'] ) ) : ?>
44 <label class="label<?php echo esc_attr( $info_class ); ?>" for="<?php echo esc_attr( $id ); ?>"
45 data-info="<?php echo esc_attr( $title ); ?>">
46 <?php echo esc_html( $values['title'] ); ?>
47 </label>
48 <?php endif; ?>
49
50 <?php Field::textarea( $name, $default ); ?>
51 </div>
52 <?php
53
54 }
55
56 private static function select( $values, $i ): void {
57 $class = ! empty( $values['class'] ) ? 'wowp-field ' . $values['class'] : 'wowp-field';
58 $name = $values['name'];
59 $id_name = self::get_id_name( $name, $i );
60 $id = Field::get_id( $id_name );
61 $default = ! empty( $values['default'] ) ? $values['default'] : '';
62 $options = ! empty( $values['options'] ) ? $values['options'] : [];
63 $tooltip = ! empty( $values['tooltip'] ) ? $values['tooltip'] : '';
64 ?>
65 <div class="<?php echo esc_attr( $class ); ?>" data-option="<?php echo esc_attr( $id ); ?>">
66 <label>
67 <?php if ( ! empty( $values['title'] ) ) : ?>
68 <span class="label">
69 <?php echo esc_html( $values['title'] ); ?>
70 <?php if ( ! empty( $tooltip ) ) : ?>
71 <sup class="wowp-tooltip" data-tooltip="<?php echo esc_attr($tooltip);?>"></sup>
72 <?php endif; ?>
73 </span>
74 <?php endif; ?>
75
76 <?php Field::select( $name, $default, $options, $i ); ?>
77 </label>
78 </div>
79
80 <?php
81 }
82
83 private static function checkbox( $values, $i ): void {
84 $class = ! empty( $values['class'] ) ? 'wowp-field has-checkbox ' . $values['class'] : 'wowp-field has-checkbox';
85 $name = $values['name'];
86 $id_name = self::get_id_name( $name, $i );
87 $id = Field::get_id( $id_name );
88 $tooltip = ! empty( $values['tooltip'] ) ? $values['tooltip'] : '';
89 ?>
90 <div class="<?php echo esc_attr( $class ); ?>" data-option="<?php echo esc_attr( $id ); ?>">
91 <?php if ( ! empty( $values['title'] ) ) : ?>
92 <span class="label">
93 <?php echo esc_html( $values['title'] ); ?>
94 <?php if ( ! empty( $tooltip ) ) : ?>
95 <sup class="wowp-tooltip" data-tooltip="<?php echo esc_attr($tooltip);?>"></sup>
96 <?php endif; ?>
97 </span>
98 <?php endif; ?>
99 <label class="switch">
100 <?php Field::checkbox( $name, $i ); ?>
101 <span class="slider">
102 </label>
103 </div>
104 <?php
105
106 }
107
108 private static function color( $values, $i ): void {
109 $class = ! empty( $values['class'] ) ? 'wowp-field ' . $values['class'] : 'wowp-field';
110 $name = $values['name'];
111 $id_name = self::get_id_name( $name, $i );
112 $id = Field::get_id( $id_name );
113 $default = ! empty( $values['default'] ) ? $values['default'] : '';
114 $title = ! empty( $values['info'] ) ? $values['info'] : '';
115 $info_class = ! empty( $values['info'] ) ? ' wowp-info' : '';
116 ?>
117 <div class="<?php echo esc_attr( $class ); ?>" data-option="<?php echo esc_attr( $id ); ?>">
118 <?php if ( ! empty( $values['title'] ) ) : ?>
119 <span class="label<?php echo esc_attr( $info_class ); ?>" data-info="<?php echo esc_attr( $title ); ?>">
120 <?php echo esc_html( $values['title'] ); ?>
121 </span>
122 <?php endif; ?>
123 <?php Field::text( $name, $default, $values['type'], $i ); ?>
124
125 </div>
126 <?php
127 }
128
129 private static function text( $values, $i ): void {
130 $class = ! empty( $values['class'] ) ? 'wowp-field ' . $values['class'] : 'wowp-field';
131 $name = $values['name'];
132 $id_name = self::get_id_name( $name, $i );
133 $id = Field::get_id( $id_name );
134 $default = ! empty( $values['default'] ) ? $values['default'] : '';
135 $title = ! empty( $values['info'] ) ? $values['info'] : '';
136 $info_class = ! empty( $values['info'] ) ? ' wowp-info' : '';
137 ?>
138 <div class="<?php echo esc_attr( $class ); ?>" data-option="<?php echo esc_attr( $id ); ?>">
139 <label>
140 <?php if ( ! empty( $values['title'] ) ) : ?>
141 <span class="label<?php echo esc_attr( $info_class ); ?>"
142 data-info="<?php echo esc_attr( $title ); ?>">
143 <?php echo esc_html( $values['title'] ); ?>
144 </span>
145 <?php endif; ?>
146
147 <?php Field::text( $name, $default, $values['type'], $i ); ?>
148 <?php if ( ! empty( $values['addon'] ) ) : ?>
149 <span class="is-addon"><?php echo esc_html( $values['addon'] ); ?></span>
150 <?php endif; ?>
151 </label>
152 </div>
153 <?php
154 }
155
156 private static function get_id_name( $name, $i ) {
157 if ( is_numeric( $i ) ) {
158 return $name . '[' . $i . ']';
159 }
160
161 return $name;
162 }
163
164 }