widgetName = JText::translate('VBO_W_NEXTRES_TITLE'); $this->widgetDescr = JText::translate('VBO_W_NEXTRES_DESCR'); $this->widgetId = basename(__FILE__, '.php'); /** * Define widget and icon and style name. * * @since 1.15.0 (J) - 1.5.0 (WP) */ $this->widgetIcon = ''; $this->widgetStyleName = 'light-orange'; } public function render(?VBOMultitaskData $data = null) { $dbo = JFactory::getDbo(); $today_end_ts = mktime(23, 59, 59, date("n"), date("j"), date("Y")); $q = "SELECT `o`.`id`,`o`.`custdata`,`o`.`status`,`o`.`days`,`o`.`checkin`,`o`.`checkout`,`o`.`roomsnum`,`o`.`country`,`o`.`type`,(SELECT CONCAT_WS(' ',`or`.`t_first_name`,`or`.`t_last_name`) FROM `#__vikbooking_ordersrooms` AS `or` WHERE `or`.`idorder`=`o`.`id` LIMIT 1) AS `nominative`,(SELECT SUM(`or`.`adults`) FROM `#__vikbooking_ordersrooms` AS `or` WHERE `or`.`idorder`=`o`.`id`) AS `tot_adults`,(SELECT SUM(`or`.`children`) FROM `#__vikbooking_ordersrooms` AS `or` WHERE `or`.`idorder`=`o`.`id`) AS `tot_children` FROM `#__vikbooking_orders` AS `o` WHERE `o`.`status`!='cancelled' AND `o`.`checkin`>".$today_end_ts." AND `o`.`closure`=0 ORDER BY `o`.`checkin` ASC LIMIT 10;"; $dbo->setQuery($q); $nextreservations = $dbo->loadAssocList(); if (!$nextreservations) { return; } ?>