function getReservation($reservationId = null, $hotelId = null, $checkAvailability = true) { if (!isset($reservationId)) { $reservationId = JRequest::getInt("reservationId"); } $confirmationTable = JTable::getInstance('Confirmations', 'Table', array()); $reservation = $confirmationTable->getReservationData($reservationId); if (!$reservationId) { $reservation = UserDataService::createUserData(array()); $reservation->hotelId = $hotelId; } else { $reservation->reservedItems = explode(",", $reservation->items_reserved); $reservation->extraOptionIds = explode(",", $reservation->extraOptionIds); $reservation->hotelId = $reservation->hotel_id; $reservation->guestDetails = $this->prepareGuestDetails($reservation->guestDetails); $reservation->roomGuests = explode(",", $reservation->total_adults); $reservation->total_adults = 0; if (isset($reservation->roomGuests) && count($reservation->roomGuests) >= 1) { foreach ($reservation->roomGuests as $guestPerRoom) { $values = explode("|", $guestPerRoom); $reservation->total_adults += $values[0]; } } $reservation->roomGuestsChildren = explode(",", $reservation->children); $reservation->total_children = 0; if (isset($reservation->roomGuestsChildren) && count($reservation->roomGuestsChildren) >= 1) { foreach ($reservation->roomGuestsChildren as $guestPerRoom) { $values = explode("|", $guestPerRoom); $reservation->total_children += $values[0]; } } } //dmp($reservation->total_adults); //dmp($reservation->roomGuests); //dmp($reservation); if (!isset($reservation->totalPaid)) { $reservation->totalPaid = 0; } $hotel = HotelService::getHotel($reservation->hotelId); $reservation->currency = HotelService::getHotelCurrency($hotel); $reservationData = new stdClass(); $reservationData->userData = $reservation; $reservationData->appSettings = JHotelUtil::getInstance()->getApplicationSettings(); $reservationData->hotel = $hotel; $extraOptionIds = isset($reservationData->userData->extraOptionIds) ? $reservationData->userData->extraOptionIds : null; $extraOptions = array(); if (is_array($extraOptionIds) && count($extraOptionIds) > 0) { foreach ($extraOptionIds as $key => $value) { if (strlen($value) > 1) { $extraOption = explode("|", $value); $extraOptions[$key] = $extraOption; } } } //dmp($_SESSION["extras"]); $reservationData->extraOptions = ExtraOptionsService::getHotelExtraOptions($reservationData->userData->hotelId, $reservationData->userData->start_date, $reservationData->userData->end_date, $_SESSION["extras"], 0, 0, false); $reservationDetails = new stdClass(); if ($reservationId) { $reservationDetails = $this->generateReservationSummary($reservationData, $checkAvailability); } $reservationDetails->reservationData = $reservationData; $reservationDetails->billingInformation = $this->getBillingInformation($reservationData->userData, $reservationData->appSettings->hide_user_email); $reservationDetails->confirmation_id = $reservation->confirmation_id; $paymentDetails = PaymentService::getConfirmationPaymentDetails($reservation->confirmation_id); if (isset($paymentDetails) && $paymentDetails->confirmation_id != 0) { $reservationDetails->paymentInformation = $this->getPaymentInformation($paymentDetails, $reservationDetails->total, $reservationDetails->cost); } //dmp($reservationDetails); return $reservationDetails; }
public function populateReservationDetails($data) { $userData = new stdClass(); $userData->confirmation_id = $data["reservationId"]; //dmp($data["roomdetails"]); $guestInfo = $this->getNumberOfGuests($data["roomdetails"]); $userData->roomGuests = $guestInfo->adults; //dmp($userData->roomGuests); $userData->total_adults = 0; if (isset($userData->roomGuests) && count($userData->roomGuests) >= 1) { foreach ($userData->roomGuests as $guestPerRoom) { $userData->total_adults += $guestPerRoom; } } $userData->adults = $userData->total_adults; $userData->children = 0; $userData->first_name = $data["first_name"]; $userData->last_name = $data["last_name"]; $userData->address = $data["address"]; $userData->city = $data["city"]; $userData->state_name = $data["state_name"]; $userData->country = $data["country"]; $userData->postal_code = $data["postal_code"]; $userData->phone = $data["phone"]; $userData->email = $data["email"]; $userData->company_name = $data["company_name"]; $userData->guest_type = isset($data["guest_type"]) ? $data["guest_type"] : 0; $userData->discount_code = $data["discount_code"]; $userData->reservedItems = $data["reservedItem"]; $userData->hotelId = $data["hotelId"]; $userData->totalPaid = $data["totalPaid"]; /*--------------------------------------------------------------*/ //MICOD //Aquí anexamos el nuevo campo de edades a la variable $userSata $edades = array($data["edad-1"], $data["edad-2"], $data["edad-3"], $data["edad-4"], $data["edad-5"], $data["edad-6"]); //Concatenar todo en un nuevo Array $string_edades = implode("|", $edades); //Pegar todo en un nuevo string $userData->child_age = $string_edades; //Pasar la variable al userData $_SESSION["child_age"] = $userData->child_age; //Pasar la variable a una sesión para cargarlo en el archivo ReservationService.php /*dmp($_SESSION["child_age"]); die;*/ /*--------------------------------------------------------------*/ $userData->voucher = $data["voucher"]; $userData->remarks = $data["remarks"]; $userData->remarks_admin = $data["remarks_admin"]; $userData->start_date = JHotelUtil::convertToMysqlFormat($data["start_date"]); $userData->end_date = JHotelUtil::convertToMysqlFormat($data["end_date"]); $hotel = HotelService::getHotel($userData->hotelId); $userData->currency = HotelService::getHotelCurrency($hotel); $userData->arrival_time = $data["arrival_time"]; $userData->rooms = count($data["roomdetails"]); if ($data["update_price_type"] == 2 || empty($data["update_price_type"])) { $userData->roomCustomPrices = $this->prepareCustomPrices($userData->reservedItems, $data["roomdetails"], $userData->start_date); } if (!empty($data["extraOptionIds"])) { $extraOptions = array(); if (isset($data["extraOptionIds"])) { foreach ($data["extraOptionIds"] as $key => $value) { $extraOption = explode("|", $value); if ($extraOption[5] > 0 || $extraOption[6] > 0) { continue; } if (isset($data["extra-option-days-" . $extraOption[3]])) { $extraOption[6] = $data["extra-option-days-" . $extraOption[3]]; } if (isset($data["extra-option-persons-" . $extraOption[3]])) { $extraOption[5] = $data["extra-option-persons-" . $extraOption[3]]; } $extraOptions[$key] = implode("|", $extraOption); } } $userData->extraOptionIds = $extraOptions; } $guestDetails = array(); if (isset($data["guest_first_name"])) { for ($i = 0; $i < count($data["guest_first_name"]); $i++) { $guestDetail = new stdClass(); $guestDetail->first_name = $data["guest_first_name"][$i]; $guestDetail->last_name = $data["guest_last_name"][$i]; $guestDetail->identification_number = $data["guest_identification_number"][$i]; $guestDetails[] = $guestDetail; } } $userData->guestDetails = $guestDetails; return $userData; }
public function populateReservationDetails($data) { $userData = new stdClass(); $userData->confirmation_id = $data["reservationId"]; //dmp($data["roomdetails"]); $guestInfo = $this->getNumberOfGuests($data["roomdetails"]); $userData->roomGuests = $guestInfo->adults; //dmp($userData->roomGuests); $userData->total_adults = 0; if (isset($userData->roomGuests) && count($userData->roomGuests) >= 1) { foreach ($userData->roomGuests as $guestPerRoom) { $userData->total_adults += $guestPerRoom; } } $userData->adults = $userData->total_adults; $userData->children = 0; $userData->first_name = $data["first_name"]; $userData->last_name = $data["last_name"]; $userData->address = $data["address"]; $userData->city = $data["city"]; $userData->state_name = $data["state_name"]; $userData->country = $data["country"]; $userData->postal_code = $data["postal_code"]; $userData->phone = $data["phone"]; $userData->email = $data["email"]; $userData->company_name = $data["company_name"]; $userData->guest_type = isset($data["guest_type"]) ? $data["guest_type"] : 0; $userData->discount_code = $data["discount_code"]; $userData->reservedItems = $data["reservedItem"]; $userData->hotelId = $data["hotelId"]; $userData->totalPaid = $data["totalPaid"]; $userData->voucher = $data["voucher"]; $userData->remarks = $data["remarks"]; $userData->remarks_admin = $data["remarks_admin"]; $userData->start_date = JHotelUtil::convertToMysqlFormat($data["start_date"]); $userData->end_date = JHotelUtil::convertToMysqlFormat($data["end_date"]); $hotel = HotelService::getHotel($userData->hotelId); $userData->currency = HotelService::getHotelCurrency($hotel); $userData->arrival_time = $data["arrival_time"]; $userData->rooms = count($data["roomdetails"]); if ($data["update_price_type"] == 2 || empty($data["update_price_type"])) { $userData->roomCustomPrices = $this->prepareCustomPrices($userData->reservedItems, $data["roomdetails"], $userData->start_date); } if (!empty($data["extraOptionIds"])) { $extraOptions = array(); if (isset($data["extraOptionIds"])) { foreach ($data["extraOptionIds"] as $key => $value) { $extraOption = explode("|", $value); if ($extraOption[5] > 0 || $extraOption[6] > 0) { continue; } if (isset($data["extra-option-days-" . $extraOption[3]])) { $extraOption[6] = $data["extra-option-days-" . $extraOption[3]]; } if (isset($data["extra-option-persons-" . $extraOption[3]])) { $extraOption[5] = $data["extra-option-persons-" . $extraOption[3]]; } $extraOptions[$key] = implode("|", $extraOption); } } $userData->extraOptionIds = $extraOptions; } $guestDetails = array(); if (isset($data["guest_first_name"])) { for ($i = 0; $i < count($data["guest_first_name"]); $i++) { $guestDetail = new stdClass(); $guestDetail->first_name = $data["guest_first_name"][$i]; $guestDetail->last_name = $data["guest_last_name"][$i]; $guestDetail->identification_number = $data["guest_identification_number"][$i]; $guestDetails[] = $guestDetail; } } $userData->guestDetails = $guestDetails; return $userData; }