public function getCheckAvailabilityCalendarFromService($resourcesId = null, $checkIn = null, $checkOut = null) { $resultCheck = ''; if ($resourcesId == null || $checkIn == null || $checkOut == null) { return $resultCheck; } if ($checkIn == null) { $defaultDate = DateTime::createFromFormat('d/m/Y', BFCHelper::getStartDate()); $checkIn = BFCHelper::getStayParam('checkin', $defaultDate); } if ($checkOut == null) { $checkOut = BFCHelper::getStayParam('checkout', $checkIn->modify(BFCHelper::$defaultDaysSpan)); } //calcolo le settimane necessarie //$ci = $params['checkin']; $options = array('path' => $this->urlCheckAvailabilityCalendar, 'data' => array('resourcesId' => BFCHelper::getQuotedString($resourcesId), 'checkin' => '\'' . $checkIn->format('Ymd') . '\'', 'checkout' => '\'' . $checkOut->format('Ymd') . '\'', '$format' => 'json')); $url = $this->helper->getQuery($options); $r = $this->helper->executeQuery($url); if (isset($r)) { $res = json_decode($r); $checkDate = $res->d->results ?: $res->d; $resultCheck = $checkDate->CheckAvailabilityCalendarByIdList; } return $resultCheck; }
protected function populateState($ordering = NULL, $direction = NULL) { $session = JFactory::getSession(); $searchseed = $session->get('searchseed', rand(), 'com_bookingforconnector'); if (!$session->has('searchseed', 'com_bookingforconnector')) { $session->set('searchseed', $searchseed, 'com_bookingforconnector'); } if (!isset($defaultDate)) { $defaultDate = DateTime::createFromFormat('d/m/Y', BFCHelper::getStartDate()); } $ci = clone BFCHelper::getStayParam('checkin', $defaultDate); $this->setState('params', array('merchantId' => JRequest::getInt('merchantId'), 'offerId' => JRequest::getInt('offerId'), 'packageid' => JRequest::getInt('packageId'), 'onSellUnitId' => JRequest::getInt('onsellunitid'), 'searchseed' => $searchseed, 'filters' => JRequest::getVar('filters'), 'checkin' => BFCHelper::getStayParam('checkin', $defaultDate), 'checkout' => BFCHelper::getStayParam('checkout', $ci->modify(BFCHelper::$defaultDaysSpan)), 'duration' => BFCHelper::getStayParam('duration'), 'paxages' => BFCHelper::getStayParam('paxages'), 'paxes' => count(BFCHelper::getStayParam('paxes')))); return parent::populateState($ordering, $direction); }
$checkoutspan = '+1 day'; $pars = BFCHelper::getSearchParamsSession(); //Recupero date dal modello resource per avere la prima e l'utima data disponibile $checkoutspan = '+1 day'; //$startDate = DateTime::createFromFormat('d/m/Y',BFCHelper::getStartDate()); //$endDate = DateTime::createFromFormat('d/m/Y',BFCHelper::getEndDate()); //$startDate2 = clone $startDate; //$startDate2->modify($checkoutspan); // recupero solo il primo sabato disponibile $strStartdate = $params->get('startdate'); $strEnddate = $params->get('enddate'); $condominiumsResults = $params->get('groupbycondominium'); if (!empty($strStartdate)) { $startDate = DateTime::createFromFormat('d-m-Y', $strStartdate); } else { $startDate = DateTime::createFromFormat('d/m/Y', BFCHelper::getStartDate()); } if (!empty($strStartdate)) { $endDate = DateTime::createFromFormat('d-m-Y', $strEnddate); } else { $endDate = DateTime::createFromFormat('d/m/Y', BFCHelper::getEndDate()); } //if($groupbycondominium){ ////echo "<pre> groupbycondominium :"; ////echo $groupbycondominium; ////echo "</pre>"; //} /* script per aggiornare a data odierna */ //$today=DateTime::createFromFormat('d-m-Y',date('d-m-Y',strtotime(date('d-m-Y'). ' + 1 days'))); $today = DateTime::createFromFormat('d-m-Y', date('d-m-Y', strtotime(date('d-m-Y')))); if ($today >= $startDate) {
protected function populateState($ordering = NULL, $direction = NULL) { //$ci = clone BFCHelper::getStayParam('checkin', new DateTime()); //recupero la prima data disponibile per la risorsa se riesco altrimenti recupero la prima data disponibile $resourceId = JRequest::getInt('resourceId'); if (isset($resourceId)) { $dates = $this->getCheckInDatesFromService($resourceId, null); if (($pos = strpos($dates, ',')) !== false) { $dates = explode(",", $dates); } if (is_array($dates)) { $tmpDate1 = array_values($dates); $tmpDate = array_shift($tmpDate1); $defaultDate = DateTime::createFromFormat('Ymd', $tmpDate); // $defaultDate = DateTime::createFromFormat('Ymd',array_shift(array_values($dates))); } elseif ($dates != '') { $defaultDate = DateTime::createFromFormat('Ymd', $dates); } } if (!isset($defaultDate)) { $defaultDate = DateTime::createFromFormat('d/m/Y', BFCHelper::getStartDate()); } $ci = clone BFCHelper::getStayParam('checkin', $defaultDate); $defaultRequest = array('resourceId' => JRequest::getInt('resourceId'), 'checkin' => BFCHelper::getStayParam('checkin', $defaultDate), 'checkout' => BFCHelper::getStayParam('checkout', $ci->modify(BFCHelper::$defaultDaysSpan)), 'duration' => BFCHelper::getStayParam('duration'), 'paxages' => BFCHelper::getStayParam('paxages'), 'extras' => BFCHelper::getStayParam('extras'), 'packages' => BFCHelper::getStayParam('packages'), 'pricetype' => BFCHelper::getStayParam('pricetype'), 'rateplanId' => BFCHelper::getStayParam('rateplanId'), 'variationPlanId' => BFCHelper::getStayParam('variationPlanId'), 'state' => BFCHelper::getStayParam('state'), 'gotCalculator' => JRequest::getBool('calculate')); // echo "<pre>defaultRequest"; // echo print_r($defaultRequest); // echo "</pre>"; $stayrequest = JRequest::getVar('stayrequest'); // support for rsforms! if ($stayrequest == null || $stayrequest == '') { $form = JRequest::getVar('form'); $stayrequest = htmlspecialchars_decode($form['stayrequest'], ENT_COMPAT); } if ($stayrequest != null && $stayrequest != '') { try { $params = json_decode($stayrequest); $defaultRequest = array('resourceId' => $params->resourceId, 'checkin' => DateTime::createFromFormat('d/m/Y', $params->checkin), 'checkout' => DateTime::createFromFormat('d/m/Y', $params->checkout), 'duration' => $params->duration, 'paxages' => $params->paxages, 'extras' => $params->extras, 'packages' => $params->packages, 'pricetype' => $params->pricetype, 'rateplanId' => $params->rateplanId, 'variationPlanId' => $params->variationPlanId, 'state' => $params->state, 'gotCalculator' => false, 'fromExtForm' => true, 'hasRateplans' => false); } catch (Exception $e) { } } //echo var_dump($defaultRequest);die(); $this->setState('params', $defaultRequest); return parent::populateState(); }