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 / tariffs / view.html.php

view.html.php in VikBooking Hotel Booking Engine & PMS trunk, at admin/views/tariffs/view.html.php

142 lines 5.8 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 // 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 }
142