function setupOrderAndPaymentObject($orderID)
 {
     if (isset($orderID) && $orderID > 0) {
         $this->paymentObject = eZPaymentObject::fetchByOrderID($orderID);
         if (isset($this->paymentObject)) {
             $this->order = eZOrder::fetch($orderID);
             if (isset($this->order)) {
                 return true;
             }
             $this->logger->writeTimedString("Unable to fetch order object with orderID={$orderID}", 'setupOrderAndPaymentObject failed');
             return false;
         }
         $this->logger->writeTimedString("Unable to fetch payment object with orderID={$orderID}", 'setupOrderAndPaymentObject failed');
         return false;
     }
     $this->logger->writeTimedString("Invalid orderID={$orderID}", 'setupOrderAndPaymentObject failed');
     return false;
 }
示例#2
0
<?php

/**
 * @copyright Copyright (C) eZ Systems AS. All rights reserved.
 * @license For full copyright and license information view LICENSE file distributed with this source code.
 * @version 2014.11.1
 * @package kernel
 */
$http = eZHTTPTool::instance();
$module = $Params['Module'];
$orderID = $http->sessionVariable('MyTemporaryOrderID');
$order = eZOrder::fetch($orderID);
if ($order instanceof eZOrder) {
    if ($order->attribute('is_temporary')) {
        $paymentObj = eZPaymentObject::fetchByOrderID($orderID);
        if ($paymentObj != null) {
            $startTime = time();
            while (time() - $startTime < 25) {
                eZDebug::writeDebug("next iteration", "checkout");
                $order = eZOrder::fetch($orderID);
                if ($order->attribute('is_temporary') == 0) {
                    break;
                } else {
                    sleep(2);
                }
            }
        }
        $order = eZOrder::fetch($orderID);
        if ($order->attribute('is_temporary') == 1 && $paymentObj == null) {
            $email = $order->accountEmail();
            $order->setAttribute('email', $email);