public function getItem($pk = null)
 {
     // Initialise variables.
     $hotel = HotelService::getHotel($this->getState('hotel.id'));
     //dmp($hotel->hotel_currency);
     UserDataService::setCurrency($hotel->hotel_currency, $hotel->currency_symbol);
     return $hotel;
 }
예제 #2
0
 function display($tpl = null)
 {
     $this->extraOptions = $this->get("ExtraOptions");
     $this->state = $this->get('State');
     $this->userData = UserDataService::getUserData();
     $this->hotel = HotelService::getHotel($this->userData->hotelId);
     $this->appSettings = JHotelUtil::getInstance()->getApplicationSettings();
     //dmp($this->userData);
     parent::display($tpl);
 }
예제 #3
0
 function incomeReport()
 {
     $this->setReportsToolbar();
     $this->itemsRoomTypes = $this->get('RoomTypes');
     $this->initFilterParams();
     $this->includeCharts();
     $this->appSetings = JHotelUtil::getInstance()->getApplicationSettings();
     $this->hotel = HotelService::getHotel($this->hotel_id);
     $tpl = "income";
     return $tpl;
 }
예제 #4
0
 function changeSearch()
 {
     //$log = Logger::getInstance(JPATH_COMPONENT."/logs/site-log-".date("d-m-Y").'.log',1);
     //	$log->LogDebug("changeSearch");
     UserDataService::initializeUserData();
     $data = JRequest::get("post");
     UserDataService::initializeReservationData();
     $hotel = HotelService::getHotel($data["hotel_id"]);
     $link = JHotelUtil::getHotelLink($hotel);
     $this->setRedirect($link);
 }
예제 #5
0
 function back()
 {
     UserDataService::removeLastRoom();
     $userData = UserDataService::getUserData();
     if ($userData->hotelId > 0) {
         $hotel = HotelService::getHotel($userData->hotelId);
         $link = JHotelUtil::getHotelLink($hotel);
     } else {
         $link = JRoute::_('index.php?option=com_jhotelreservation&task=excursionslisting.searchExcursions', false);
         UserDataService::initializeExcursions();
     }
     $this->setRedirect($link);
 }
예제 #6
0
 function getReservationDetails()
 {
     $userData = UserDataService::getUserData();
     $reservationData = new stdClass();
     $reservationData->userData = $userData;
     $reservationData->appSettings = JHotelUtil::getInstance()->getApplicationSettings();
     $reservationData->hotel = HotelService::getHotel($userData->hotelId);
     $reservationService = new ReservationService();
     $reservationDetails = $reservationService->generateReservationSummary($reservationData);
     UserDataService::setReservationDetails($reservationDetails);
     $reservationDetails->reservationData = $reservationData;
     return $reservationDetails;
 }
예제 #7
0
 function getHotels()
 {
     $userData = $_SESSION['userData'];
     //dmp($userData);
     $this->createSeachFilter($userData->filterParams, $userData->orderBy);
     $this->searchParams = $this->createDBSearchParams($this->searchFilter["filterCategories"]);
     $this->searchParams["keyword"] = $userData->keyword;
     $this->searchParams["orderBy"] = $userData->orderBy;
     $this->searchParams["adults"] = $userData->adults;
     $this->searchParams["voucher"] = $userData->voucher;
     $this->searchParams["startDate"] = $userData->start_date;
     $this->searchParams["endDate"] = $userData->end_date;
     $this->searchParams["languageTag"] = JRequest::getVar('_lang');
     $this->searchParams["city"] = JRequest::getVar('city');
     $this->searchParams["showAll"] = JRequest::getVar('showAll');
     $this->searchParams["searchType"] = JRequest::getVar('searchType');
     $this->searchParams["searchId"] = JRequest::getVar('searchId');
     if ($this->searchParams["searchType"] == JText::_("LNG_HOTELS")) {
         $hotel = $hotel = HotelService::getHotel($this->searchParams["searchId"]);
         $link = JHotelUtil::getHotelLink($hotel);
         $app = JFactory::getApplication();
         $app->redirect($link);
     }
     if (!isset($userData->noDates)) {
         $userData->noDates = 0;
     }
     $this->searchParams["no-dates"] = $userData->noDates;
     $hotelTable = $this->getTable('hotels');
     $hotels = $hotelTable->getHotels($this->searchParams, $this->getState('limitstart'), $this->getState('limit'));
     $userData->searchFilter = $this->searchFilter;
     $_SESSION['userData'] = $userData;
     $nearByHotels = array();
     if (count($hotels) <= 3) {
         $nearByHotels = $this->getNearByHotels($this->searchParams["keyword"], $this->searchParams, $hotels);
         if (!empty($nearByHotels)) {
             foreach ($nearByHotels as &$hotel) {
                 $hotel->nearBy = 1;
             }
             $hotels = array_merge($hotels, $nearByHotels);
         }
     }
     $hotels = $this->prepareHotelOffers($hotels);
     $this->itemHotels = $hotels;
     //dmp($userData->orderBy);
     if (isset($userData->voucher) && $userData->voucher != '' && $userData->orderBy == '' && count($this->itemHotels) > 0) {
         //dmp("shuffle");
         shuffle($this->itemHotels);
     }
     return $this->itemHotels;
 }
