Example #1
0
 static function processCartInfo($controller, $transId)
 {
     if (isset($controller->ipnProcessor)) {
         $processor = $controller->ipnProcessor;
         return $processor($transId);
     }
     $cartCode = $transId;
     $memberId = NULL;
     $solds = array();
     $order = NULL;
     if (($p = strpos($transId, ';')) !== FALSE) {
         $orderId = substr($transId, 0, $p);
         $krcoObjKeyPl = substr($transId, $p + 1);
         $ordersDb = $controller->getKrcoConfigValue($krcoObjKeyPl, 'db_orders');
         $order = $controller->getSingleObject($ordersDb, 'getOrderByLongId', array($orderId));
         if ($order) {
             $memberId = $order->getMemberId();
             $solds = $order->getOrderedProducts();
             $cartCode = $order->getShoppingCartFid();
             $processed = Helper_Cart::processOrderPaid($controller, $order, $krcoObjKeyPl);
             if (!$processed) {
                 return NULL;
             }
         }
     }
     $cartObj = self::getCartObjByCartCode($controller, $cartCode);
     if ($cartObj) {
         if (!$memberId) {
             $memberId = $cartObj->getMemberId();
         }
         if (!$solds) {
             $solds = self::getSoldsOfCart($controller, $cartObj);
         }
     }
     $info = array('cart_code' => $cartCode, 'member_id' => $memberId, 'solds' => $solds, 'order' => $order);
     $controller->_processedCartInfo = $info;
     return $info;
 }