PluginProbe
VikBooking Hotel Booking Engine & PMS / 1.8.16
VikBooking Hotel Booking Engine & PMS v1.8.16
1.8.16 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 All 37 releases
← All changes | admin/views/orders/tmpl/default.php +24 -21 1.8.7 → 1.8.16 View file →
@@ -49,9 +49,10 @@
49 49
50 50 $cid = VikRequest::getVar('cid', array());
51 51 $pcust_id = $app->getUserStateFromRequest("vbo.orders.cust_id", 'cust_id', 0, 'int');
52 52 $pconfirmnumber = VikRequest::getString('confirmnumber', '', 'request');
53 -//Color tags
53 +
54 +// color tags
54 55 $colortags = VikBooking::loadBookingsColorTags();
55 56 $bctags_tip = '';
56 57 if (count($colortags) > 0) {
57 58 $bctags_tip = '<div class=\"vbo-blist-tip-bctag-subtip-inner\">';
@@ -59,9 +60,8 @@
59 60 $bctags_tip .= '<div class=\"vbo-blist-tip-bctag-subtip-circle hasTooltip\" data-ctagkey=\"'.$ctagk.'\" data-ctagcolor=\"'.$ctagv['color'].'\" title=\"'.addslashes(JText::translate($ctagv['name'])).'\"><div class=\"vbo-blist-tip-bctag-subtip-circlecont\" style=\"background-color: '.$ctagv['color'].';\"></div></div>';
60 61 }
61 62 $bctags_tip .= '</div>';
62 63 }
63 -//
64 64
65 65 if (empty($rows)) {
66 66 $rows = array();
67 67 ?>
@@ -246,9 +246,9 @@
246 246 <option value="-1"<?php echo $pchannel == '-1' ? ' selected="selected"' : ''; ?>>- <?php echo JText::translate('VBORDFROMSITE'); ?></option>
247 247 <?php
248 248 foreach ($all_channels as $o_channel) {
249 249 ?>
250 - <option value="<?php echo $o_channel; ?>"<?php echo $pchannel == $o_channel ? ' selected="selected"' : ''; ?>>- <?php echo ucwords($o_channel); ?></option>
250 + <option value="<?php echo JHtml::fetch('esc_attr', $o_channel); ?>"<?php echo $pchannel == $o_channel ? ' selected="selected"' : ''; ?>>- <?php echo ucwords($o_channel); ?></option>
251 251 <?php
252 252 }
253 253 }
254 254 ?>
@@ -263,10 +263,10 @@
263 263 foreach ($allrooms as $room) {
264 264 $rsel .= '<option value="'.$room['id'].'"'.(!empty($pidroom) && $pidroom == $room['id'] ? ' selected="selected"' : '').'>'.$room['name'].'</option>';
265 265 }
266 266 $rsel .= '</select>';
267 + echo $rsel;
267 268 }
268 - echo $rsel;
269 269 ?>
270 270 </div>
271 271 <?php
272 272 $pcategory_id = $app->getUserStateFromRequest("vbo.orders.category_id", 'category_id', 0, 'int');
@@ -278,9 +278,9 @@
278 278 <option value=""><?php echo JText::translate('VBOCATEGORYFILTER'); ?></option>
279 279 <?php
280 280 foreach ($this->categories as $catid => $catname) {
281 281 ?>
282 - <option value="<?php echo $catid; ?>"<?php echo $catid == $pcategory_id ? ' selected="selected"' : ''; ?>><?php echo $catname; ?></option>
282 + <option value="<?php echo JHtml::fetch('esc_attr', $catid); ?>"<?php echo $catid == $pcategory_id ? ' selected="selected"' : ''; ?>><?php echo $catname; ?></option>
283 283 <?php
284 284 }
285 285 ?>
286 286 </select>
@@ -302,9 +302,9 @@
302 302 $dbo->setQuery($q);
303 303 $allpayments = $dbo->loadAssocList();
304 304 foreach ($allpayments as $paym) {
305 305 ?>
306 - <option value="<?php echo $paym['id']; ?>"<?php echo $paym['id'] == $pidpayment ? ' selected="selected"' : ''; ?>><?php echo $paym['name']; ?></option>
306 + <option value="<?php echo (int) $paym['id']; ?>"<?php echo $paym['id'] == $pidpayment ? ' selected="selected"' : ''; ?>><?php echo $paym['name']; ?></option>
307 307 <?php
308 308 }
309 309 ?>
310 310 </select>
@@ -316,19 +316,22 @@
316 316 $pstatus = $app->getUserStateFromRequest("vbo.orders.status", 'status', '', 'string');
317 317 $filters_set = !empty($pstatus) || $filters_set;
318 318 $status_filter = !empty($pstatus) ? '&amp;status='.$pstatus : '';
319 319 ?>
320 - <optgroup label="<?php echo JText::translate('VBSTATUS'); ?>">
320 + <optgroup label="<?php echo JHtml::fetch('esc_attr', JText::translate('VBSTATUS')); ?>">
321 321 <option value="confirmed"<?php echo $pstatus == 'confirmed' ? ' selected="selected"' : ''; ?>><?php echo JText::translate('VBCONFIRMED'); ?></option>
322 322 <option value="standby"<?php echo $pstatus == 'standby' ? ' selected="selected"' : ''; ?>><?php echo JText::translate('VBSTANDBY'); ?></option>
323 323 <option value="cancelled"<?php echo $pstatus == 'cancelled' ? ' selected="selected"' : ''; ?>><?php echo JText::translate('VBCANCELLED'); ?></option>
324 - <option value="closure"<?php echo $pstatus == 'closure' ? ' selected="selected"' : ''; ?>><?php echo JText::translate('VBDBTEXTROOMCLOSED'); ?></option>
324 + </optgroup>
325 + <optgroup label="<?php echo JHtml::fetch('esc_attr', JText::translate('VBPSHOWSEASONSTHREE')); ?>">
325 326 <option value="inquiry"<?php echo $pstatus == 'inquiry' ? ' selected="selected"' : ''; ?>><?php echo JText::translate('VBO_BTYPE_INQUIRY'); ?></option>
326 327 <option value="request"<?php echo $pstatus == 'request' ? ' selected="selected"' : ''; ?>><?php echo JText::translate('VBO_BTYPE_REQUEST'); ?></option>
328 + <option value="quote"<?php echo $pstatus == 'quote' ? ' selected="selected"' : ''; ?>><?php echo JText::translate('VBO_BTYPE_QUOTE'); ?></option>
329 + <option value="overbooking"<?php echo $pstatus == 'overbooking' ? ' selected="selected"' : ''; ?>><?php echo JText::translate('VBO_BTYPE_OVERBOOKING'); ?></option>
327 330 <option value="split_stay"<?php echo $pstatus == 'split_stay' ? ' selected="selected"' : ''; ?>><?php echo JText::translate('VBO_SPLIT_STAY'); ?></option>
328 - <option value="overbooking"<?php echo $pstatus == 'overbooking' ? ' selected="selected"' : ''; ?>><?php echo JText::translate('VBO_BTYPE_OVERBOOKING'); ?></option>
331 + <option value="closure"<?php echo $pstatus == 'closure' ? ' selected="selected"' : ''; ?>><?php echo JText::translate('VBDBTEXTROOMCLOSED'); ?></option>
329 332 </optgroup>
330 - <optgroup label="<?php echo JText::translate('VBOCHECKEDSTATUS'); ?>">
333 + <optgroup label="<?php echo JHtml::fetch('esc_attr', JText::translate('VBOCHECKEDSTATUS')); ?>">
331 334 <option value="checkedin"<?php echo $pstatus == 'checkedin' ? ' selected="selected"' : ''; ?>><?php echo JText::translate('VBOCHECKEDSTATUSIN'); ?></option>
332 335 <option value="checkedout"<?php echo $pstatus == 'checkedout' ? ' selected="selected"' : ''; ?>><?php echo JText::translate('VBOCHECKEDSTATUSOUT'); ?></option>
333 336 <option value="noshow"<?php echo $pstatus == 'noshow' ? ' selected="selected"' : ''; ?>><?php echo JText::translate('VBOCHECKEDSTATUSNOS'); ?></option>
334 337 <option value="none"<?php echo $pstatus == 'none' ? ' selected="selected"' : ''; ?>><?php echo JText::translate('VBOCHECKEDSTATUSZERO'); ?></option>
@@ -342,9 +345,9 @@
342 345 $pdatefiltfrom = $app->getUserStateFromRequest("vbo.orders.datefiltfrom", 'datefiltfrom', '', 'string');
343 346 $pdatefiltto = $app->getUserStateFromRequest("vbo.orders.datefiltto", 'datefiltto', '', 'string');
344 347 if (!empty($pdatefilt) && (!empty($pdatefiltfrom) || !empty($pdatefiltto))) {
345 348 $filters_set = true;
346 - $dates_filter = '&amp;datefilt='.$pdatefilt.(!empty($pdatefiltfrom) ? '&amp;datefiltfrom='.$pdatefiltfrom : '').(!empty($pdatefiltto) ? '&amp;datefiltto='.$pdatefiltto : '');
349 + $dates_filter = JHtml::fetch('esc_attr', '&amp;datefilt='.$pdatefilt.(!empty($pdatefiltfrom) ? '&amp;datefiltfrom='.$pdatefiltfrom : '').(!empty($pdatefiltto) ? '&amp;datefiltto='.$pdatefiltto : ''));
347 350 }
348 351 $datesel = '<select name="datefilt" onchange="vboToggleDateFilt(this.value);"><option value="">'.JText::translate('VBOFILTERBYDATES').'</option>';
349 352 $datesel .= '<option value="1"'.(!empty($pdatefilt) && $pdatefilt == 1 ? ' selected="selected"' : '').'>'.JText::translate('VBOFILTERDATEBOOK').'</option>';
350 353 $datesel .= '<option value="2"'.(!empty($pdatefilt) && $pdatefilt == 2 ? ' selected="selected"' : '').'>'.JText::translate('VBOFILTERDATEIN').'</option>';
@@ -353,9 +356,9 @@
353 356 echo $datesel;
354 357 ?>
355 358 </div>
356 359 <div class="btn-group pull-left" id="vbo-dates-cont" style="display: <?php echo (!empty($pdatefilt) && (!empty($pdatefiltfrom) || !empty($pdatefiltto)) ? 'inline-block' : 'none'); ?>;">
357 - <input type="text" id="vbo-date-from" placeholder="<?php echo JText::translate('VBNEWSEASONONE'); ?>" value="<?php echo $pdatefiltfrom; ?>" size="10" name="datefiltfrom" autocomplete="off" />&nbsp;-&nbsp;<input type="text" id="vbo-date-to" placeholder="<?php echo JText::translate('VBNEWSEASONTWO'); ?>" value="<?php echo $pdatefiltto; ?>" size="10" name="datefiltto" autocomplete="off" />
360 + <input type="text" id="vbo-date-from" placeholder="<?php echo JText::translate('VBNEWSEASONONE'); ?>" value="<?php echo JHtml::fetch('esc_attr', $pdatefiltfrom); ?>" size="10" name="datefiltfrom" autocomplete="off" />&nbsp;-&nbsp;<input type="text" id="vbo-date-to" placeholder="<?php echo JText::translate('VBNEWSEASONTWO'); ?>" value="<?php echo JHtml::fetch('esc_attr', $pdatefiltto); ?>" size="10" name="datefiltto" autocomplete="off" />
358 361 </div>
359 362 <div class="btn-group pull-left">
360 363 <button type="submit" class="btn btn-primary"><i class="icon-search"></i> <?php echo JText::translate('VBPVIEWORDERSSEARCHSUBM'); ?></button>
361 364 </div>
@@ -762,9 +765,9 @@
762 765 <?php
763 766 if (!empty($row['adminnotes'])) {
764 767 ?>
765 768 <span class="vbo-admin-tipsicon vbo-admin-notes-icn" data-bid="<?php echo $row['id']; ?>"><?php VikBookingIcons::e('sticky-note'); ?></span>&nbsp;
766 - <div class="vbo-order-admin-notes-cnt" data-bid="<?php echo $row['id']; ?>" style="display: none;"><?php echo nl2br($row['adminnotes']); ?></div>
769 + <div class="vbo-order-admin-notes-cnt" data-bid="<?php echo $row['id']; ?>" style="display: none;"><?php echo nl2br(htmlspecialchars($row['adminnotes'])); ?></div>
767 770 <?php
768 771 }
769 772
770 773 // build the proper invoice SID for bc
@@ -816,9 +819,9 @@
816 819
817 820 </table>
818 821 </div>
819 822 <input type="hidden" name="option" value="com_vikbooking" />
820 -<input type="hidden" name="cust_id" id="cust_id" value="<?php echo !empty($pcust_id) ? $pcust_id : ''; ?>" />
823 +<input type="hidden" name="cust_id" id="cust_id" value="<?php echo !empty($pcust_id) ? JHtml::fetch('esc_attr', $pcust_id) : ''; ?>" />
821 824 <input type="hidden" name="task" value="orders" />
822 825 <input type="hidden" name="boxchecked" value="0" />
823 826 <?php echo JHtml::fetch('form.token'); ?>
824 827 <?php echo $navbut; ?>
@@ -1173,9 +1176,9 @@
1173 1176 tmpl: "component",
1174 1177 id_order: all_bids
1175 1178 },
1176 1179 (res) => {
1177 - var counters = JSON.parse(res);
1180 + var counters = typeof res === 'object' ? res : JSON.parse(res);
1178 1181 for (var bid in all_bids) {
1179 1182 if (!all_bids.hasOwnProperty(bid)) {
1180 1183 continue;
1181 1184 }
@@ -1242,13 +1245,13 @@
1242 1245 <div class="vbo-gen-invoices-helper" style="display: none;">
1243 1246 <form action="index.php?option=com_vikbooking" method="post" id="vbo-geninv-form">
1244 1247 <div class="vbo-calendar-cfield-entry">
1245 1248 <label for="invoice_num"><?php echo JText::translate('VBINVSTARTNUM'); ?></label>
1246 - <span><input type="number" min="1" size="4" value="<?php echo $nextinvnum; ?>" id="invoice_num" name="invoice_num" /></span>
1249 + <span><input type="number" min="1" size="4" value="<?php echo JHtml::fetch('esc_attr', $nextinvnum); ?>" id="invoice_num" name="invoice_num" /></span>
1247 1250 </div>
1248 1251 <div class="vbo-calendar-cfield-entry">
1249 1252 <label for="invoice_suff"><?php echo JText::translate('VBINVNUMSUFFIX'); ?></label>
1250 - <span><input type="text" size="7" value="<?php echo $invsuff; ?>" id="invoice_suff" name="invoice_suff" /></span>
1253 + <span><input type="text" size="7" value="<?php echo JHtml::fetch('esc_attr', $invsuff); ?>" id="invoice_suff" name="invoice_suff" /></span>
1251 1254 </div>
1252 1255 <div class="vbo-calendar-cfield-entry">
1253 1256 <label for="invoice_date"><?php echo JText::translate('VBINVUSEDATE'); ?></label>
1254 1257 <span>
@@ -1255,9 +1258,9 @@
1255 1258 <select id="invoice_date" name="invoice_date">
1256 1259 <?php
1257 1260 if (!empty($oldinvdate)) {
1258 1261 ?>
1259 - <option value="<?php echo date($df, $oldinvdate); ?>"><?php echo date($df, $oldinvdate); ?></option>
1262 + <option value="<?php echo JHtml::fetch('esc_attr', date($df, $oldinvdate)); ?>"><?php echo date($df, $oldinvdate); ?></option>
1260 1263 <?php
1261 1264 }
1262 1265 ?>
1263 1266 <option value="<?php echo date($df, time()); ?>"><?php echo date($df, time()); ?></option>
@@ -1277,12 +1280,12 @@
1277 1280
1278 1281 </div>
1279 1282 <?php
1280 1283 foreach ($cid as $invid) {
1281 - echo '<input type="hidden" name="cid[]" value="'.$invid.'" />';
1284 + echo '<input type="hidden" name="cid[]" value="'. (int) $invid . '" />';
1282 1285 }
1283 1286 if ($pconfirmgen > 0) {
1284 - echo '<input type="hidden" name="confirmgen" value="'.$cid[0].'" />';
1287 + echo '<input type="hidden" name="confirmgen" value="' . (int) $cid[0] . '" />';
1285 1288 }
1286 1289 ?>
1287 1290 <input type="hidden" name="option" value="com_vikbooking" />
1288 1291 <input type="hidden" name="task" value="geninvoices" />
@@ -1300,9 +1303,9 @@
1300 1303 footer_right: '<button type="button" class="btn btn-success" onclick="document.getElementById(\'vbo-geninv-form\').submit();"><i class="vboicn-file-text2"></i><?php echo addslashes(JText::translate('VBOGENINVOICES')); ?></button>',
1301 1304 <?php
1302 1305 if (count($cid) === 1) {
1303 1306 ?>
1304 - footer_left: '<a href="index.php?option=com_vikbooking&task=editbusy&cid[]=<?php echo $cid[0]; ?>&frominv=1" class="btn vbo-config-btn"><?php echo addslashes(JText::translate('VBINVEDITBINFO')); ?></a>',
1307 + footer_left: '<a href="index.php?option=com_vikbooking&task=editbusy&cid[]=<?php echo (int) $cid[0]; ?>&frominv=1" class="btn vbo-config-btn"><?php echo addslashes(JText::translate('VBINVEDITBINFO')); ?></a>',
1305 1308 <?php
1306 1309 }
1307 1310 ?>
1308 1311 onDismiss: () => {