Esempio n. 1
0
 public function startPaymentOld()
 {
     // perekluchaem v state startpayment
     // i proveraem
     $bookingModel = $this->getOrderBooking();
     //test states and time
     //make StartPayment State
     $validForPayment = true;
     $nowTime = time();
     /** @var $bookingModel OrderBooking */
     if ($bookingModel) {
         foreach ($bookingModel->flightBookers as $flightBooker) {
             $flightBookerComponent = new FlightBookerComponent();
             $flightBookerComponent->setFlightBookerFromId($flightBooker->id);
             $expiration = strtotime($flightBookerComponent->getCurrent()->timeout);
             if (appParams('time_for_payment') < $expiration - $nowTime) {
                 //next state
                 $status = strtolower($flightBookerComponent->getStatus());
                 if (strpos($status, 'waitingforpayment') !== false) {
                     $flightBookerComponent->status('startPayment');
                 } else {
                     $validForPayment = false;
                 }
             } else {
                 $validForPayment = false;
             }
         }
         foreach ($bookingModel->hotelBookers as $hotelBooker) {
             $hotelBookerComponent = new HotelBookerComponent();
             $hotelBookerComponent->setHotelBookerFromId($hotelBooker->id);
             $expiration = $hotelBookerComponent->hotel->cancelExpiration;
             if (appParams('time_for_payment') < $expiration - $nowTime) {
                 //next state
                 $status = $hotelBookerComponent->getStatus();
                 if (strpos($status, 'soft') !== false) {
                     $hotelBookerComponent->status('softStartPayment');
                 } elseif (strpos($status, 'hard') !== false) {
                     $hotelBookerComponent->status('hardStartPayment');
                 } else {
                     $validForPayment = false;
                 }
             } else {
                 $validForPayment = false;
             }
         }
     } else {
         return false;
     }
     return $validForPayment;
 }