예제 #8
0
 function display($tpl = null)
 {
     $this->state = $this->get('State');
     $this->reservationDetails = $this->get("ReservationDetails");
     $this->paymentMethods = $this->get('paymentMethods');
     $this->guestTypes = JHotelReservationHelper::getGuestTypes();
     $this->userData = UserDataService::getUserData();
     $this->hotel = HotelService::getHotel($this->userData->hotelId);
     $this->appSettings = JHotelUtil::getInstance()->getApplicationSettings();
     $doc = JFactory::getDocument();
     $tag = JHotelUtil::getJoomlaLanguage();
     $doc->addStyleSheet('administrator/components/' . getBookingExtName() . '/assets/js/validation/css/validationEngine.jquery.css');
     $doc->addScript('administrator/components/' . getBookingExtName() . '/assets/js/validation/js/languages/jquery.validationEngine-' . $tag . '.js');
     $doc->addScript('administrator/components/' . getBookingExtName() . '/assets/js/validation/js/jquery.validationEngine.js');
     parent::display($tpl);
 }
예제 #9
0
 public function getReservationDetails()
 {
     $reservationDetails = null;
     $id = JRequest::getVar('confirmation_id');
     $reservationDetails->confirmation_id = $id;
     $table = $this->getTable('Confirmations', 'Table');
     $table->load($id);
     $hotelService = new HotelService();
     $hotel = $hotelService->getHotel($table->hotel_id);
     $reservationDetails->hotelDetails = $hotel->hotel_name . ", " . $hotel->hotel_address . ", " . $hotel->hotel_city . ", " . $hotel->country_name;
     $reservationDetails->arrivalDate = JHotelUtil::getDateGeneralFormat($table->start_date);
     $reservationDetails->returnDate = JHotelUtil::getDateGeneralFormat($table->end_date);
     $reservationDetails->bookingPerson = $table->first_name . ", " . $table->last_name;
     $reservationDetails->hotelId = $table->hotel_id;
     return $reservationDetails;
 }
예제 #10
0
 function getOffer($offerId)
 {
     $offersTable = $this->getTable('ManageOffers');
     $offer = $offersTable->getOffer($offerId);
     $offer->pictures = $offersTable->getOffersPictures($offer->offer_id);
     $offer->packages = $offersTable->getOffersPackages($offer->offer_id);
     $offer->hotel_name = stripslashes($offer->hotel_name);
     if ($offer->price_type == 0) {
         $offer->starting_price = $offer->starting_price / $offer->base_adults;
     }
     $offer->hotel = HotelService::getHotel($offer->hotel_id);
     $mediaReferer = JRequest::getVar('mediaReferer');
     $voucher = JRequest::getVar('voucher');
     $offersViewsTable = $this->getTable('ManageOffersViews');
     $offersViewsTable->increaseViewCount($offer->offer_id, $mediaReferer, $voucher);
     return $offer;
 }
