addToolBar(); $rows = []; $navbut = ""; $dbo = JFactory::getDbo(); $app = JFactory::getApplication(); $session = JFactory::getSession(); $pidcountry = $app->getUserStateFromRequest("vbo.states.idcountry", 'idcountry', 0, 'int'); $pstatename = $app->getUserStateFromRequest("vbo.states.statename", 'statename', '', 'string'); $lim = $app->getUserStateFromRequest("com_vikbooking.limit", 'limit', $app->get('list_limit'), 'int'); $lim0 = VikRequest::getVar('limitstart', 0, '', 'int'); $pvborderby = VikRequest::getString('vborderby', '', 'request'); $pvbordersort = VikRequest::getString('vbordersort', '', 'request'); $validorderby = [ 'state_name', 'state_2_code', 'state_3_code', 'published', ]; $orderby = $session->get('vbShowStatesOrderby', 'state_name'); $ordersort = $session->get('vbShowStatesOrdersort', 'ASC'); if (!empty($pvborderby) && in_array($pvborderby, $validorderby)) { $orderby = $pvborderby; $session->set('vbShowStatesOrderby', $orderby); if (!empty($pvbordersort) && in_array($pvbordersort, ['ASC', 'DESC'])) { $ordersort = $pvbordersort; $session->set('vbShowStatesOrdersort', $ordersort); } } $clauses = []; if (!empty($pidcountry)) { $clauses[] = "`s`.`id_country`={$pidcountry}"; } if (!empty($pstatename)) { $clauses[] = "(`s`.`state_name`=" . $dbo->quote($pstatename) . (strlen($pstatename) == 3 ? " OR `state_3_code`=" . $dbo->quote($pstatename) : "") . (strlen($pstatename) == 2 ? " OR `state_2_code`=" . $dbo->quote($pstatename) : "") . ")"; } $q = "SELECT SQL_CALC_FOUND_ROWS `s`.*, `c`.`country_name` FROM `#__vikbooking_states` AS `s` LEFT JOIN `#__vikbooking_countries` AS `c` ON `s`.`id_country`=`c`.`id`" . (count($clauses) ? " WHERE " . implode(" AND ", $clauses) : "") . " ORDER BY `s`.`{$orderby}` {$ordersort}"; $dbo->setQuery($q, $lim0, $lim); $dbo->execute(); /** * Call assertListQuery() from the View class to make sure the filters set * do not produce an empty result. This would reset the page in this case. */ $this->assertListQuery($lim0, $lim); // if ($dbo->getNumRows() > 0) { $rows = $dbo->loadAssocList(); $dbo->setQuery('SELECT FOUND_ROWS();'); jimport('joomla.html.pagination'); $pageNav = new JPagination( $dbo->loadResult(), $lim0, $lim ); $navbut = "
| ".$pageNav->getListFooter()." |