Example #1
0
function db_cancelOrder($orderid)
{
    $orderItems = db_getOrderItems($orderid);
    foreach ($orderItems as $orderItem) {
        db_cancelOrderItem($orderid, $orderItem->itemid);
    }
    $sql = "UPDATE mdl_shoppingcart_order SET cancelled = 1, fulfillmentorderstate= 'CANCELLED'  where id =" . $orderid;
    return execute_sql($sql, false);
}
             break;
         case 'CANCELLED':
             $Gresponse->log->LogResponse("Cancelled " + $data[$root]['google-order-number']['VALUE']);
             $order = db_getOrderByOrderNumber($data[$root]['google-order-number']['VALUE']);
             cancelTransaction($order->id);
             $orderItems = db_getOrderItems($orderid);
             foreach ($orderItems as $orderItem) {
                 db_cancelOrderItem($orderid, $orderItem->itemid);
             }
             $Grequest->SendBuyerMessage($data[$root]['google-order-number']['VALUE'], "Sorry, your order is cancelled by the store", true);
             break;
         case 'CANCELLED_BY_GOOGLE':
             $Gresponse->log->LogResponse("Cancelled by Google " + $data[$root]['google-order-number']['VALUE']);
             $order = db_getOrderByOrderNumber($data[$root]['google-order-number']['VALUE']);
             cancelTransaction($order->id);
             $orderItems = db_getOrderItems($orderid);
             foreach ($orderItems as $orderItem) {
                 db_cancelOrderItem($orderid, $orderItem->itemid);
             }
             $Grequest->SendBuyerMessage($data[$root]['google-order-number']['VALUE'], "Sorry, your order is cancelled by Google", true);
             break;
         default:
             break;
     }
 }
 if ($fulfillmentStateHasChanged) {
     switch ($new_fulfillment_order) {
         case 'NEW':
             break;
         case 'PROCESSING':
             break;
Example #3
0
function db_cancelOrder($orderid)
{
    $orderItems = db_getOrderItems($orderid);
    foreach ($orderItems as $orderItem) {
        db_cancelOrderItem($orderid, $orderItem['itemid']);
    }
    $sql = "UPDATE module_vlabs_shoppingcart_order SET cancelled = 1, fulfillmentorderstate= 'CANCELLED'  where id =" . $orderid;
    return eF_executeQuery($sql);
}
function deletePurchasedItems($orderid)
{
    session_start();
    $user = $_SESSION['userid'];
    if ($orderid) {
        $summary = db_getOrderItems($orderid);
        foreach ($summary as $s) {
            $item = db_getItem($s->itemid);
            $prefix = "i-";
            if ($item->type == "PACKAGE") {
                $prefix = "p-";
            }
            $_SESSION[$user . 'cart'] = deleteItem($prefix . "" . $item->id, $_SESSION[$user . 'cart']);
        }
    }
}
function cancelTransaction($orderid)
{
    //Get orde details
    $order = db_getOrderById($orderid);
    $user = db_getUserById($order->userid);
    $orderItems = db_getOrderItems($orderid);
    //Prepare request for the quota system cancel call
    $assignments = array();
    foreach ($orderItems as $orderItem) {
        $item = db_getItem($orderItem->itemid);
        $type = $item->type;
        if ($type == "ITEM") {
            $assignment = array("creditTypeId" => $item->referenceid, "quantity" => $orderItem->quantity, "purchaseId" => $order->ordernumber, "active" => !$orderItem->cancelled);
            array_push($assignments, $assignment);
        } else {
            if ($type == "PACKAGE") {
                //Get package items
                $packageitems = db_getPackageItems($item->id);
                //Initialize array to send a ws request for package items only with rollback true
                $packageItemsArr = array();
                //Save items in request array
                foreach ($packageitems as $packageitem) {
                    $item = db_getItem($packageitem->itemid);
                    $quantity = $orderItem->quantity * $packageitem->quantity;
                    $assignment = array("creditTypeId" => $item->referenceid, "quantity" => $quantity, "purchaseId" => $order->ordernumber . "" . $orderItem->itemid, "active" => !$orderItem->cancelled);
                    array_push($assignments, $assignment);
                }
            }
        }
    }
    //call web service
    $response = ws_cancelQuotaAssignment($assignments);
    $assignmentsResponse = array();
    if (!is_array($response)) {
        array_push($assignmentsResponse, $response);
    } else {
        $assignmentsResponse = array_merge($assignmentsResponse, $response);
    }
    return $assignmentsResponse;
}
         }
     } else {
         $success = false;
         $message = "Item " . $dbItem->name . " could not be cancelled because it has been consumed by the buyer.";
     }
 } else {
     $success = db_cancelOrderItem($dbOrder->id, $dbItem->id);
     if ($success) {
         $body = '<p>The item ' . $dbItem->name . ' from order ' . $dbOrder->ordernumber . ' has been cancelled.<p>';
     } else {
         $message = "Item could not be cancelled in database";
         $body = '<p>The cancellation of item ' . $dbItem->name . ' from order ' . $dbOrder->ordernumber . ' has not been completed.<p>';
     }
 }
 $itemsCancelled = db_getCancelledOrderItems($dbOrder->id);
 $items = db_getOrderItems($dbOrder->id);
 if (count($items) == count($itemsCancelled)) {
     if ($dbOrder->payment) {
         db_cancelGoogleCheckoutOrder($dbOrder->id);
         $gresponse = $Grequest->SendCancelOrder($dbOrder->ordernumber, "Order has been cancelled due to a partial or complete refund." . "Contact the administrator for further details.");
     } else {
         db_cancelOrder($dbOrder->id);
         $body = '<p>Order ' . $dbOrder->ordernumber . ' has been cancelled.<p>';
         $user = db_getUserById($dbOrder->userid);
         // sms: 5/19/2011
         // sendEmail($user, 'Order['.$dbOrder->ordernumber.'] Cancellation', $body);
     }
 }
 $orderitem = db_getOrderItemById($id);
 $subtotal = $orderitem->quantity * $orderitem->unitprice;
 $item = db_getItem($orderitem->itemid);