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 | site/views/packageslist/view.html.php +84 -0 1.6.1 → 1.8.16 View file →
@@ -1,0 +1,84 @@
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 +
14 +jimport('joomla.application.component.view');
15 +
16 +class VikbookingViewPackageslist extends JViewVikBooking {
17 + function display($tpl = null) {
18 + VikBooking::prepareViewContent();
19 + $dbo = JFactory::getDBO();
20 + $vbo_tn = VikBooking::getTranslator();
21 + $psortby = VikRequest::getString('sortby', '', 'request');
22 + $psortby = !in_array($psortby, array('cost', 'name', 'id', 'dfrom')) ? 'dfrom' : $psortby;
23 + $psorttype = VikRequest::getString('sorttype', '', 'request');
24 + $psorttype = $psorttype == 'desc' ? 'DESC' : 'ASC';
25 + $preslim = VikRequest::getInt('reslim', '', 'request');
26 + $preslim = empty($preslim) || $preslim < 1 ? 20 : $preslim;
27 + $lim0 = VikRequest::getVar('limitstart', 0, '', 'int');
28 +
29 + $nowts = time();
30 + $packages = array();
31 + $navig = '';
32 +
33 + $q = "SELECT SQL_CALC_FOUND_ROWS * FROM `#__vikbooking_packages` WHERE `dto`>=".$nowts." ORDER BY `".$psortby."` ".$psorttype;
34 + $dbo->setQuery($q, $lim0, $preslim);
35 + $dbo->execute();
36 + if ($dbo->getNumRows() > 0) {
37 + $packages = $dbo->loadAssocList();
38 + //pagination
39 + $dbo->setQuery('SELECT FOUND_ROWS();');
40 + jimport('joomla.html.pagination');
41 + $pageNav = new JPagination($dbo->loadResult(), $lim0, $preslim);
42 + $navig = $pageNav->getPagesLinks();
43 + //
44 + $vbo_tn->translateContents($packages, '#__vikbooking_packages');
45 + if ($vbo_tn->default_lang != $vbo_tn->current_lang && $psortby == 'name') {
46 + //VBO 1.9 - resort packages by name after the translations have been applied
47 + $resort_map = array();
48 + foreach ($packages as $k => $v) {
49 + $resort_map[$k] = $v['name'];
50 + }
51 + asort($resort_map);
52 + $resorted = array();
53 + foreach ($resort_map as $k => $v) {
54 + $resorted[$k] = $packages[$k];
55 + }
56 + $packages = $resorted;
57 + unset($resorted);
58 + }
59 + foreach ($packages as $pk => $pv) {
60 + $q = "SELECT `pr`.`idroom`,`r`.`name`,`r`.`img`,`r`.`fromadult`,`r`.`toadult`,`r`.`fromchild`,`r`.`tochild`,`r`.`totpeople`,`r`.`params` FROM `#__vikbooking_packages_rooms` AS `pr` LEFT JOIN `#__vikbooking_rooms` `r` ON `r`.`id`=`pr`.`idroom` AND `r`.`avail`=1 WHERE `pr`.`idpackage`=".(int)$pv['id'].";";
61 + $dbo->setQuery($q);
62 + $dbo->execute();
63 + if ($dbo->getNumRows() > 0) {
64 + $pkg_rooms = $dbo->loadAssocList();
65 + $vbo_tn->translateContents($pkg_rooms, '#__vikbooking_rooms', array('id' => 'idroom'));
66 + $packages[$pk]['rooms'] = $pkg_rooms;
67 + }
68 + }
69 + }
70 + $this->packages = $packages;
71 + $this->navig = $navig;
72 + $this->vbo_tn = $vbo_tn;
73 + //theme
74 + $theme = VikBooking::getTheme();
75 + if ($theme != 'default') {
76 + $thdir = VBO_SITE_PATH.DS.'themes'.DS.$theme.DS.'packageslist';
77 + if (is_dir($thdir)) {
78 + $this->_setPath('template', $thdir.DS);
79 + }
80 + }
81 + //
82 + parent::display($tpl);
83 + }
84 +}