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; }