예제 #11
0
 function display($tpl = null)
 {
     $this->state = $this->get('State');
     $this->countries = $this->get('Countries');
     $this->guestTypes = JHotelReservationHelper::getGuestTypes();
     $this->userData = UserDataService::getUserData();
     $this->hotel = HotelService::getHotel($this->userData->hotelId);
     $this->appSettings = JHotelUtil::getInstance()->getApplicationSettings();
     if ($this->appSettings->save_all_guests_data) {
         UserDataService::prepareGuestDetails();
     }
     $hotelId = JRequest::getVar("hotel_id");
     $reservedItems = JRequest::getVar("reservedItems");
     if (!empty($reservedItems)) {
         UserDataService::updateRooms($hotelId, $reservedItems);
     }
     $this->reservationDetails = $this->get("ReservationDetails");
     $this->showDiscounts = true;
     parent::display($tpl);
 }
예제 #12
0
 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;
 }
 function back()
 {
     UserDataService::removeLastRoom();
     $userData = UserDataService::getUserData();
     $hotel = HotelService::getHotel($userData->hotelId);
     $link = JHotelUtil::getHotelLink($hotel);
     $this->setRedirect($link);
 }
/**
 * @copyright	Copyright (C) 2008-2009 CMSJunkie. All rights reserved.
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 * See the GNU General Public License for more details.
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
// no direct access
defined('_JEXEC') or die('Restricted access');
JHTML::_('stylesheet', 'modules/mod_jreservationinfo/assets/css/style.css');
require_once JPATH_SITE . '/administrator/components/com_jhotelreservation/helpers/defines.php';
require_once JPATH_SITE . '/administrator/components/com_jhotelreservation/helpers/utils.php';
// Include the syndicate functions only once
require_once dirname(__FILE__) . DS . 'helper.php';
$userData = UserDataService::getUserData();
$hotel = HotelService::getHotel($userData->hotelId);
$reservationData = new stdClass();
$reservationData->userData = $userData;
$reservationData->appSettings = JHotelUtil::getInstance()->getApplicationSettings();
$reservationData->hotel = $hotel;
$reservationService = new ReservationService();
$reservationDetails = $reservationService->generateReservationSummary($reservationData);
$moduleclass_sfx = htmlspecialchars($params->get('moduleclass_sfx'));
require JModuleHelper::getLayoutPath('mod_jreservationinfo', $params->get('layout', 'default'));
 public static function sendNoAvailabilityEmail($hotelId, $startDate, $endDate)
 {
     $log = Logger::getInstance();
     $log->LogDebug("No availabaility " . $hotelId . " " . $startDate . " " . $endDate);
     $hotel = HotelService::getHotel($hotelId);
     $appSettings = JHotelUtil::getInstance()->getApplicationSettings();
     $datas = JHotelUtil::convertToFormat($startDate);
     $datae = JHotelUtil::convertToFormat($endDate);
     $mode = 1;
     //html
     $emailContent = JText::_('LNG_NO_AVAILABILITY_EMAIL', true);
     $emailContent = str_replace("<<hotel>>", $hotel->hotel_name, $emailContent);
     $emailContent = str_replace("<<start_date>>", $datas, $emailContent);
     $emailContent = str_replace("<<end_date>>", $datae, $emailContent);
     $email_subject = JText::_('LNG_NO_AVAILABILITY_EMAIL_SUBJECT', true);
     $email_subject = str_replace("<<hotel>>", $hotel->hotel_name, $email_subject);
     return self::sendEmail($appSettings->company_email, $appSettings->company_name, null, $appSettings->company_email, null, null, $email_subject, $emailContent, $mode);
 }
 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"];
     $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;
 }
예제 #18
0
        return $response;
    }
    /**
     *	This method is looking for a character in a 
     *	string and removes all characters between the 
     *	selected character and end of the string.
     *
     *	@param 	string 	Text to be trimmed.
     *	@param 	string 	Start character.
     *
     *	@return string
     */
    private function trimString($string, $char)
    {
        $pos = strrpos($string, $char);
        if ($pos !== false) {
            $string = substr($string, 0, $pos);
        }
        return $string;
    }
}
/**
 *	Initializes an instance of the HotelService class and uses 
 *	the public method getHotel to search for suitable hotel. 
 *	The result is presentad as JSON.
 */
$priceMin = @$_GET['priceMin'];
$priceMax = @$_GET['priceMax'];
$service = new HotelService();
print_r($service->getHotel($priceMin, $priceMax));