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; }