protected function _shipOrder(Mage_Sales_Model_Order $order) { $itemQty = $order->getItemsCollection()->count(); $shipment = Mage::getModel('sales/service_order', $order)->prepareShipment($itemQty); $shipment = new Mage_Sales_Model_Order_Shipment_Api(); $shipmentId = $shipment->create($order->getIncrementId()); }
public function CloseOrder($order_id) { $order = Mage::getModel('sales/order')->loadByIncrementID($order_id); $order->setState(Mage_Sales_Model_Order::STATE_PROCESSING, true); $order->save(); try { if (!$order->canInvoice()) { Mage::throwException(Mage::helper('core')->__('Cannot create an invoice.')); } $invoice = Mage::getModel('sales/service_order', $order)->prepareInvoice(); if (!$invoice->getTotalQty()) { Mage::throwException(Mage::helper('core')->__('Cannot create an invoice without products.')); } $invoice->setRequestedCaptureCase(Mage_Sales_Model_Order_Invoice::CAPTURE_ONLINE); $invoice->register(); $transactionSave = Mage::getModel('core/resource_transaction')->addObject($invoice)->addObject($invoice->getOrder()); $transactionSave->save(); } catch (Mage_Core_Exception $e) { Mage::register('conection_status', 'Invoice - Order ID:' . order_id . ' - ' . $e->getMessage()); } try { if ($order->canShip()) { $itemQty = $order->getItemsCollection()->count(); $shipment = Mage::getModel('sales/service_order', $order)->prepareShipment($itemQty); $shipment = new Mage_Sales_Model_Order_Shipment_Api(); $shipmentId = $shipment->create($order_id); } } catch (Mage_Core_Exception $e) { Mage::register('conection_status', 'Shipping - Order ID:' . order_id . ' - ' . $e->getMessage()); } }
public function saveDB($upsl, $upsl2 = NULL, $params, $order_id, $shipment_id, $type) { $upslabel = Mage::getModel('upslabel/upslabel'); $colls2 = $upslabel->getCollection()->addFieldToFilter('order_id', $order_id)->addFieldToFilter('type', $type)->addFieldToFilter('status', 1); if (count($colls2) > 0) { foreach ($colls2 as $c) { $c->delete(); } } if (!array_key_exists('error', $upsl) || !$upsl['error']) { if ($shipment_id == 0 && $type == "shipment") { if ($this->imOrder->canShip()) { $itemQty = $this->imOrder->getItemsCollection()->count(); $shipment = Mage::getModel('sales/service_order', $this->imOrder)->prepareShipment($itemQty); $shipment = new Mage_Sales_Model_Order_Shipment_Api(); $shipmentId = $shipment->create($this->imOrder->getIncrementId(), array(), '', true, false); $shipment_id = Mage::getModel('sales/order_shipment')->load($shipmentId, 'increment_id')->getId(); } else { $shipment = $this->imOrder->getShipmentsCollection()->getFirstItem(); $shipment_id = $shipment->getId(); } } foreach ($upsl['arrResponsXML'] as $upsl_one) { $upslabel = Mage::getModel('upslabel/upslabel'); $upslabel->setTitle('Order ' . $order_id . ' TN' . $upsl_one['trackingnumber']); $upslabel->setOrderId($order_id); $upslabel->setShipmentId($shipment_id); $upslabel->setType($type); /*$upslabel->setBase64Image();*/ $upslabel->setTrackingnumber($upsl_one['trackingnumber']); $upslabel->setShipmentidentificationnumber($upsl['shipidnumber']); $upslabel->setShipmentdigest($upsl['digest']); $upslabel->setLabelname('label' . $upsl_one['trackingnumber'] . '.' . strtolower($upsl_one['type_print'])); $upslabel->setStatustext(Mage::helper('adminhtml')->__('Successfully')); $upslabel->setTypePrint($upsl_one['type_print']); $upslabel->setStatus(0); $upslabel->setCreatedTime(Date("Y-m-d H:i:s")); $upslabel->setUpdateTime(Date("Y-m-d H:i:s")); if ($upslabel->save() !== FALSE && Mage::getStoreConfig('upslabel/printing/automatic_printing') == 1) { Mage::helper('upslabel/help')->sendPrint($upsl_one['graphicImage'], $storeId, $upsl_one['type_print']); } $upslabel = Mage::getModel('upslabel/labelprice'); $upslabel->setOrderId($order_id); $upslabel->setShipmentId($shipment_id); $upslabel->setPrice($upsl['price']['price'] . " " . $upsl['price']['currency']); $upslabel->setType($type); $upslabel->save(); $this->upsl = $upslabel; } if ($params['default_return'] == 1) { if (isset($upsl2) && !empty($upsl2) && (!array_key_exists('error', $upsl2) || !$upsl2['error'])) { foreach ($upsl2['arrResponsXML'] as $upsl_one) { $upslabel = Mage::getModel('upslabel/upslabel'); $upslabel->setTitle('Order ' . $order_id . ' TN' . $upsl_one['trackingnumber']); $upslabel->setOrderId($order_id); $upslabel->setShipmentId($shipment_id); $upslabel->setType($type); /*$upslabel->setBase64Image();*/ $upslabel->setTrackingnumber($upsl_one['trackingnumber']); $upslabel->setShipmentidentificationnumber($upsl['shipidnumber']); $upslabel->setShipmentdigest($upsl['digest']); $upslabel->setLabelname('label' . $upsl_one['trackingnumber'] . '.' . strtolower($upsl_one['type_print'])); $upslabel->setStatustext(Mage::helper('adminhtml')->__('Successfully')); $upslabel->setTypePrint($upsl_one['type_print']); $upslabel->setStatus(0); $upslabel->setCreatedTime(Date("Y-m-d H:i:s")); $upslabel->setUpdateTime(Date("Y-m-d H:i:s")); if ($upslabel->save() !== FALSE && Mage::getStoreConfig('upslabel/printing/automatic_printing') == 1) { Mage::helper('upslabel/help')->sendPrint($upsl_one['graphicImage']); } $upslabel = Mage::getModel('upslabel/labelprice'); $upslabel->setOrderId($order_id); $upslabel->setShipmentId($shipment_id); $upslabel->setPrice($upsl2['price']['price'] . " " . $upsl2['price']['currency']); $upslabel->setType($type); $upslabel->save(); $this->upsl2 = $upslabel; } if ($params['addtrack'] == 1 && $type == 'shipment') { $trTitle = 'United Parcel Service (return)'; $shipment = Mage::getModel('sales/order_shipment')->load($shipment_id); foreach ($upsl2['arrResponsXML'] as $upsl_one1) { $track = Mage::getModel('sales/order_shipment_track')->setNumber(trim($upsl_one1['trackingnumber']))->setCarrierCode('ups')->setTitle($trTitle); $shipment->addTrack($track); } $shipment->save(); } } else { $upslabel = Mage::getModel('upslabel/upslabel'); $upslabel->setTitle('Order ' . $order_id); $upslabel->setOrderId($order_id); $upslabel->setShipmentId($shipment_id); $upslabel->setType($type); $upslabel->setStatustext($upsl2['errordesc']); $upslabel->setStatus(1); $upslabel->setCreatedTime(Date("Y-m-d H:i:s")); $upslabel->setUpdateTime(Date("Y-m-d H:i:s")); $upslabel->save(); $this->upsl2 = $upslabel; } } if ($params['addtrack'] == 1 && $type == 'shipment') { $trTitle = 'United Parcel Service'; $shipment = Mage::getModel('sales/order_shipment')->load($shipment_id); foreach ($upsl['arrResponsXML'] as $upsl_one1) { $track = Mage::getModel('sales/order_shipment_track')->setNumber(trim($upsl_one1['trackingnumber']))->setCarrierCode('ups')->setTitle($trTitle); $shipment->addTrack($track); } $shipment->save(); } } else { $upslabel = Mage::getModel('upslabel/upslabel'); $upslabel->setTitle('Order ' . $order_id); $upslabel->setOrderId($order_id); $upslabel->setShipmentId($shipment_id); $upslabel->setType($type); $upslabel->setStatustext($upsl['errordesc']); $upslabel->setStatus(1); $upslabel->setCreatedTime(Date("Y-m-d H:i:s")); $upslabel->setUpdateTime(Date("Y-m-d H:i:s")); $upslabel->save(); $this->upsl = $upslabel; } return $upslabel; }
/** * Mass ship orders */ public function shipAction() { $order_ids = $this->getRequest()->getParam('order_ids'); foreach ($order_ids as $order_id) { $order = Mage::getModel('sales/order')->load($order_id); if ($order->canShip()) { $item_qty = $order->getItemsCollection()->getSize(); $shipment = Mage::getModel('sales/service_order', $order)->prepareShipment($item_qty); $shipment = new Mage_Sales_Model_Order_Shipment_Api(); $success = false; try { $shipment_id = $shipment->create($order->getIncrementId()); $success = true; } catch (Exception $e) { $this->_getSession()->addError($this->__("Order #" . $order->getIncrementId() . " Failed to Ship")); Mage::log($e, null, 'madcapsule_ordership.log'); } if ($success) { $this->_getSession()->addSuccess($this->__("Order #" . $order->getIncrementId() . " Successfully Shipped")); } } else { $this->_getSession()->addError($this->__("Order #" . $order->getIncrementId() . " is Not Available to Ship. Have you already shipped it?")); } } $this->_redirect('adminhtml/sales_order/'); }
function createShipment($qwintry_data = array()) { $order = Mage::getModel('sales/order')->loadByIncrementId($qwintry_data['order_id']); $shipping_settings = $this->getShippingSettings(); $dimensions = array('box_length' => 10, 'box_width' => 10, 'box_height' => 10); $shippingId = $order->getShippingAddress()->getId(); $address = Mage::getModel('sales/order_address')->load($shippingId); $orderedItems = $order->getAllVisibleItems(); if ($order->hasInvoices()) { $invoice = $order->getInvoiceCollection()->getFirstItem(); $pdf = Mage::getModel('sales/order_pdf_invoice')->getPdf(array($invoice)); } $pounds = $order->getWeight(); if (!empty($qwintry_data['box_length']) && !empty($qwintry_data['box_width']) && !empty($qwintry_data['box_height'])) { $dimensions = $qwintry_data; } if (!empty($qwintry_data['box_weight'])) { $pounds = $qwintry_data['box_weight']; } $data = array('Shipment' => array('first_name' => $address->getFirstname(), 'last_name' => $address->getLastname(), 'phone' => $address->getTelephone(), 'email' => $address->getEmail(), 'customer_notes' => '', 'weight' => $pounds > 0.1 ? $pounds : (empty($shipping_settings['default_weight']) ? 4 : $shipping_settings['default_weight']), 'dimensions' => $dimensions['box_length'] . 'x' . $dimensions['box_width'] . 'x' . $dimensions['box_height'], 'insurance' => false, 'external_id' => $qwintry_data['order_id'], 'hub_code' => empty($shipping_settings['hub']) ? 'DE1' : $shipping_settings['hub'])); if (isset($pdf)) { $data['Shipment']['invoices'] = array(0 => array('base64_data' => base64_encode($pdf->render()), 'base64_extension' => 'pdf')); } $street = $address->getStreet(); $region = $address->getRegion(); $data['Shipment']['addr_line1'] = $street[0]; $data['Shipment']['addr_line2'] = ''; $data['Shipment']['addr_zip'] = $address->getPostcode(); $data['Shipment']['addr_state'] = empty($region) ? '' : $region; $data['Shipment']['addr_city'] = $address->getCity(); $data['Shipment']['addr_country'] = $address->getCountryId(); $pickupObject = $order->getPickupObject(); if ($pickupObject && $order->getShippingMethod() == 'altteam_qwintry_pickup') { $data['Shipment']['delivery_type'] = 'pickup'; $data['Shipment']['delivery_pickup'] = $pickupObject->getStore(); } else { $data['Shipment']['delivery_type'] = 'courier'; } if ($shipping_settings['mode'] == 'test') { $data['Shipment']['test'] = true; } foreach ($orderedItems as $item) { $item_weight = $item->getWeight(); $data['items'][] = array('descr' => $item->getName(), 'descr_ru' => $item->getName(), 'count' => floatval($item->getQtyOrdered()), 'line_value' => floatval($this->getPrice($item->getPrice(), 'USD')), 'line_weight' => floatval(empty($item_weight) ? 0.1 : $item_weight)); } $result = $this->sendApiRequest('package-create', $data); if (!$result || empty($result->success) || !$result->success || empty($result->result->tracking)) { if (empty($result->errorMessage)) { return false; } return array('[error]' => (string) $result->errorMessage); } try { $shipment = new Mage_Sales_Model_Order_Shipment_Api(); $shipmentId = $shipment->create($qwintry_data['order_id']); $shipment->addTrack($shipmentId, 'altteam_qwintry', 'Tracking ID', $result->result->tracking); } catch (Exception $e) { } if ($this->saveLabel($qwintry_data['order_id'] . '.pdf', $result->result->tracking) !== false) { return true; } return false; }
public function createInvoice() { $this->set('success', false); $this->set('output', false); $this->set('errormessage', 'Not defined'); $_debug = ''; $_orderID = $this->get('orderid'); $_trackingNumber = $this->get('trackingnumber'); $_shippingTitle = $this->get('shippingtitle'); $_notifyCustomer = $this->booString($this->get('notifycustomer')); try { // and invoice / ship $_order = \Mage::getModel('sales/order')->loadByIncrementId($_orderID); // not invoiced if ($_order->canInvoice()) { $_debug = $_debug . "Creating invoice... " . "\n"; $_invoice = \Mage::getModel('sales/service_order', $_order)->prepareInvoice(); if (!$_invoice->getTotalQty()) { throw new \Exception('Cannot create an invoice without products.'); } //$_invoice->setRequestedCaptureCase(\Mage_Sales_Model_Order_Invoice::CAPTURE_ONLINE); $_invoice->register(); $_transactionSave = \Mage::getModel('core/resource_transaction')->addObject($_invoice)->addObject($_invoice->getOrder())->save(); $_order->addStatusHistoryComment('Invoice created.')->setIsVisibleOnFront(false)->setIsCustomerNotified(false); } $_shipment = $_order->getShipmentsCollection()->getFirstItem(); $_shipmentIncrementId = $_shipment->getIncrementId(); if (!$_shipmentIncrementId) { // create new shipment with tracking // $_order = \Mage::getModel('sales/order')->loadByIncrementId($_orderID); if ($_order->canShip()) { $_debug = $_debug . "Creating new shipment... " . "\n"; $_itemQty = $_order->getItemsCollection()->count(); $_shipment = \Mage::getModel('sales/service_order', $_order)->prepareShipment($this->_getItemQtys($_order)); $_shipment = new \Mage_Sales_Model_Order_Shipment_Api(); $_shipmentId = $_shipment->create($_orderID); $_shipment = $_order->getShipmentsCollection()->getFirstItem(); $_track = \Mage::getModel('sales/order_shipment_track')->setNumber($_trackingNumber)->setCarrierCode('matrixrate')->setTitle($_shippingTitle); $_shipment->addTrack($_track); if ($_notifyCustomer) { $_shipment->sendEmail(); } $_shipment->save(); $_order->addStatusHistoryComment($_shippingTitle . ' - tracking number ' . $_trackingNumber)->setIsVisibleOnFront(false)->setIsCustomerNotified(false); } } else { // shipment exists // add tracking $_debug = $_debug . "adding tracking data to shipment... " . "\n"; $_shipment = \Mage::getModel('sales/order_shipment')->loadByIncrementId($_shipmentIncrementId); /* @var $_shipment Mage_Sales_Model_Order_Shipment */ $_track = \Mage::getModel('sales/order_shipment_track')->setNumber($_trackingNumber)->setCarrierCode('matrixrate')->setTitle($_shippingTitle); $_shipment->addTrack($_track); $_shipment->save(); if ($_notifyCustomer) { $_shipment->sendEmail(); } $_order->addStatusHistoryComment($_shippingTitle . ' tracking number ' . $_trackingNumber)->setIsVisibleOnFront(false)->setIsCustomerNotified(false); //throw new \Exception('No shipment found.'); //$this->set('errormessage','No shipment found'); } $this->_saveOrder($_order); } catch (\Exception $e) { $this->set('errormessage', $e); return; } $this->set('success', true); $this->set('output', array('createInvoice' => array('orderid' => $_orderID, 'notifycustomer' => $_notifyCustomer, 'debug' => $_debug))); }
<?php include "percorsoMage.php"; require_once "../" . $MAGE; Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID); if (isset($_REQUEST['order_id'])) { try { $orderId = $_REQUEST['order_id']; $order = Mage::getModel('sales/order')->loadByIncrementId($orderId); if ($order->canShip()) { $itemQty = $order->getItemsCollection()->count(); $shipment = Mage::getModel('sales/service_order', $order)->prepareShipment($itemQty); $shipment = new Mage_Sales_Model_Order_Shipment_Api(); $shipmentId = $shipment->create($orderId); } if ($shipmentId != null) { echo "<script type='text/javascript'>alert('Spedizione creata con successo!'); location.replace('../ordini.php');</script>"; } else { echo "<script type='text/javascript'>alert('Errore nella creazione della spedizione!'); location.replace('../ordini.php');</script>"; } } catch (Exception $e) { echo "<script type='text/javascript'>alert('Errore nella creazione della spedizione! Contattare l\\'assistenza clienti'); location.replace('../ordini.php');</script>"; } } else { echo "<script type='text/javascript'>alert('Errore!'); location.replace('../ordini.php');</script>"; }
/** * Cybermut response router * * @param none * @return void */ public function notifyAction() { $model = $this->getMethodInstance(); if ($this->getRequest()->isPost()) { $postData = $this->getRequest()->getPost(); $method = 'post'; } else { if ($this->getRequest()->isGet()) { $postData = $this->getRequest()->getQuery(); $method = 'get'; } else { $model->generateErrorResponse(); } } $this->setCybermutResponse($postData); if ($model->getDebugFlag()) { Mage::getModel('cybermut/api_debug')->setResponseBody(print_r($postData, 1))->save(); } $returnedMAC = $postData['MAC']; $correctMAC = $model->getResponseMAC($postData); foreach ($this->getRealOrderIds() as $realOrderId) { $order = Mage::getModel('sales/order')->loadByIncrementId($realOrderId); if (!$order->getId()) { $model->generateErrorResponse(); } } if ($returnedMAC == $correctMAC) { if ($model->isSuccessfulPayment($postData['code-retour'])) { foreach ($this->getRealOrderIds() as $realOrderId) { $order = Mage::getModel('sales/order')->loadByIncrementId($realOrderId); // Déblocage de la commande si nécessaire if ($order->getState() == Mage_Sales_Model_Order::STATE_HOLDED) { $order->unhold(); } if (!($status = $model->getConfigData('order_status_payment_accepted'))) { $status = $order->getStatus(); } $message = $model->getSuccessfulPaymentMessage($postData); if ($status == Mage_Sales_Model_Order::STATE_PROCESSING) { if ($model->getConfigData('invoice_create')) { $this->saveInvoice($order); } $order->setState(Mage_Sales_Model_Order::STATE_PROCESSING, $status, $message); } else { if ($status == Mage_Sales_Model_Order::STATE_COMPLETE) { $this->saveInvoice($order); if ($order->canShip()) { $itemQty = $order->getItemsCollection()->count(); $shipment = Mage::getModel('sales/service_order', $order)->prepareShipment($itemQty); $shipment = new Mage_Sales_Model_Order_Shipment_Api(); $shipment->create($order->getIncrementId()); } } else { if ($model->getConfigData('invoice_create')) { $this->saveInvoice($order); } $order->addStatusToHistory($status, $message, true); } } $order->save(); if (!$order->getEmailSent()) { $order->sendNewOrderEmail(); } } } else { foreach ($this->getRealOrderIds() as $realOrderId) { $order = Mage::getModel('sales/order')->loadByIncrementId($realOrderId); $messageError = $model->getRefusedPaymentMessage($postData); if ($order->getState() == Mage_Sales_Model_Order::STATE_HOLDED) { $order->unhold(); } if (!($status = $model->getConfigData('order_status_payment_refused'))) { $status = $order->getStatus(); } if ($status == Mage_Sales_Model_Order::STATE_HOLDED && $order->canHold()) { $order->hold(); } elseif ($status == Mage_Sales_Model_Order::STATE_CANCELED && $order->canCancel()) { $order->cancel(); } $order->addStatusHistoryComment($messageError); $order->save(); } } if ($method == 'post') { $model->generateSuccessResponse(); } else { if ($method == 'get') { return; } } } else { foreach ($this->getRealOrderIds() as $realOrderId) { $order = Mage::getModel('sales/order')->loadByIncrementId($realOrderId); if ($order->canCancel()) { $order->cancel(); } $order->addStatusHistoryComment(Mage::helper('cybermut')->__('Returned MAC is invalid. Order cancelled.')); $order->save(); } $model->generateErrorResponse(); } }
/** * generateTrackingNumberAndLabelForOrder * * Gutted the Infomodus_Upslabel_Adminhtml_AutocreatelabelController::indexAction * functionality and put it in here so it can be called from other places * (i.e. Xtento_GridActions module controllers for example) * * @param integer|string $orderId * @return void */ public function generateTrackingNumberAndLabelForOrder($orderId, $type = 'shipment', $ptype = 'order') { try { Mage::log('HIT FROM ' . __CLASS__ . '::' . __FUNCTION__ . ' AT LINE: ' . __LINE__); $AccessLicenseNumber = Mage::getStoreConfig('upslabel/credentials/accesslicensenumber'); $UserId = Mage::getStoreConfig('upslabel/credentials/userid'); $Password = Mage::getStoreConfig('upslabel/credentials/password'); $shipperNumber = Mage::getStoreConfig('upslabel/credentials/shippernumber'); $order = Mage::getModel('sales/order')->load($orderId); if ($order->canShip()) { $itemQty = $order->getItemsCollection()->count(); $shipment = Mage::getModel('sales/service_order', $order)->prepareShipment($itemQty); $shipment = new Mage_Sales_Model_Order_Shipment_Api(); $shipmentId = $shipment->create($order->getIncrementId(), array(), '', true, true); $shipmentId = Mage::getModel('sales/order_shipment')->load($shipmentId, 'increment_id')->getId(); } else { $shipment = $order->getShipmentsCollection()->getFirstItem(); $shipmentId = $shipment->getId(); } if ($shipmentId && $shipmentId > 0) { $collection = Mage::getModel('upslabel/upslabel')->getCollection()->addFieldToFilter('order_id', $orderId)->addFieldToFilter('shipment_id', $shipmentId)->addFieldToFilter('type', $type)->addFieldToFilter('status', 0); if ($collection->count() === 0) { $controller = new Infomodus_Upslabel_Adminhtml_UpslabelController(); $controller->intermediatehandy($orderId, $type, $shipmentId); $lbl = Mage::getModel('upslabel/ups'); $lbl->setCredentials($AccessLicenseNumber, $UserId, $Password, $shipperNumber); $lbl = $controller->setParams($lbl, $controller->defConfRarams, array($controller->defParams)); $upsl = $lbl->getShip(); if ($controller->defConfRarams['default_return'] == 1) { $lbl->serviceCode = array_key_exists('default_return_servicecode', $controller->defConfRarams) ? $controller->defConfRarams['default_return_servicecode'] : ''; $upsl2 = $lbl->getShipFrom(); } $upslabel = Mage::getModel('upslabel/upslabel'); $colls2 = $upslabel->getCollection()->addFieldToFilter('order_id', $orderId)->addFieldToFilter('shipment_id', $shipmentId)->addFieldToFilter('type', $type)->addFieldToFilter('status', 1); if ($colls2->count() > 0) { foreach ($colls2 as $c) { $c->delete(); } } if (!array_key_exists('error', $upsl) || !$upsl['error']) { foreach ($upsl['arrResponsXML'] as $upsl_one) { $upslabel = Mage::getModel('upslabel/upslabel'); $upslabel->setTitle('Order ' . $orderId . ' TN' . $upsl_one['trackingnumber']); $upslabel->setOrderId($orderId); $upslabel->setShipmentId($shipmentId); $upslabel->setType($type); /*$upslabel->setBase64Image();*/ $upslabel->setTrackingnumber($upsl_one['trackingnumber']); $upslabel->setShipmentidentificationnumber($upsl['shipidnumber']); $upslabel->setShipmentdigest($upsl['digest']); $upslabel->setLabelname('label' . $upsl_one['trackingnumber'] . '.gif'); $upslabel->setStatustext(Mage::helper('adminhtml')->__('Successfully')); $upslabel->setStatus(0); $upslabel->setCreatedTime(Date("Y-m-d H:i:s")); $upslabel->setUpdateTime(Date("Y-m-d H:i:s")); $upslabel->save(); $upslabel = Mage::getModel('upslabel/labelprice'); $upslabel->setOrderId($orderId); $upslabel->setShipmentId($shipmentId); $upslabel->setPrice($upsl['price']['price'] . " " . $upsl['price']['currency']); $upslabel->save(); } if ($controller->defConfRarams['default_return'] == 1) { if (!array_key_exists('error', $upsl2) || !$upsl2['error']) { foreach ($upsl2['arrResponsXML'] as $upsl_one) { $upslabel = Mage::getModel('upslabel/upslabel'); $upslabel->setTitle('Order ' . $orderId . ' TN' . $upsl_one['trackingnumber']); $upslabel->setOrderId($orderId); $upslabel->setShipmentId($shipmentId); $upslabel->setType($type); /*$upslabel->setBase64Image();*/ $upslabel->setTrackingnumber($upsl_one['trackingnumber']); $upslabel->setShipmentidentificationnumber($upsl['shipidnumber']); $upslabel->setShipmentdigest($upsl['digest']); $upslabel->setLabelname('label' . $upsl_one['trackingnumber'] . '.gif'); $upslabel->setStatustext(Mage::helper('adminhtml')->__('Successfully')); $upslabel->setStatus(0); $upslabel->setCreatedTime(Date("Y-m-d H:i:s")); $upslabel->setUpdateTime(Date("Y-m-d H:i:s")); $upslabel->save(); $upslabel = Mage::getModel('upslabel/labelprice'); $upslabel->setOrderId($orderId); $upslabel->setShipmentId($shipmentId); $upslabel->setPrice($upsl2['price']['price'] . " " . $upsl2['price']['currency']); $upslabel->save(); } } else { $upslabel = Mage::getModel('upslabel/upslabel'); $upslabel->setTitle('Order ' . $orderId); $upslabel->setOrderId($orderId); $upslabel->setShipmentId($shipmentId); $upslabel->setType($type); $upslabel->setStatustext($upsl2['errordesc']); $upslabel->setStatus(1); $upslabel->setCreatedTime(Date("Y-m-d H:i:s")); $upslabel->setUpdateTime(Date("Y-m-d H:i:s")); $upslabel->save(); } } if ($controller->defConfRarams['addtrack'] == 1 && $type == 'shipment') { $trTitle = 'United Parcel Service'; $shipment = Mage::getModel('sales/order_shipment')->load($shipmentId); foreach ($upsl['arrResponsXML'] as $upsl_one1) { $track = Mage::getModel('sales/order_shipment_track')->setNumber(trim($upsl_one1['trackingnumber']))->setCarrierCode('ups')->setTitle($trTitle); $shipment->addTrack($track); } $shipment->save(); } } else { $upslabel = Mage::getModel('upslabel/upslabel'); $upslabel->setTitle('Order ' . $orderId); $upslabel->setOrderId($orderId); $upslabel->setShipmentId($shipmentId); $upslabel->setType($type); $upslabel->setStatustext($upsl['errordesc']); $upslabel->setStatus(1); $upslabel->setCreatedTime(Date("Y-m-d H:i:s")); $upslabel->setUpdateTime(Date("Y-m-d H:i:s")); $upslabel->save(); } } } } catch (Exception $e) { Mage::log('[ EXCEPTION!!! ] FROM ' . __CLASS__ . '::' . __FUNCTION__ . ' AT LINE ' . __LINE__); Mage::log($e->getMessage()); } }