PluginProbe ʕ •ᴥ•ʔ
VikAppointments Services Booking Calendar / 1.2.21
VikAppointments Services Booking Calendar v1.2.21
1.2.21 1.2.20 trunk 1.2.17 1.2.18 1.2.19
vikappointments / site / layouts / payments / fields.php
vikappointments / site / layouts / payments Last commit date
fields.php 5 days ago index.html 5 days ago offcc.php 5 days ago paypal.php 5 days ago paypalec.php 5 days ago
fields.php
136 lines
1 <?php
2 /**
3 * @package VikAppointments
4 * @subpackage core
5 * @author E4J s.r.l.
6 * @copyright Copyright (C) 2021 E4J s.r.l. All Rights Reserved.
7 * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
8 * @link https://vikwp.com
9 */
10
11 // No direct access
12 defined('ABSPATH') or die('No script kiddies please!');
13
14 $fields = !empty($displayData['fields']) ? $displayData['fields'] : array();
15 $params = !empty($displayData['params']) ? $displayData['params'] : array();
16
17 $html = '';
18
19 $vik = VAPApplication::getInstance();
20
21 $hasPassword = false;
22
23 foreach ($fields as $key => $f)
24 {
25 $def_val = '';
26
27 if (!empty($params[$key]))
28 {
29 $def_val = $this->escape($params[$key]);
30 }
31 else if (!empty($f['default']))
32 {
33 $def_val = $f['default'];
34 }
35
36 $_label_arr = explode('//', $f['label']);
37 $label = str_replace(':', '', $_label_arr[0]);
38
39 $title = $label;
40
41 if (!empty($label))
42 {
43 $label .= (!empty($f['required']) ? '*' : '').':';
44 }
45
46 unset($_label_arr[0]);
47 $helplabel = implode('//', $_label_arr);
48
49 echo $vik->openControl($label);
50
51 $input = '';
52
53 if ($f['type'] == 'text')
54 {
55 ?>
56 <input type="text" class="<?php echo (!empty($f['required']) ? 'required' : ''); ?>" value="<?php echo $def_val; ?>" name="<?php echo $key; ?>" size="40" />
57 <?php
58 }
59 else if ($f['type'] == 'password')
60 {
61 $hasPassword = true;
62 ?>
63 <input type="password" class="<?php echo (!empty($f['required']) ? 'required' : ''); ?>" value="<?php echo $def_val; ?>" name="<?php echo $key; ?>" size="40" />
64
65 <a href="javascript:void(0)" class="input-align" onclick="switchPasswordField(this);"><i class="fas fa-lock big" style="margin-left: 10px;"></i></a>
66 <?php
67 }
68 else if ($f['type'] == 'select')
69 {
70 $is_assoc = (array_keys($f['options']) !== range(0, count($f['options']) - 1));
71 ?>
72 <select name="<?php echo $key.(!empty($f['multiple']) ? '[]' : ''); ?>"
73 class="<?php echo (!empty($f['required']) ? 'required' : ''); ?>"
74 <?php echo (!empty($f['multiple']) ? 'multiple' : ''); ?>
75 >
76 <?php
77 foreach ($f['options'] as $opt_key => $opt_val)
78 {
79 if (!$is_assoc)
80 {
81 $opt_key = $opt_val;
82 }
83
84 ?>
85
86 <option
87 value="<?php echo $opt_key; ?>"
88 <?php echo ((is_array($def_val) && in_array($opt_key, $def_val)) || $opt_key == $def_val ? 'selected="selected"' : ''); ?>
89 ><?php echo $opt_val; ?></option>
90
91 <?php
92 }
93 ?>
94 </select>
95 <?php
96 }
97 else
98 {
99 echo $f['html'];
100 }
101
102 if ($helplabel)
103 {
104 echo $vik->createPopover(array(
105 'title' => $title,
106 'content' => strtoupper($helplabel[0]) . substr($helplabel, 1),
107 ));
108 }
109
110 echo $vik->closeControl();
111 }
112
113 if ($hasPassword)
114 {
115 ?>
116 <script>
117
118 function switchPasswordField(link) {
119
120 if (jQuery(link).prev().is(':password'))
121 {
122 jQuery(link).prev().attr('type', 'text');
123 jQuery(link).find('i').removeClass('fa-lock').addClass('fa-unlock');
124 }
125 else
126 {
127 jQuery(link).prev().attr('type', 'password');
128 jQuery(link).find('i').removeClass('fa-unlock').addClass('fa-lock');
129 }
130
131 }
132
133 </script>
134 <?php
135 }
136