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/tariffs/view.html.php +141 -0 1.6.2 → 1.8.16 View file →
@@ -1,0 +1,141 @@
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 +// import Joomla view library
14 +jimport('joomla.application.component.view');
15 +
16 +class VikBookingViewTariffs extends JViewVikBooking
17 +{
18 + public function display($tpl = null)
19 + {
20 + // Set the toolbar
21 + $this->addToolBar();
22 +
23 + if (!JFactory::getUser()->authorise('core.vbo.pricing', 'com_vikbooking')) {
24 + VBOHttpDocument::getInstance()->close(403, JText::translate('JERROR_ALERTNOAUTHOR'));
25 + }
26 +
27 + $cid = VikRequest::getVar('cid', array(0));
28 + $aid = $cid[0];
29 +
30 + $dbo = JFactory::getDBO();
31 + $mainframe = JFactory::getApplication();
32 + if (empty($aid)) {
33 + $q = "SELECT `id` FROM `#__vikbooking_rooms` ORDER BY `#__vikbooking_rooms`.`name` ASC LIMIT 1";
34 + $dbo->setQuery($q);
35 + $dbo->execute();
36 + if ($dbo->getNumRows() == 1) {
37 + $aid = $dbo->loadResult();
38 + }
39 + }
40 + if (empty($aid)) {
41 + VikError::raiseWarning('', 'No Rooms.');
42 + $mainframe->redirect("index.php?option=com_vikbooking&task=rooms");
43 + exit;
44 + }
45 + $q = "SELECT `id`,`name`,`img`,`idcat` FROM `#__vikbooking_rooms` WHERE `id`=".$dbo->quote($aid).";";
46 + $dbo->setQuery($q);
47 + $dbo->execute();
48 + if ($dbo->getNumRows() != 1) {
49 + VikError::raiseWarning('', 'No Rooms.');
50 + $mainframe->redirect("index.php?option=com_vikbooking&task=rooms");
51 + exit;
52 + }
53 + $roomrows = $dbo->loadAssoc();
54 + $q = "SELECT * FROM `#__vikbooking_prices`;";
55 + $dbo->setQuery($q);
56 + $dbo->execute();
57 + $prices = $dbo->getNumRows() > 0 ? $dbo->loadAssocList() : "";
58 + $pnewtar = VikRequest::getString('newdispcost', '', 'request');
59 + $pddaysfrom = VikRequest::getInt('ddaysfrom', '', 'request');
60 + $pddaysto = VikRequest::getInt('ddaysto', '', 'request');
61 + if (!empty($pnewtar) && !empty($pddaysfrom) && is_array($prices)) {
62 + if (empty($pddaysto) || $pddaysfrom == $pddaysto) {
63 + foreach ($prices as $pr) {
64 + $tmpvarone = VikRequest::getFloat('dprice'.$pr['id'], '', 'request');
65 + if (!empty($tmpvarone)) {
66 + $tmpvartwo = VikRequest::getString('dattr'.$pr['id'], '', 'request');
67 + $multipattr = is_numeric($tmpvartwo) ? true : false;
68 + $safeq = "SELECT `id` FROM `#__vikbooking_dispcost` WHERE `days`=".$dbo->quote($pddaysfrom)." AND `idroom`='".$roomrows['id']."' AND `idprice`='".$pr['id']."';";
69 + $dbo->setQuery($safeq);
70 + $dbo->execute();
71 + if ($dbo->getNumRows() == 0) {
72 + $q = "INSERT INTO `#__vikbooking_dispcost` (`idroom`,`days`,`idprice`,`cost`,`attrdata`) VALUES('".$roomrows['id']."',".$dbo->quote($pddaysfrom).",'".$pr['id']."','".($tmpvarone * $pddaysfrom)."',".($multipattr ? "'".($tmpvartwo * $pddaysfrom)."'" : $dbo->quote($tmpvartwo)).");";
73 + $dbo->setQuery($q);
74 + $dbo->execute();
75 + } elseif ($dbo->getNumRows() == 1) {
76 + $upd_id = $dbo->loadResult();
77 + $q = "UPDATE `#__vikbooking_dispcost` SET `cost`='".($tmpvarone * $pddaysfrom)."', `attrdata`=".($multipattr ? "'".($tmpvartwo * $pddaysfrom)."'" : $dbo->quote($tmpvartwo))." WHERE `id`=".(int)$upd_id." AND `days`=".$dbo->quote($pddaysfrom)." AND `idroom`='".$roomrows['id']."' AND `idprice`='".$pr['id']."' LIMIT 1;";
78 + $dbo->setQuery($q);
79 + $dbo->execute();
80 + }
81 + }
82 + }
83 + } else {
84 + $pddaysto = intval($pddaysto) > 365 ? 365 : $pddaysto;
85 + for ($i = intval($pddaysfrom); $i <= intval($pddaysto); $i++) {
86 + foreach ($prices as $pr) {
87 + $tmpvarone = VikRequest::getFloat('dprice'.$pr['id'], '', 'request');
88 + if (!empty($tmpvarone)) {
89 + $tmpvartwo = VikRequest::getString('dattr'.$pr['id'], '', 'request');
90 + $multipattr = is_numeric($tmpvartwo) ? true : false;
91 + $safeq = "SELECT `id` FROM `#__vikbooking_dispcost` WHERE `days`=".$dbo->quote($i)." AND `idroom`='".$roomrows['id']."' AND `idprice`='".$pr['id']."';";
92 + $dbo->setQuery($safeq);
93 + $dbo->execute();
94 + if ($dbo->getNumRows() == 0) {
95 + $q = "INSERT INTO `#__vikbooking_dispcost` (`idroom`,`days`,`idprice`,`cost`,`attrdata`) VALUES('".$roomrows['id']."',".$dbo->quote($i).",'".$pr['id']."','".($tmpvarone * $i)."',".($multipattr ? "'".($tmpvartwo * $i)."'" : $dbo->quote($tmpvartwo)).");";
96 + $dbo->setQuery($q);
97 + $dbo->execute();
98 + } elseif ($dbo->getNumRows() == 1) {
99 + $upd_id = $dbo->loadResult();
100 + $q = "UPDATE `#__vikbooking_dispcost` SET `cost`='".($tmpvarone * $i)."', `attrdata`=".($multipattr ? "'".($tmpvartwo * $i)."'" : $dbo->quote($tmpvartwo))." WHERE `id`=".(int)$upd_id." AND `days`=".$dbo->quote($i)." AND `idroom`='".$roomrows['id']."' AND `idprice`='".$pr['id']."' LIMIT 1;";
101 + $dbo->setQuery($q);
102 + $dbo->execute();
103 + }
104 + }
105 + }
106 + }
107 + }
108 + }
109 +
110 + $q = "SELECT * FROM `#__vikbooking_dispcost` WHERE `idroom`=" . (int)$roomrows['id'] . " ORDER BY `#__vikbooking_dispcost`.`days` ASC, `#__vikbooking_dispcost`.`idprice` ASC;";
111 + $dbo->setQuery($q);
112 + $rows = $dbo->loadAssocList();
113 +
114 + $q = "SELECT `id`,`name` FROM `#__vikbooking_rooms` ORDER BY `#__vikbooking_rooms`.`name` ASC;";
115 + $dbo->setQuery($q);
116 + $allc = $dbo->loadAssocList();
117 +
118 + $this->roomrows = $roomrows;
119 + $this->rows = $rows;
120 + $this->prices = $prices;
121 + $this->allc = $allc;
122 +
123 + // Display the template
124 + parent::display($tpl);
125 + }
126 +
127 + /**
128 + * Sets the toolbar
129 + */
130 + protected function addToolBar()
131 + {
132 + JToolBarHelper::title(JText::translate('VBMAINTARIFFETITLE'), 'vikbooking');
133 + JToolBarHelper::save('cancel', JText::translate('VBMAINTARIFFEBACK'));
134 + JToolBarHelper::spacer();
135 + if (JFactory::getUser()->authorise('core.delete', 'com_vikbooking')) {
136 + JToolBarHelper::deleteList(JText::translate('VBDELCONFIRM'), 'removetariffs', JText::translate('VBMAINTARIFFEDEL'));
137 + JToolBarHelper::spacer();
138 + JToolBarHelper::spacer();
139 + }
140 + }
141 +}