Ejemplo n.º 1
0
 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;
 }
Ejemplo n.º 3
0
 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;
 }
Ejemplo n.º 4
0
 /**
  * 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());
     }
 }