static function orderToOrderArr($controller, $obj) { $itemObjs = $obj->getOrderedProducts(); $items = self::objsToArrs($controller, $itemObjs, 'orderItemToArr'); $detailedItems = self::objsToArrs($controller, $itemObjs, 'orderItemToDetailedArr'); $expirySeconds = $controller->_getOrderExpirySeconds(); $expiryTs = strtotime($obj->getOrderDate()) + $expirySeconds; $arr = array('order_id' => $obj->getLongId(), 'invoice_id' => $obj->getLongId(), 'order_timestamp' => strtotime($obj->getOrderDate()), 'expiry_timestamp' => $expiryTs, 'expiry_hours' => (int) ($expirySeconds / 3600), 'invoice_link' => self::_getInvoiceLinkOfOrder($controller, $obj), 'payment_notif_message' => $obj->getPaymentNotifMessage(), 'prefered_delivery_timestamp' => strtotime($obj->getPreferredDeliveryDate()), 'coupon_code' => $obj->getCouponCode(), 'n_points_earned' => $obj->getPointEarned(), 'n_points_used' => $obj->getPointUsed(), 'currency' => $obj->getCurrency(), 'item_total_amount_raw' => Helper_Cart::getItemTotalCostOfOrder($obj), 'total_amount_raw' => Helper_Cart::getTotalCostOfOrder($obj), 'total_amount' => $obj->getCurrency() . ' ' . number_format(Helper_Cart::getTotalCostOfOrder($obj), 2), 'status' => self::_getOrderStatusName($controller, $obj->getOrderStatus()), 'merchant_remarks' => $obj->getRemarks(), 'message' => $obj->getMessage(), 'items' => $items, 'detailed_items' => $detailedItems, 'shipping' => $obj->getShippingCost(), 'discount' => $obj->getDiscount(), 'tax' => $obj->getTax(), 'down_payment' => $obj->getDownPayment(), 'shipping_info' => $obj->getShippingDestination(), 'backorder_shipping_info' => $obj->getBackorderShippingDestination(), 'payment_method' => $obj->getPaymentMethod(), 'billing_info' => self::_getBillingInfoOfOrder($obj), 'delivery_info' => self::_getDeliveryInfoOfOrder($obj), 'payment_instruction' => self::getPaymentInstructionOfPaymentMethod($controller, $obj->getPaymentMethod()), 'attribute1' => $obj->getAttribute1(), 'attribute2' => $obj->getAttribute2(), 'attribute3' => $obj->getAttribute3(), 'attribute4' => $obj->getAttribute4(), 'attribute5' => $obj->getAttribute5()); $addData = array(); if (method_exists($obj, 'getEventName')) { $addData['event_name'] = $obj->getEventName(); } if (method_exists($obj, 'getEventVenue')) { $addData['event_venue'] = $obj->getEventVenue(); } if (method_exists($obj, 'getEventDate')) { $addData['event_timestamp'] = strtotime($obj->getEventDate()); } $arr += $addData; return $arr; }