PluginProbe
VikBooking Hotel Booking Engine & PMS / trunk
VikBooking Hotel Booking Engine & PMS vtrunk
1.8.15 1.8.14 1.8.13 1.8.12 1.8.11 1.8.10 1.8.9 1.8.6 1.8.7 1.8.8 trunk 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.6.9 1.7.0 1.7.1 1.7.2 1.7.3 All 36 releases
vikbooking / admin / views / config / tmpl / default_two.php

default_two.php in VikBooking Hotel Booking Engine & PMS trunk, at admin/views/config/tmpl/default_two.php

298 lines 15.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * @package VikBooking
4 * @subpackage com_vikbooking
5 * @author Alessio Gaggii - e4j - Extensionsforjoomla.com
6 * @copyright Copyright (C) 2018 e4j - Extensionsforjoomla.com. All rights reserved.
7 * @license GNU General Public License version 2 or later; see LICENSE
8 * @link https://vikwp.com
9 */
10
11 defined('ABSPATH') or die('No script kiddies please!');
12
13 $vbo_app = VikBooking::getVboApplication();
14 $formatvals = VikBooking::getNumberFormatData();
15 $formatparts = explode(':', $formatvals);
16 ?>
17 <div class="vbo-config-maintab-left">
18 <fieldset class="adminform">
19 <div class="vbo-params-wrap">
20 <legend class="adminlegend"><?php echo JText::translate('VBOCPARAMCURRENCY'); ?></legend>
21 <div class="vbo-params-container">
22 <div class="vbo-param-container">
23 <div class="vbo-param-label"><?php echo JText::translate('VBCONFIGTHREECURNAME'); ?></div>
24 <div class="vbo-param-setting"><input type="text" name="currencyname" value="<?php echo JHtml::fetch('esc_attr', VikBooking::getCurrencyName()); ?>" size="10"/></div>
25 </div>
26 <div class="vbo-param-container">
27 <div class="vbo-param-label"><?php echo JText::translate('VBCONFIGTHREECURSYMB'); ?></div>
28 <div class="vbo-param-setting"><input type="text" name="currencysymb" value="<?php echo JHtml::fetch('esc_attr', VikBooking::getCurrencySymb()); ?>" size="10"/></div>
29 </div>
30 <div class="vbo-param-container">
31 <div class="vbo-param-label"><?php echo JText::translate('VBCONFIGTHREECURCODEPP'); ?></div>
32 <div class="vbo-param-setting"><input type="text" name="currencycodepp" value="<?php echo JHtml::fetch('esc_attr', VikBooking::getCurrencyCodePp()); ?>" size="10"/></div>
33 </div>
34 <div class="vbo-param-container">
35 <div class="vbo-param-label"><?php echo JText::translate('VBCONFIGNUMDECIMALS'); ?></div>
36 <div class="vbo-param-setting"><input type="number" name="numdecimals" value="<?php echo $formatparts[0]; ?>" min="0" max="9"/></div>
37 </div>
38 <div class="vbo-param-container vbo-param-nested">
39 <div class="vbo-param-label"><?php echo JText::translate('VBO_NO_EMPTY_DECIMALS'); ?></div>
40 <div class="vbo-param-setting"><?php echo $vbo_app->printYesNoButtons('noemptydecimals', JText::translate('VBYES'), JText::translate('VBNO'), VikBooking::hideEmptyDecimals(), 1, 0); ?></div>
41 </div>
42 <div class="vbo-param-container">
43 <div class="vbo-param-label"><?php echo JText::translate('VBCONFIGNUMDECSEPARATOR'); ?></div>
44 <div class="vbo-param-setting"><input type="text" name="decseparator" value="<?php echo JHtml::fetch('esc_attr', $formatparts[1]); ?>" size="2"/></div>
45 </div>
46 <div class="vbo-param-container">
47 <div class="vbo-param-label"><?php echo JText::translate('VBCONFIGNUMTHOSEPARATOR'); ?></div>
48 <div class="vbo-param-setting"><input type="text" name="thoseparator" value="<?php echo JHtml::fetch('esc_attr', $formatparts[2]); ?>" size="2"/></div>
49 </div>
50 <div class="vbo-param-container">
51 <div class="vbo-param-label"><?php echo JText::translate('VBO_POSITION'); ?></div>
52 <div class="vbo-param-setting">
53 <?php
54 echo $vbo_app->multiStateToggleSwitchField(
55 'currencypos',
56 VikBooking::getCurrencyPosition(),
57 [
58 'before',
59 'after',
60 ],
61 [
62 [
63 'value' => VikBooking::getCurrencySymb() . ' 100',
64 'title' => JText::translate('VBO_CURRENCY_POS_BEFORE'),
65 ],
66 [
67 'value' => '100 ' . VikBooking::getCurrencySymb(),
68 'title' => JText::translate('VBO_CURRENCY_POS_AFTER'),
69 ],
70 ],
71 [
72 [
73 'label_class' => 'vik-multiswitch-radiobtn-light',
74 ],
75 [
76 'label_class' => 'vik-multiswitch-radiobtn-auto',
77 ],
78 ],
79 [
80 'class' => 'vbo-multiswitch-double',
81 ]
82 );
83 ?>
84 </div>
85 </div>
86 </div>
87 </div>
88 </fieldset>
89
90 <fieldset class="adminform">
91 <div class="vbo-params-wrap">
92 <legend class="adminlegend"><?php echo JText::translate('VBOCPARAMTAXPAY'); ?></legend>
93 <div class="vbo-params-container">
94 <div class="vbo-param-container">
95 <div class="vbo-param-label"><?php echo JText::translate('VBCONFIGTWOFIVE'); ?></div>
96 <div class="vbo-param-setting"><?php echo $vbo_app->printYesNoButtons('ivainclusa', JText::translate('VBYES'), JText::translate('VBNO'), (VikBooking::ivaInclusa(true) ? 'yes' : 0), 'yes', 0); ?></div>
97 </div>
98 <div class="vbo-param-container">
99 <div class="vbo-param-label"><?php echo JText::translate('VBCONFIGTAXSUMMARY'); ?></div>
100 <div class="vbo-param-setting"><?php echo $vbo_app->printYesNoButtons('taxsummary', JText::translate('VBYES'), JText::translate('VBNO'), (VikBooking::showTaxOnSummaryOnly(true) ? 'yes' : 0), 'yes', 0); ?></div>
101 </div>
102 <div class="vbo-param-container">
103 <div class="vbo-param-label"><?php echo JText::translate('VBCONFIGMULTIPAY'); ?></div>
104 <div class="vbo-param-setting"><?php echo $vbo_app->printYesNoButtons('multipay', JText::translate('VBYES'), JText::translate('VBNO'), (VikBooking::multiplePayments() ? 'yes' : 0), 'yes', 0); ?></div>
105 </div>
106 <div class="vbo-param-container">
107 <div class="vbo-param-label"><?php echo JText::translate('VBCONFIGTWOSIX'); ?></div>
108 <div class="vbo-param-setting"><input type="text" name="paymentname" value="<?php echo JHtml::fetch('esc_attr', VikBooking::getPaymentName()); ?>" size="25"/></div>
109 </div>
110 <div class="vbo-param-container">
111 <div class="vbo-param-label"><?php echo JText::translate('VBCONFIGONETENSEVEN'); ?></div>
112 <div class="vbo-param-setting"><input type="number" name="minuteslock" value="<?php echo VikBooking::getMinutesLock(); ?>" min="0"/></div>
113 </div>
114 <div class="vbo-param-container">
115 <div class="vbo-param-label"><?php echo JText::translate('VBCONFIGMINAUTOREMOVE'); ?></div>
116 <div class="vbo-param-setting"><input type="number" name="minautoremove" value="<?php echo VikBooking::getMinutesAutoRemove(); ?>" min="0"/></div>
117 </div>
118 </div>
119 </div>
120 </fieldset>
121 </div>
122
123 <?php
124 $dep_overrides = VikBooking::getDepositOverrides(true);
125 $pay_total = VikBooking::payTotal();
126 ?>
127 <div class="vbo-info-overlay-block">
128 <a class="vbo-info-overlay-close" href="javascript: void(0);"></a>
129 <div class="vbo-info-overlay-content vbo-info-overlay-content-depovr"></div>
130 </div>
131
132 <div class="vbo-config-maintab-right">
133 <fieldset class="adminform">
134 <div class="vbo-params-wrap">
135 <legend class="adminlegend"><?php echo JText::translate('VBOCPARAMDEPOSITPAY'); ?></legend>
136 <div class="vbo-params-container">
137 <div class="vbo-param-container">
138 <div class="vbo-param-label"><?php echo JText::translate('VBCONFIGTWOTHREE'); ?></div>
139 <div class="vbo-param-setting"><?php echo $vbo_app->printYesNoButtons('paytotal', JText::translate('VBYES'), JText::translate('VBNO'), ($pay_total ? 'yes' : 0), 'yes', 0, 'vboTogglePayDeposit();'); ?></div>
140 </div>
141 <div class="vbo-param-container" data-related="paytotal" style="<?php echo $pay_total ? 'display: none;' : ''; ?>">
142 <div class="vbo-param-label"><?php echo JText::translate('VBCONFIGTWOFOUR'); ?></div>
143 <div class="vbo-param-setting"><input type="number" name="payaccpercent" value="<?php echo VikBooking::getAccPerCent(); ?>" min="0"/> <select id="typedeposit" name="typedeposit"><option value="pcent">%</option><option value="fixed"<?php echo (VikBooking::getTypeDeposit(true) == "fixed" ? ' selected="selected"' : ''); ?>><?php echo VikBooking::getCurrencySymb(); ?></option></select></div>
144 </div>
145 <div class="vbo-param-container" data-related="paytotal" style="<?php echo $pay_total ? 'display: none;' : ''; ?>">
146 <div class="vbo-param-label"><?php echo JText::translate('VBOCONFDEPOSITOVRDS'); ?></div>
147 <div class="vbo-param-setting">
148 <input type="hidden" id="depoverrides" name="depoverrides" value="<?php echo htmlspecialchars($dep_overrides); ?>"/>
149 <div id="cur_depoverrides" class="cur_depoverrides"></div>
150 <button type="button" class="btn" onclick="vboDisplayDepositOverrides();"><i class="vboicn-pencil2 icn-nomargin"></i></button>
151 </div>
152 </div>
153 <div class="vbo-param-container" data-related="paytotal" style="<?php echo $pay_total ? 'display: none;' : ''; ?>">
154 <div class="vbo-param-label"><?php echo JText::translate('VBOCONFDEPONLYIFDADV'); ?></div>
155 <div class="vbo-param-setting"><input type="number" style="max-width: 60px;" name="depifdaysadv" min="0" value="<?php echo VikBooking::getDepositIfDays(); ?>"/></div>
156 </div>
157 <div class="vbo-param-container" data-related="paytotal" style="<?php echo $pay_total ? 'display: none;' : ''; ?>">
158 <div class="vbo-param-label"><?php echo JText::translate('VBO_CONF_DEP_BALANCE_NDAYS'); ?></div>
159 <div class="vbo-param-setting"><input type="number" style="max-width: 60px;" name="depbalancedays" min="-14" value="<?php echo VBOFactory::getConfig()->get('depbalancedays'); ?>"/></div>
160 </div>
161 <div class="vbo-param-container" data-related="paytotal" style="<?php echo $pay_total ? 'display: none;' : ''; ?>">
162 <div class="vbo-param-label"><?php echo JText::translate('VBOCONFDEPCUSTCHOICE'); ?></div>
163 <div class="vbo-param-setting"><?php echo $vbo_app->printYesNoButtons('depcustchoice', JText::translate('VBYES'), JText::translate('VBNO'), (VikBooking::depositCustomerChoice() ? 'yes' : 0), 'yes', 0); ?></div>
164 </div>
165 <div class="vbo-param-container" data-related="paytotal" style="<?php echo $pay_total ? 'display: none;' : ''; ?>">
166 <div class="vbo-param-label"><?php echo $vbo_app->createPopover(array('title' => JText::translate('VBOCONFNODEPNONREFUND'), 'content' => JText::translate('VBOCONFNODEPNONREFUNDHELP'))); ?> <?php echo JText::translate('VBOCONFNODEPNONREFUND'); ?></div>
167 <div class="vbo-param-setting"><?php echo $vbo_app->printYesNoButtons('nodepnonrefund', JText::translate('VBYES'), JText::translate('VBNO'), (int)VikBooking::noDepositForNonRefund(), 1, 0); ?></div>
168 </div>
169 </div>
170 </div>
171 </fieldset>
172 </div>
173
174 <script type="text/javascript">
175 var vbo_overlay_on = false;
176 var vbo_depovr_defs = {
177 "nights": "<?php echo addslashes(JText::translate('VBDAYS')); ?>",
178 "more": "<?php echo addslashes(JText::translate('VBOCONFDEPOSITOVRDSMORE')); ?>",
179 "add": "<?php echo addslashes(JText::translate('VBCONFIGCLOSINGDATEADD')); ?>",
180 "apply": "<?php echo addslashes(JText::translate('VBAPPLY')); ?>"
181 }
182 jQuery(function() {
183 vboPopulateDepositOverrides();
184 jQuery(document).mouseup(function(e) {
185 if (!vbo_overlay_on) {
186 return;
187 }
188 var vbo_overlay_cont = jQuery(".vbo-info-overlay-content");
189 if (!vbo_overlay_cont.is(e.target) && vbo_overlay_cont.has(e.target).length === 0) {
190 vboHideDepositOverrides();
191 }
192 });
193 jQuery(document).keyup(function(e) {
194 if (e.keyCode == 27 && vbo_overlay_on) {
195 vboHideDepositOverrides();
196 }
197 });
198 });
199 function vboDisplayDepositOverrides() {
200 jQuery(".vbo-info-overlay-block").fadeIn(400, function() {
201 if (jQuery(".vbo-info-overlay-block").is(":visible")) {
202 vbo_overlay_on = true;
203 } else {
204 vbo_overlay_on = false;
205 }
206 });
207 }
208 function vboHideDepositOverrides() {
209 jQuery(".vbo-info-overlay-block").fadeOut();
210 vbo_overlay_on = false;
211 }
212 function vboPopulateDepositOverrides() {
213 var vbo_dep_overrides = jQuery('#depoverrides').val();
214 var vbo_dep_type = document.getElementById('typedeposit');
215 var vbo_dep_oper = vbo_dep_type.options[vbo_dep_type.selectedIndex].text;
216 try {
217 var dep_ovr_obj = JSON.parse(vbo_dep_overrides);
218 var tot_ovr = Object.keys(dep_ovr_obj).length;
219 var cur_ovr_str = '',
220 cur_ovr_cont = '<div class="vbo-info-overlay-header">';
221 cur_ovr_cont += '<h3><?php echo addslashes(JText::translate('VBOCONFDEPOSITOVRDS')); ?></h3>';
222 cur_ovr_cont += '<div class="vbo-info-overlay-buttons-wrap">';
223 // always include the add and apply buttons
224 cur_ovr_cont += '<button type="button" class="btn vbo-config-btn" onclick="vboAddDepositeOverride();"><?php VikBookingIcons::e('plus-circle'); ?> '+vbo_depovr_defs.add+'</button>';
225 cur_ovr_cont += '<button type="button" class="btn btn-success" onclick="vboApplyDepositeOverrides();"><i class="vboicn-checkmark"></i> '+vbo_depovr_defs.apply+'</button>';
226 //
227 cur_ovr_cont += '</div>';
228 cur_ovr_cont += '</div>';
229 if (tot_ovr > 1) {
230 for (var prop in dep_ovr_obj) {
231 if (!dep_ovr_obj.hasOwnProperty(prop) || prop == 'more') {
232 continue;
233 }
234 cur_ovr_str += '<span>'+vbo_depovr_defs.nights+': '+prop+(dep_ovr_obj['more'] == prop ? ' '+vbo_depovr_defs.more : '')+', '+(vbo_dep_oper != '%' ? vbo_dep_oper+' ' : '')+dep_ovr_obj[prop]+(vbo_dep_oper == '%' ? vbo_dep_oper : '')+'</span>';
235 cur_ovr_cont += '<div class="new_depovr_container">'+
236 '<span><span>'+vbo_depovr_defs.nights+'</span><input type="number" min="0" class="new_depovr_nights" value="'+prop+'"/></span>'+
237 '<span>' + (vbo_dep_oper != '%' ? '<span>'+vbo_dep_oper+'</span>' : '') + '<input type="number" min="0" step="any" class="new_depovr_amounts" value="'+dep_ovr_obj[prop]+'"/>' + (vbo_dep_oper == '%' ? '<span>'+vbo_dep_oper+'</span>' : '') + '</span>'+
238 '<span><select class="new_depovr_more"><option value="">---</option><option value="more">'+vbo_depovr_defs.more+'</option></select></span>'+
239 '<span><button type="button" class="btn btn-danger" onclick="jQuery(this).closest(\'.new_depovr_container\').remove();">&times;</button></span>'+
240 '</div>';
241 }
242 jQuery('#cur_depoverrides').html(cur_ovr_str);
243 } else {
244 //no overrides defined: make the boxes empty
245 jQuery('#cur_depoverrides').html('');
246 }
247 jQuery('.vbo-info-overlay-content-depovr').html(cur_ovr_cont);
248 } catch(e) {
249 console.log('cannot parse JSON');
250 console.log(e);
251 }
252 }
253 function vboAddDepositeOverride() {
254 var vbo_dep_type = document.getElementById('typedeposit');
255 var vbo_dep_oper = vbo_dep_type.options[vbo_dep_type.selectedIndex].text;
256 var add_ovr_cont = '<div class="new_depovr_container">'+
257 '<span><span>'+vbo_depovr_defs.nights+'</span><input type="number" min="0" class="new_depovr_nights" value=""/></span>'+
258 '<span>' + (vbo_dep_oper != '%' ? '<span>'+vbo_dep_oper+'</span>' : '') + '<input type="number" min="0" step="any" class="new_depovr_amounts" value=""/>' + (vbo_dep_oper == '%' ? '<span>'+vbo_dep_oper+'</span>' : '') + '</span>'+
259 '<span><select class="new_depovr_more"><option value="">---</option><option value="more">'+vbo_depovr_defs.more+'</option></select></span>'+
260 '<span><button type="button" class="btn btn-danger" onclick="jQuery(this).closest(\'.new_depovr_container\').remove();">&times;</button></span>'+
261 '</div>';
262 var cur_ovrs = jQuery('.new_depovr_container');
263 if (cur_ovrs.length > 0) {
264 cur_ovrs.last().after(add_ovr_cont);
265 } else {
266 jQuery('.vbo-info-overlay-content-depovr').append(add_ovr_cont);
267 }
268 }
269 function vboApplyDepositeOverrides() {
270 var respval = {"more": ""};
271 var nights_arr = jQuery('.new_depovr_nights');
272 var amounts_arr = jQuery('.new_depovr_amounts');
273 var more_arr = jQuery('.new_depovr_more');
274 nights_arr.each(function(k, v) {
275 var use_nights = jQuery(this).val();
276 var use_amounts = jQuery(amounts_arr[k]).val();
277 if (isNaN(use_nights) || isNaN(use_amounts)) {
278 console.log('skipping loop #'+k);
279 return true;
280 }
281 respval[parseInt(use_nights)] = parseFloat(use_amounts);
282 if (jQuery(more_arr[k]).val() == 'more') {
283 respval['more'] = parseInt(use_nights);
284 }
285 });
286 jQuery('#depoverrides').val(JSON.stringify(respval));
287 vboHideDepositOverrides();
288 vboPopulateDepositOverrides();
289 }
290 function vboTogglePayDeposit() {
291 if (jQuery('input[name="paytotal"]').prop('checked')) {
292 jQuery('.vbo-param-container[data-related="paytotal"]').css('display', 'none');
293 } else {
294 jQuery('.vbo-param-container[data-related="paytotal"]').css('display', '');
295 }
296 }
297 </script>
298