/** * Assign views according to uri * * @param $uri */ public function __construct($uri) { $mobileHandlerUri = ''; $creditCardHandlerUri = ''; if (preg_match("/^\\/PaymentAPI\\/Mobile\\/Handler.+\$/", $uri)) { $mobileHandlerUri = $uri; } elseif (preg_match("/^\\/PaymentAPI\\/CreditCard\\/Handler.+\$/", $uri)) { $creditCardHandlerUri = $uri; } switch ($uri) { case "/PaymentAPI/": BaseController::index(); break; case "/PaymentAPI/Mobile/": MobileController::showMobile(); break; case $mobileHandlerUri: MobileController::getMobileData(); break; case "/PaymentAPI/CreditCard/": CreditCardController::showCreditCard(); break; case $creditCardHandlerUri: CreditCardController::getCreditCardData(); break; default: BaseController::errorPage(); } }
/** * Call creditCardHandler for AJAX */ static function getCreditCardData() { $obj = new CreditCardController(); $obj->creditCard(); }
<?php if (count($_POST) == 0) { $transactionResult = true; } else { $expirationMonth = date_parse($_POST['month'])['month']; $expirationYear = intval($_POST['year']); $cardNumber = $_POST['cardnumber']; $instance = new CreditCardController(35, $cardNumber, $expirationMonth, $expirationYear); $transactionResult = $instance->processSale(); } $transactionMsg = $transactionResult ? "" : ""; $twig = (new TwigController())->getTwigEnvironment(); $bookingDataArray = getBookings($_GET['booking_number']); $date = new DateTime($bookingDataArray['start_date']); $startDate = $date->format('F j, Y'); $date = new DateTime($bookingDataArray['end_date']); $endDate = $date->format('F j, Y'); dd($bookingDataArray); $conciergeCategoriesData = getConciergeCategoriesData(); $allCategoryItems = array(); $bookingData = array('BookingDate' => substr($bookingDataArray['created'], 0, strpos($bookingDataArray['created'], " ")), 'BookingNumber' => $bookingDataArray['booking_number'], 'ArrivalDate' => $startDate, 'DepartureDate' => $endDate, 'PropertyType' => $bookingDataArray['property_data']['type_name'], 'PropertyAddress' => $bookingDataArray['property_data']['area_name'] . " " . $bookingDataArray['property_data']['country_name'], 'GuestName' => $bookingDataArray['client_account_name'], 'GuestEmail' => $bookingDataArray['client_contact_data']['email_address'], 'GuestPhone' => $bookingDataArray['client_contact_data']['phone_home'] ? $bookingDataArray['client_contact_data']['phone_home'] : $bookingDataArray['client_contact_data']['phone_mobile']); $contactData = array('YourAgent' => "", 'LocalAgent' => "", 'Concierge' => "", 'EmergencyContact' => ""); $propertyTerms = array('CheckIn' => "", 'CheckOut' => "", 'Payment' => "", 'Cancellation' => "", 'StayExtensions' => "", 'PropertyRules' => "", 'Smoking' => "Absolutely NO smoking inside the property."); // get booking data $bookingInfo = array('bookingData' => $bookingData, 'contactData' => $contactData, 'propertyTerms' => $propertyTerms); // initialize templates $twig = (new TwigController())->getTwigEnvironment(); $actionPageURL = "bookNowConfirmation.php?booking_number=" . $bookingDataArray['booking_number']; // start page $pageTitle = $defaultCompanyName . " - Book Now Confirmation";