PluginProbe
Floating Button – Easily Create Sticky, Fixed & Floating Buttons / trunk
Floating Button – Easily Create Sticky, Fixed & Floating Buttons vtrunk
trunk 2.0.2 3.0 4.0 4.1.2 4.3 5.0 5.0.1 5.1 5.1.1 5.2 5.3 5.3.1 6.0 6.0.1 6.0.10 6.0.11 6.0.12 6.0.13 6.0.2 6.0.3 6.0.4 6.0.5 6.0.6 6.0.7 All 31 releases
floating-button / classes / Dashboard / Option.php

Option.php in Floating Button – Easily Create Sticky, Fixed & Floating Buttons trunk, at classes/Dashboard/Option.php

160 lines 5.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace FloatingButton\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 ?>
64 <div class="<?php echo esc_attr( $class ); ?>" data-option="<?php echo esc_attr( $id ); ?>">
65 <label>
66 <?php if ( ! empty( $values['title'] ) ) : ?>
67 <span class="label">
68 <?php echo esc_html( $values['title'] ); ?>
69 </span>
70 <?php endif; ?>
71
72 <?php Field::select( $name, $default, $options, $i ); ?>
73 </label>
74 </div>
75
76 <?php
77 }
78
79 private static function checkbox( $values, $i ): void {
80 $class = ! empty( $values['class'] ) ? 'wowp-field has-checkbox ' . $values['class'] : 'wowp-field has-checkbox';
81 $name = $values['name'];
82 $id_name = self::get_id_name( $name, $i );
83 $id = Field::get_id( $id_name );
84 ?>
85 <div class="<?php echo esc_attr( $class ); ?>" data-option="<?php echo esc_attr( $id ); ?>">
86 <label>
87 <?php if ( ! empty( $values['title'] ) ) : ?>
88 <span class="label">
89 <?php echo esc_html( $values['title'] ); ?>
90 </span>
91 <?php endif; ?>
92 <?php Field::checkbox( $name, $i ); ?>
93 <?php if ( ! empty( $values['text'] ) ) : ?>
94 <span>
95 <?php echo esc_html( $values['text'] ); ?>
96 </span>
97 <?php endif; ?>
98 </label>
99 </div>
100
101 <?php
102
103 }
104
105 private static function color( $values, $i ): void {
106 $class = ! empty( $values['class'] ) ? 'wowp-field ' . $values['class'] : 'wowp-field';
107 $name = $values['name'];
108 $id_name = self::get_id_name( $name, $i );
109 $id = Field::get_id( $id_name );
110 $default = ! empty( $values['default'] ) ? $values['default'] : '';
111 $title = ! empty( $values['info'] ) ? $values['info'] : '';
112 $info_class = ! empty( $values['info'] ) ? ' wowp-info' : '';
113 ?>
114 <div class="<?php echo esc_attr( $class ); ?>" data-option="<?php echo esc_attr( $id ); ?>">
115 <?php if ( ! empty( $values['title'] ) ) : ?>
116 <span class="label<?php echo esc_attr( $info_class ); ?>" data-info="<?php echo esc_attr( $title ); ?>">
117 <?php echo esc_html( $values['title'] ); ?>
118 </span>
119 <?php endif; ?>
120 <?php Field::text( $name, $default, $values['type'], $i ); ?>
121
122 </div>
123 <?php
124 }
125
126 private static function text( $values, $i ): void {
127 $class = ! empty( $values['class'] ) ? 'wowp-field ' . $values['class'] : 'wowp-field';
128 $name = $values['name'];
129 $id_name = self::get_id_name( $name, $i );
130 $id = Field::get_id( $id_name );
131 $default = ! empty( $values['default'] ) ? $values['default'] : '';
132 $title = ! empty( $values['info'] ) ? $values['info'] : '';
133 $info_class = ! empty( $values['info'] ) ? ' wowp-info' : '';
134 ?>
135 <div class="<?php echo esc_attr( $class ); ?>" data-option="<?php echo esc_attr( $id ); ?>">
136 <label>
137 <?php if ( ! empty( $values['title'] ) ) : ?>
138 <span class="label<?php echo esc_attr( $info_class ); ?>" data-info="<?php echo esc_attr( $title ); ?>">
139 <?php echo esc_html( $values['title'] ); ?>
140 </span>
141 <?php endif; ?>
142
143 <?php Field::text( $name, $default, $values['type'], $i ); ?>
144 <?php if ( ! empty( $values['addon'] ) ) : ?>
145 <span class="is-addon"><?php echo esc_html( $values['addon'] ); ?></span>
146 <?php endif; ?>
147 </label>
148 </div>
149 <?php
150 }
151
152 private static function get_id_name( $name, $i ) {
153 if ( is_numeric( $i ) ) {
154 return $name . '[' . $i . ']';
155 }
156
157 return $name;
158 }
159
160 }