$new_address->phone = $telephone_no; $new_address->id_country = $id_country; $new_address->id_state = $id_state; $new_address->id_customer = (int) $current_cart->id_customer; $new_address->id_manufacturer = 0; $new_address->id_supplier = 0; $new_address->id_warehouse = 0; if (!$new_address->add()) { die('<script language="javascript" type="text/javascript">top.location.href = "' . $context->link->getPageLink('order') . '?step=1" ;</script>'); } /* * Save shipto data in shipto cart object. */ $shipto_cart = ShiptomyidCart::getByIdCart($current_cart->id); if (!$shipto_cart) { $shipto_cart = new ShiptomyidCart(); $shipto_cart->id_cart = $current_cart->id; } $shipto_cart->receiver_email = $email; $shipto_cart->receiver_lastname = $lastname; $shipto_cart->receiver_firstname = $firstname; $shipto_cart->receiver_city = $city; $shipto_cart->receiver_postcode = $postcode; $shipto_cart->receiver_id_country = $id_country; $shipto_cart->receiver_id_state = $id_state; $shipto_cart->receiver_phone = $telephone_no; $shipto_cart->receiver_type = $receiver_type; $shipto_cart->receiver_linkedin_id = $receiver_linkedin_id; $shipto_cart->receiver_facebook_id = $receiver_facebook_id; if (!$shipto_cart->save()) { die('<script language="javascript" type="text/javascript">top.location.href = "' . $context->link->getPageLink('order') . '?step=1" ;</script>');
/** * Send order to shiptomyid. */ public function sendOrderToAPI($order) { $this->on_process = true; $delivery_address = new Address((int) $order->id_address_delivery); $invoice_address = new Address((int) $order->id_address_invoice); $customer = new Customer((int) $order->id_customer); $shipto_cart = ShiptomyidCart::getByIdCart((int) $order->id_cart); if (!Validate::isLoadedObject($delivery_address) || !Validate::isLoadedObject($invoice_address) || !Validate::isLoadedObject($customer) || !Validate::isLoadedObject($shipto_cart)) { ShiptomyidLog::addLog('invalid order object or address object in order', $order->id); return false; } $gift_msg = !empty($order->gift_message) ? $order->gift_message : 'Brought to you by Ship2MyID'; $data_to_send = array('vendor_order_id' => $order->id, 'sender_email_address' => $customer->email, 'sender_first_name' => $invoice_address->firstname, 'sender_last_name' => $invoice_address->lastname, 'sender_message' => $gift_msg, 'receiver_email_address' => $shipto_cart->receiver_email, 'receiver_first_name' => $shipto_cart->receiver_firstname, 'receiver_last_name' => $shipto_cart->receiver_lastname, 'receiver_telephone' => $shipto_cart->receiver_phone, 'receiver_type' => $shipto_cart->receiver_type, 'receiver_linkedin_id' => '', 'receiver_facebook_id' => '', 'marketplace_order_data' => $this->getOrderData($order)); switch ($shipto_cart->receiver_type) { case 'facebook': $data_to_send['receiver_facebook_id'] = $shipto_cart->receiver_facebook_id; break; case 'linkedin': $data_to_send['receiver_linkedin_id'] = $shipto_cart->receiver_linkedin_id; break; } $result = $this->api->sendOrder(array('ExternalOrder' => $data_to_send)); if (isset($result['ExternalOrder'])) { $result_data = $result['ExternalOrder']; $new_shipto_order = new ShiptomyidOrder(); $new_shipto_order->id_order = $order->id; $new_shipto_order->id_shiptomyid = $result_data['id']; $new_shipto_order->state_send = 1; if ($new_shipto_order->add()) { ShiptomyidOrder::changeOrderStatus($order->id, self::$os_waiting); ShiptomyidOrder::addMessageToOrder($order->id, $this->l('Add order in Ship2MyId : #' . $new_shipto_order->id_shiptomyid)); $this->checkOrderStatus($new_shipto_order->id_order, $result); return true; } ShiptomyidLog::addLog('Error in save shiptotmyid_order object.', $order->id, $new_shipto_order->id_shiptomyid); } else { ShiptomyidOrder::changeOrderStatus($order->id, self::$os_error); ShiptomyidOrder::addMessageToOrder($order->id, ShiptoAPI::getErrorMessage($result)); } return false; }