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; }
$output[] = '<tr>'; $output[] = '<td>' . $item->name . '</td>'; $output[] = '<td>' . $item->quantity . '</td>'; $output[] = '</tr>'; //Get item from store inventory ans save it in order summary $dbitem = getItemByName($item->name); $success = db_addOrderItem($dborder->id, $dbitem->id, $item->quantity, $item->price); //Insert order summary for this item if (!$success) { array_push($purchaseFailed, $dbitem); } } $output[] = '</tbody>'; $output[] = '</table>'; //Send Email to customer $buyer = db_getUserById($dborder->userid); // Buyer Information: added by JAM - 06/18/2012 $profile_fields = profile_user_record($dborder->userid); $data = new object(); $data->userfullname = fullname($buyer); $data->firstname = $buyer->firstname; $data->lastname = $buyer->lastname; $data->email = $buyer->email; $data->username = $buyer->username; $data->password = ''; //$buyer->password; $data->gender = $profile_fields->gender; $data->skypeid = $profile_fields->skypeid; $data->kaseyasalesrep = $profile_fields->kaseyasalesrep; $data->maintopic = $profile_fields->maintopic; $data->typebundle = $profile_fields->typebundle;
"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 = refactored_db_getItem($orderitem['itemid']); $user = db_getUserById($dbOrder_userid); $description = ord_getItemDescription($item['id'], $dbOrder_id); $oi = array("id" => $orderitem['id'], "itemid" => $item['id'], "name" => $item['name'], "type" => $item['type'], "description" => $item['description'], "quantity" => $orderitem['quantity'], "price" => $orderitem['unitprice'], "subtotal" => $subtotal, "cancelled" => $orderitem['cancelled'], "description" => $description); if ($success) { $body = '<p>The item ' . $dbItem_name . ' from order ' . $dbOrder_ordernumber . ' has been cancelled.<p>'; } else { $body = '<p>The item ' . $dbItem_name . ' from order ' . $dbOrder_ordernumber . ' has not been cancelled. The reason is: <cite>' . $message . '</cite><p>'; } // sms: 5/19/2011 // sendEmail($user, 'Item Cancellation from order['.$dbOrder->ordernumber.']', $body); $response = array("success" => $success, "orderitem" => $oi, "message" => $message); echo json_encode($response); } } } }