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 / admin / views / editconfig / tmpl / default_global_columns.php
vikappointments / admin / views / editconfig / tmpl Last commit date
default.php 5 days ago default_currency.php 5 days ago default_currency_details.php 5 days ago default_currency_providers.php 5 days ago default_email.php 5 days ago default_email_attachments.php 5 days ago default_email_mail.php 5 days ago default_email_notifications.php 5 days ago default_email_template.php 5 days ago default_global.php 5 days ago default_global_calendars.php 5 days ago default_global_columns.php 5 days ago default_global_gdpr.php 5 days ago default_global_sync.php 5 days ago default_global_system.php 5 days ago default_global_timezone.php 5 days ago default_global_zip.php 5 days ago default_listings.php 5 days ago default_listings_employees.php 5 days ago default_listings_services.php 5 days ago default_shop.php 5 days ago default_shop_details.php 5 days ago default_shop_invoice.php 5 days ago default_shop_packages.php 5 days ago default_shop_recurrence.php 5 days ago default_shop_reviews.php 5 days ago default_shop_subscriptions.php 5 days ago default_shop_waitlist.php 5 days ago index.html 5 days ago
default_global_columns.php
193 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 $params = $this->params;
15
16 $vik = VAPApplication::getInstance();
17
18 /**
19 * Trigger event to display custom HTML.
20 * In case it is needed to include any additional fields,
21 * it is possible to create a plugin and attach it to an event
22 * called "onDisplayViewConfigGlobalColumns". The event method
23 * receives the view instance as argument.
24 *
25 * @since 1.7
26 */
27 $forms = $this->onDisplayView('GlobalColumns');
28
29 ?>
30
31 <div class="config-fieldset">
32
33 <div class="config-fieldset-head">
34 <h3><?php echo JText::translate('VAPCONFIGGLOBTITLE4'); ?></h3>
35 </div>
36
37 <div class="config-fieldset-body">
38
39 <?php
40 echo $vik->alert(JText::translate('VAPCONFIGGLOBTITLE4_HELP'), 'info');
41
42 $all_list_fields = array(
43 '1' => 'id',
44 '2' => 'sid',
45 '26' => 'checkin_ts',
46 '42' => 'checkout',
47 '3' => 'employee',
48 '4' => 'service',
49 '25' => 'people',
50 '20' => 'info',
51 '32' => 'nominative',
52 '8' => 'mail',
53 '27' => 'phone',
54 '9' => 'total',
55 '13' => 'payment',
56 '21' => 'coupon',
57 '35' => 'invoice',
58 '12' => 'status',
59 );
60
61 $listable_fields = array();
62
63 if (!empty($params['listablecols']))
64 {
65 $listable_fields = explode(',', $params['listablecols']);
66 }
67
68 foreach ($all_list_fields as $k => $f)
69 {
70 $selected = (int) in_array($f, $listable_fields);
71
72 $yes = $vik->initRadioElement('', '', $selected, 'onClick="toggleListField(\'' . $f . '\', 1);"');
73 $no = $vik->initRadioElement('', '', !$selected, 'onClick="toggleListField(\'' . $f . '\', 0);"');
74
75 echo $vik->openControl(JText::translate('VAPMANAGERESERVATION' . $k));
76 echo $vik->radioYesNo($f . 'listcol', $yes, $no);
77 ?>
78 <input type="hidden" name="listablecols[]" value="<?php echo $f . ':' . $selected; ?>" id="vaphidden<?php echo $f; ?>" />
79 <?php
80 echo $vik->closeControl();
81 }
82 ?>
83
84 <!-- Define role to detect the supported hook -->
85 <!-- {"rule":"customizer","event":"onDisplayViewConfigGlobalColumns","key":"basic","type":"field"} -->
86
87 <?php
88 /**
89 * Look for any additional fields to be pushed within
90 * the Global > Columns > Reservations List Columns fieldset.
91 *
92 * @since 1.7
93 */
94 if (isset($forms['basic']))
95 {
96 echo $forms['basic'];
97
98 // unset details form to avoid displaying it twice
99 unset($forms['basic']);
100 }
101 ?>
102
103 </div>
104
105 </div>
106
107 <?php
108 // do not allow the selection of some rules, which are already
109 // supported by the system as default columns (name, email, phone)
110 $fields = array_filter($this->customFields, function($field)
111 {
112 return !in_array($field['rule'], array('nominative', 'email', 'phone'));
113 });
114
115 if ($fields)
116 {
117 ?>
118 <div class="config-fieldset">
119
120 <div class="config-fieldset-head">
121 <h3><?php echo JText::translate('VAPMENUCUSTOMF'); ?></h3>
122 </div>
123
124 <div class="config-fieldset-body">
125
126 <?php
127 echo $vik->alert(JText::translate('VAPCONFIGGLOBTITLE4_CF_HELP'), 'info');
128
129 $listable_fields = explode(',', $params['listablecf']);
130
131 foreach ($fields as $field)
132 {
133 $selected = (int) in_array($field['name'], $listable_fields);
134
135 $yes = $vik->initRadioElement('', '', $selected, 'onClick="toggleListFieldCF(\'' . addslashes($field['name']) . '\', ' . $field['id'] . ', 1);"');
136 $no = $vik->initRadioElement('', '', !$selected, 'onClick="toggleListFieldCF(\'' . addslashes($field['name']) . '\', ' . $field['id'] . ', 0);"');
137
138 echo $vik->openControl($field['langname']);
139 echo $vik->radioYesNo('listcf' . $field['id'], $yes, $no);
140 ?>
141 <input type="hidden" name="listablecf[]" value="<?php echo $field['name'] . ':' . $selected; ?>" id="vapcfhidden<?php echo $field['id']; ?>" />
142 <?php
143 echo $vik->closeControl();
144 }
145 ?>
146
147 </div>
148
149 </div>
150 <?php
151 }
152 ?>
153
154 <!-- Define role to detect the supported hook -->
155 <!-- {"rule":"customizer","event":"onDisplayViewConfigGlobalColumns","type":"fieldset"} -->
156
157 <?php
158 /**
159 * Iterate remaining forms to be displayed as new fieldsets
160 * within the Global > Columns tab.
161 *
162 * @since 1.7
163 */
164 foreach ($forms as $formTitle => $formHtml)
165 {
166 ?>
167 <div class="config-fieldset">
168
169 <div class="config-fieldset-head">
170 <h3><?php echo JText::translate($formTitle); ?></h3>
171 </div>
172
173 <div class="config-fieldset-body">
174 <?php echo $formHtml; ?>
175 </div>
176
177 </div>
178 <?php
179 }
180 ?>
181
182 <script>
183
184 function toggleListField(id, value) {
185 jQuery('#vaphidden' + id).val(id + ':' + value);
186 }
187
188 function toggleListFieldCF(cf, id, value) {
189 jQuery('#vapcfhidden' + id).val(cf + ':' + value);
190 }
191
192 </script>
193