public function __construct($op1 = NULL, $op2 = NULL, $op3 = array()) { if ($op1 != NULL) { return parent::__construct($op1, $op2, $op3); } else { return $this; } }
public function indexAction() { try { $ptype = $this->getRequest()->getParam('type'); $type = 'shipment'; $order_ids = $this->getRequest()->getParam($ptype . '_ids'); $countCreateLabel = 0; foreach ($order_ids as $order_id) { $order = Mage::getModel('sales/order')->load($order_id); $shippingActiveMethods = trim(Mage::getStoreConfig('upslabel/frontend_autocreate_label/apply_to'), " ,"); $shippingActiveMethods = strlen($shippingActiveMethods) > 0 ? explode(",", $shippingActiveMethods) : array(); $orderStatuses = explode(",", trim(Mage::getStoreConfig('upslabel/frontend_autocreate_label/orderstatus'), " ,")); if ((isset($shippingActiveMethods) && count($shippingActiveMethods) > 0 && in_array($order->getShippingMethod(), $shippingActiveMethods) || strpos($order->getShippingMethod(), "ups_") === 0) && (isset($orderStatuses) && count($orderStatuses) > 0 && in_array($order->getStatus(), $orderStatuses))) { $collections = Mage::getModel('upslabel/upslabel'); $colls = $collections->getCollection()->addFieldToFilter('order_id', $order_id)->addFieldToFilter('type', $type)->addFieldToFilter('status', 0); if (count($colls) == 0) { $controller = new Infomodus_Upslabel_Adminhtml_UpslabelController(); $controller->intermediatehandy($order_id, $type); $AccessLicenseNumber = Mage::getStoreConfig('upslabel/credentials/accesslicensenumber'); $UserId = Mage::getStoreConfig('upslabel/credentials/userid'); $Password = Mage::getStoreConfig('upslabel/credentials/password'); $shipperNumber = Mage::getStoreConfig('upslabel/credentials/shippernumber'); $lbl = Mage::getModel('upslabel/ups'); $lbl->setCredentials($AccessLicenseNumber, $UserId, $Password, $shipperNumber); $lbl = $controller->setParams($lbl, $controller->defConfParams, $controller->defParams); $upsl = $lbl->getShip(); if ($controller->defConfParams['default_return'] == 1) { $lbl->serviceCode = array_key_exists('default_return_servicecode', $controller->defConfParams) ? $controller->defConfParams['default_return_servicecode'] : ''; $upsl2 = $lbl->getShipFrom(); } Mage::register('isCreateLabelNow' . $order_id, 2); if (!isset($upsl2)) { $upsl2 = NULL; } $upslabel = $controller->saveDB($upsl, $upsl2, $controller->defConfParams, $order_id, 0, $type); if ($upslabel && Mage::getStoreConfig('upslabel/frontend_autocreate_label/track_send') == 1 && $upslabel->getShipmentId() > 0) { $shipment = Mage::getModel('sales/order_shipment')->load($upslabel->getShipmentId()); if ($shipment) { $shipment->sendEmail(true, '')->setEmailSent(true)->save(); } } $countCreateLabel++; } } } $path_upsdir = Mage::getBaseDir('media') . DS . 'upslabel' . DS . "update" . DS; if (!file_exists($path_upsdir . 'last_update.txt') || (int) file_get_contents($path_upsdir . 'last_update.txt') < time() - 86400) { Mage::getModel('upslabel/cron')->update(); } /*$resp = false; if($countCreateLabel==0){ $this->_getSession()->addError($this->__('Not created any labels')); } else { $resp = Infomodus_Upslabel_Adminhtml_PdflabelsController::create($order_ids, $type, $ptype); } if (!$resp) {*/ $this->_redirectReferer(); /*}*/ } catch (Exception $e) { echo $e->getMessage(); } return true; }
public function frontorderplace(Varien_Event_Observer $event) { $order = $event->getEvent()->getOrder(); if (Mage::registry('isCreateLabelNow' . $order->getId()) == 2) { return true; } if (Mage::getStoreConfig('upslabel/frontend_autocreate_label/frontend_order_autocreate_label_enable') == 1) { $shippingActiveMethods = trim(Mage::getStoreConfig('upslabel/frontend_autocreate_label/apply_to'), " ,"); $shippingActiveMethods = strlen($shippingActiveMethods) > 0 ? explode(",", $shippingActiveMethods) : array(); $orderStatuses = explode(",", trim(Mage::getStoreConfig('upslabel/frontend_autocreate_label/orderstatus'), " ,")); if ((isset($shippingActiveMethods) && count($shippingActiveMethods) > 0 && in_array($order->getShippingMethod(), $shippingActiveMethods) || strpos($order->getShippingMethod(), "ups_") === 0) && (isset($orderStatuses) && count($orderStatuses) > 0 && in_array($order->getStatus(), $orderStatuses))) { $order_id = $order->getId(); $type = 'shipment'; $collections = Mage::getModel('upslabel/upslabel'); $colls = $collections->getCollection()->addFieldToFilter('order_id', $order_id)->addFieldToFilter('type', $type); if (count($colls) == 0) { $controller = new Infomodus_Upslabel_Adminhtml_UpslabelController(); $controller->intermediatehandy($order_id, $type); $AccessLicenseNumber = Mage::getStoreConfig('upslabel/credentials/accesslicensenumber'); $UserId = Mage::getStoreConfig('upslabel/credentials/userid'); $Password = Mage::getStoreConfig('upslabel/credentials/password'); $shipperNumber = Mage::getStoreConfig('upslabel/credentials/shippernumber'); $lbl = Mage::getModel('upslabel/ups'); $lbl->setCredentials($AccessLicenseNumber, $UserId, $Password, $shipperNumber); $lbl = $controller->setParams($lbl, $controller->defConfParams, $controller->defParams); $upsl = $lbl->getShip(); $upsl2 = NULL; if ($controller->defConfParams['default_return'] == 1) { $lbl->serviceCode = array_key_exists('default_return_servicecode', $controller->defConfParams) ? $controller->defConfParams['default_return_servicecode'] : ''; $upsl2 = $lbl->getShipFrom(); } Mage::register('isCreateLabelNow' . $order_id, 2); $upslabel = $controller->saveDB($upsl, $upsl2, $controller->defConfParams, $order_id, 0, $type); if ($upslabel && Mage::getStoreConfig('upslabel/frontend_autocreate_label/track_send') == 1 && $upslabel->getShipmentId() > 0) { $shipment = Mage::getModel('sales/order_shipment')->load($upslabel->getShipmentId()); $shipment->sendEmail(true, '')->setEmailSent(true)->save(); } } } $path_upsdir = Mage::getBaseDir('media') . DS . 'upslabel' . DS . "update" . DS; if (!file_exists($path_upsdir . 'last_update.txt') || (int) file_get_contents($path_upsdir . 'last_update.txt') < time() - 82400) { Mage::getModel('upslabel/cron')->update(); } } return $this; }
/** * 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()); } }