PluginProbe
VikBooking Hotel Booking Engine & PMS / 1.8.9
VikBooking Hotel Booking Engine & PMS v1.8.9
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
vikbooking / admin / views / manageprice / tmpl / default.php

default.php in VikBooking Hotel Booking Engine & PMS 1.8.9, at admin/views/manageprice/tmpl/default.php

247 lines 12.1 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 $row = $this->row;
14
15 $vbo_app = VikBooking::getVboApplication();
16 $vbo_app->loadSelect2();
17
18 $dbo = JFactory::getDbo();
19
20 $q = "SELECT * FROM `#__vikbooking_iva`;";
21 $dbo->setQuery($q);
22 $ivas = $dbo->loadAssocList();
23 if ($ivas) {
24 $wiva = "<select name=\"praliq\">\n";
25 $wiva .= "<option value=\"\">-----</option>\n";
26 foreach ($ivas as $iv) {
27 $wiva .= "<option value=\"".$iv['id']."\"".($row && $iv['id'] == $row['idiva'] ? " selected=\"selected\"" : "").">".(empty($iv['name']) ? $iv['aliq']."%" : $iv['name']."-".$iv['aliq']."%")."</option>\n";
28 }
29 $wiva .= "</select>\n";
30 } else {
31 $wiva = "<a href=\"index.php?option=com_vikbooking&task=iva\">".JText::translate('NESSUNAIVA')."</a>";
32 }
33
34 /**
35 * Rate plans support included meal plans.
36 *
37 * @since 1.16.1 (J) - 1.6.1 (WP)
38 */
39 $meal_plan_manager = VBOMealplanManager::getInstance();
40 $meal_plans = $meal_plan_manager->getPlans();
41
42 /**
43 * Derived Rate Plans.
44 *
45 * @since 1.16.10 (J) - 1.6.10 (WP)
46 */
47 $is_derived = !empty($row['derived_id']) && isset($this->parent_rates[$row['derived_id']]);
48 $derived_data = $is_derived ? json_decode($row['derived_data'], true) : [];
49 $derived_data = is_array($derived_data) ? $derived_data : [];
50
51 ?>
52
53 <script type="text/javascript">
54 function toggleFreeCancellation() {
55 if (jQuery('input[name="free_cancellation"]').is(':checked')) {
56 jQuery('#canc_deadline, #canc_policy').fadeIn();
57 } else {
58 jQuery('#canc_deadline, #canc_policy').hide();
59 }
60 return true;
61 }
62
63 function toggleDerivedData() {
64 if (jQuery('input[name="is_derived"]').is(':checked')) {
65 jQuery('[data-type="derived-info"]').fadeIn();
66 } else {
67 jQuery('[data-type="derived-info"]').hide();
68 }
69 }
70
71 jQuery(function() {
72 jQuery('#vbo-meal-plans').select2();
73 });
74 </script>
75
76 <form name="adminForm" id="adminForm" action="index.php" method="post">
77 <div class="vbo-admin-container">
78 <div class="vbo-config-maintab-left">
79 <fieldset class="adminform">
80 <div class="vbo-params-wrap">
81 <legend class="adminlegend"><?php echo JText::translate('VBOADMINLEGENDDETAILS'); ?></legend>
82 <div class="vbo-params-container">
83 <div class="vbo-param-container">
84 <div class="vbo-param-label"><?php echo JText::translate('VBNEWPRICEONE'); ?>*</div>
85 <div class="vbo-param-setting"><input type="text" name="price" value="<?php echo $row ? htmlspecialchars($row['name']) : ''; ?>" size="40"/></div>
86 </div>
87 <div class="vbo-param-container">
88 <div class="vbo-param-label"><?php echo $vbo_app->createPopover(array('title' => JText::translate('VBNEWPRICETWO'), 'content' => JText::translate('VBOPRICEATTRHELP'))); ?> <?php echo JText::translate('VBNEWPRICETWO'); ?></div>
89 <div class="vbo-param-setting"><input type="text" name="attr" value="<?php echo $row ? htmlspecialchars((string)$row['attr']) : ''; ?>" size="40"/></div>
90 </div>
91 <div class="vbo-param-container">
92 <div class="vbo-param-label"><?php echo JText::translate('VBNEWPRICETHREE'); ?></div>
93 <div class="vbo-param-setting"><?php echo $wiva; ?></div>
94 </div>
95 <div class="vbo-param-container">
96 <div class="vbo-param-label"><?php echo JText::translate('VBO_IS_DERIVED_RATE'); ?></div>
97 <div class="vbo-param-setting">
98 <?php echo $vbo_app->printYesNoButtons('is_derived', JText::translate('VBYES'), JText::translate('VBNO'), ($is_derived ? 1 : 0), 1, 0, 'toggleDerivedData();'); ?>
99 <span class="vbo-param-setting-comment"><?php echo JText::translate('VBO_DERIVED_RATE_HELP'); ?></span>
100 </div>
101 </div>
102 <div class="vbo-param-container vbo-param-nested" data-type="derived-info" style="<?php echo !$is_derived ? 'display: none;' : ''; ?>;">
103 <div class="vbo-param-label"><?php echo JText::translate('VBO_PARENT_RATE'); ?></div>
104 <div class="vbo-param-setting">
105 <select name="derived_id">
106 <option value=""></option>
107 <?php
108 foreach ($this->parent_rates as $rpid => $rpname) {
109 ?>
110 <option value="<?php echo $rpid; ?>"<?php echo $is_derived && $rpid == $row['derived_id'] ? ' selected="selected"' : ''; ?>><?php echo $rpname; ?></option>
111 <?php
112 }
113 ?>
114 </select>
115 </div>
116 </div>
117 <div class="vbo-param-container vbo-param-nested" data-type="derived-info" style="<?php echo !$is_derived ? 'display: none;' : ''; ?>;">
118 <div class="vbo-param-label"><?php echo JText::translate('VBO_MODIFICATION_MODE'); ?></div>
119 <div class="vbo-param-setting">
120 <select name="derived_data[mode]">
121 <option value="discount"<?php echo $is_derived && ($derived_data['mode'] ?? '') == 'discount' ? ' selected="selected"' : ''; ?>><?php echo JText::translate('VBPSHOWSEASONSSIX'); ?></option>
122 <option value="charge"<?php echo $is_derived && ($derived_data['mode'] ?? '') == 'charge' ? ' selected="selected"' : ''; ?>><?php echo JText::translate('VBPSHOWSEASONSFIVE'); ?></option>
123 </select>
124 <span class="vbo-param-setting-comment"><?php echo JText::translate('VBO_MODIFICATION_MODE_HELP'); ?></span>
125 </div>
126 </div>
127 <div class="vbo-param-container vbo-param-nested" data-type="derived-info" style="<?php echo !$is_derived ? 'display: none;' : ''; ?>;">
128 <div class="vbo-param-label"><?php echo JText::translate('VBO_MODIFICATION_TYPE'); ?></div>
129 <div class="vbo-param-setting">
130 <select name="derived_data[type]">
131 <option value="percent"<?php echo $is_derived && ($derived_data['type'] ?? '') == 'percent' ? ' selected="selected"' : ''; ?>><?php echo JText::translate('VBO_PERCENT'); ?> (%)</option>
132 <option value="absolute"<?php echo $is_derived && ($derived_data['type'] ?? '') == 'absolute' ? ' selected="selected"' : ''; ?>><?php echo JText::translate('VBO_ABSOLUTE'); ?> (<?php echo VikBooking::getCurrencySymb(); ?>)</option>
133 </select>
134 </div>
135 </div>
136 <div class="vbo-param-container vbo-param-nested" data-type="derived-info" style="<?php echo !$is_derived ? 'display: none;' : ''; ?>;">
137 <div class="vbo-param-label"><?php echo JText::translate('VBPSHOWSEASONSFOUR'); ?></div>
138 <div class="vbo-param-setting">
139 <input name="derived_data[value]" type="number" step="any" value="<?php echo $is_derived ? ($derived_data['value'] ?? 0) : 0; ?>" min="0" />
140 </div>
141 </div>
142 <div class="vbo-param-container vbo-param-nested" data-type="derived-info" style="<?php echo !$is_derived ? 'display: none;' : ''; ?>;">
143 <div class="vbo-param-label"><?php echo JText::translate('VBO_FOLLOW_RESTRICTIONS'); ?></div>
144 <div class="vbo-param-setting">
145 <?php echo $vbo_app->printYesNoButtons('derived_data[follow_restr]', JText::translate('VBYES'), JText::translate('VBNO'), ($is_derived ? (int) ($derived_data['follow_restr'] ?? 1) : 1), 1, 0); ?>
146 <span class="vbo-param-setting-comment"><?php echo JText::translate('VBO_FOLLOW_RESTRICTIONS_HELP'); ?></span>
147 </div>
148 </div>
149 <?php
150 if (!$row) {
151 // allow to choose to populate the base rates for all rooms assigned to parent rates
152 ?>
153 <div class="vbo-param-container vbo-param-nested" data-type="derived-info" style="display: none;">
154 <div class="vbo-param-label"><?php echo JText::translate('VBINSERTFEE'); ?></div>
155 <div class="vbo-param-setting">
156 <?php echo $vbo_app->printYesNoButtons('set_derived_rates', JText::translate('VBYES'), JText::translate('VBNO'), 1, 1, 0, 'vboNewPriceToggleDerivedMaxNights(this.checked);'); ?>
157 </div>
158 </div>
159 <div class="vbo-param-container vbo-param-nested vbo-newprice-derived-setmaxnights" data-type="derived-info" style="display: none;">
160 <div class="vbo-param-label"><?php echo JText::translate('VBORESTRMAXLOS'); ?></div>
161 <div class="vbo-param-setting">
162 <input type="number" name="set_max_nights" value="30" />
163 </div>
164 </div>
165 <script type="text/javascript">
166 function vboNewPriceToggleDerivedMaxNights(enabled) {
167 const elem = document.querySelector('.vbo-newprice-derived-setmaxnights');
168 if (enabled) {
169 elem.style.display = '';
170 } else {
171 elem.style.display = 'none';
172 }
173 }
174 </script>
175 <?php
176 }
177 ?>
178 </div>
179 </div>
180 </fieldset>
181 </div>
182 <div class="vbo-config-maintab-right">
183 <fieldset class="adminform">
184 <div class="vbo-params-wrap">
185 <legend class="adminlegend"><?php echo JText::translate('VBOADMINLEGENDSETTINGS'); ?></legend>
186 <div class="vbo-params-container">
187 <div class="vbo-param-container">
188 <div class="vbo-param-label"><?php echo $vbo_app->createPopover(array('title' => JText::translate('VBOPRICETYPEMINLOS'), 'content' => JText::translate('VBOPRICETYPEMINLOSHELP'))); ?> <?php echo JText::translate('VBOPRICETYPEMINLOS'); ?></div>
189 <div class="vbo-param-setting"><input type="number" name="minlos" min="0" value="<?php echo $row ? $row['minlos'] : '0'; ?>" /></div>
190 </div>
191 <div class="vbo-param-container">
192 <div class="vbo-param-label"><?php echo $vbo_app->createPopover(array('title' => JText::translate('VBOPRICETYPEMINHADV'), 'content' => JText::translate('VBOPRICETYPEMINHADVHELP'))); ?> <?php echo JText::translate('VBOPRICETYPEMINHADV'); ?></div>
193 <div class="vbo-param-setting"><input type="number" name="minhadv" min="0" value="<?php echo $row ? $row['minhadv'] : '0'; ?>" /></div>
194 </div>
195 <div class="vbo-param-container">
196 <div class="vbo-param-label"><?php echo JText::translate('VBO_MEAL_PLANS_INCL'); ?></div>
197 <div class="vbo-param-setting">
198 <select name="meal_plans[]" id="vbo-meal-plans" multiple="multiple">
199 <?php
200 foreach ($meal_plans as $meal_enum => $meal_name) {
201 $meal_included = false;
202 if ($row && $meal_plan_manager->ratePlanMealIncluded($row, $meal_enum)) {
203 $meal_included = true;
204 }
205 ?>
206 <option value="<?php echo $meal_enum; ?>"<?php echo $meal_included ? ' selected="selected"' : ''; ?>><?php echo $meal_name; ?></option>
207 <?php
208 }
209 ?>
210 </select>
211 </div>
212 </div>
213 <div class="vbo-param-container">
214 <div class="vbo-param-label"><?php echo JText::translate('VBNEWPRICEFREECANC'); ?></div>
215 <div class="vbo-param-setting">
216 <?php echo $vbo_app->printYesNoButtons('free_cancellation', JText::translate('VBYES'), JText::translate('VBNO'), ($row && $row['free_cancellation'] == 1 ? 1 : 0), 1, 0, 'toggleFreeCancellation();'); ?>
217 </div>
218 </div>
219 <div class="vbo-param-container vbo-param-nested" id="canc_deadline" style="display: <?php echo $row && $row['free_cancellation'] == 1 ? 'flex' : 'none'; ?>;">
220 <div class="vbo-param-label"><?php echo JText::translate('VBNEWPRICEFREECANCDLINE'); ?></div>
221 <div class="vbo-param-setting">
222 <input type="number" min="0" name="canc_deadline" value="<?php echo $row ? $row['canc_deadline'] : '7'; ?>" size="5"/>
223 </div>
224 </div>
225 <div class="vbo-param-container vbo-param-nested" id="canc_policy" style="display: <?php echo $row && $row['free_cancellation'] == 1 ? 'flex' : 'none'; ?>;">
226 <div class="vbo-param-label"><?php echo $vbo_app->createPopover(array('title' => JText::translate('VBNEWPRICECANCPOLICY'), 'content' => JText::translate('VBNEWPRICECANCPOLICYHELP'))); ?> <?php echo JText::translate('VBNEWPRICECANCPOLICY'); ?></div>
227 <div class="vbo-param-setting">
228 <textarea name="canc_policy" rows="5" cols="200" style="width: 350px; height: 130px;"><?php echo $row ? htmlspecialchars((string)$row['canc_policy']) : ''; ?></textarea>
229 </div>
230 </div>
231 </div>
232 </div>
233 </fieldset>
234 </div>
235 </div>
236 <input type="hidden" name="task" value="">
237 <?php
238 if ($row) {
239 ?>
240 <input type="hidden" name="whereup" value="<?php echo $row['id']; ?>">
241 <?php
242 }
243 ?>
244 <input type="hidden" name="option" value="com_vikbooking">
245 <?php echo JHtml::fetch('form.token'); ?>
246 </form>
247