Example #1
0
 public function collectRates(Mage_Shipping_Model_Rate_Request $request)
 {
     // Dimensional Shipping takes precendence over UpsCalendar
     if (Mage::helper('wsacommon')->isModuleEnabled('Webshopapps_Shipusa', 'shipping/shipusa/active')) {
         if (!Mage::registry('shipusa_upsmodel')) {
             $model = Mage::getModel('shipusa/shipping_carrier_ups');
             Mage::register('shipusa_upsmodel', $model);
         }
         return Mage::registry('shipusa_upsmodel')->collectRates($request);
     }
     if (Mage::helper('wsacommon')->isModuleEnabled('Webshopapps_Upscalendar', 'shipping/webshopapps_dateshiphelper/active')) {
         if (!Mage::registry('upscalendar_upsmodel')) {
             $model = Mage::getModel('upscalendar/usa_shipping_carrier_ups');
             Mage::register('upscalendar_upsmodel', $model);
         }
         return Mage::registry('upscalendar_upsmodel')->collectRates($request);
     }
     if (Mage::helper('wsacommon')->isModuleEnabled('Webshopapps_UPSDateShipping', 'shipping/webshopapps_dateshiphelper/active')) {
         if (!Mage::registry('upsdateshipping_upsmodel')) {
             $model = Mage::getModel('webshopapps_upsdateshipping/usa_shipping_carrier_ups');
             Mage::register('upsdateshipping_upsmodel', $model);
         }
         return Mage::registry('upsdateshipping_upsmodel')->collectRates($request);
     }
     // default
     return parent::collectRates($request);
 }
Example #2
0
 /**
  * This is only used if UPS Calendar or UPS DateShipHelper are installed
  * @param Mage_Shipping_Model_Rate_Request $request
  * @return bool|Mage_Shipping_Model_Rate_Result|mixed|null
  */
 public function collectRates(Mage_Shipping_Model_Rate_Request $request)
 {
     if (!Mage::helper('wsacommon')->isModuleEnabled('Webshopapps_DateShipHelper', 'shipping/webshopapps_dateshiphelper/active')) {
         return parent::collectRates($request);
     }
     if (!$this->getConfigFlag('active')) {
         return false;
     }
     if (!Mage::helper('wsacommon')->isModuleEnabled('Webshopapps_UPSDateShipping', 'shipping/webshopapps_dateshiphelper/active')) {
         if (!Mage::helper('calendarbase')->useUPSRates()) {
             return parent::collectRates($request);
         }
     }
     self::$_upsCalendarDebug = Mage::helper('wsalogger')->isDebug('Webshopapps_DateShipHelper');
     $this->setRequest($request);
     $this->setXMLAccessRequest();
     if (!Mage::helper('wsacommon')->isModuleEnabled('Webshopapps_UPSDateShipping', 'shipping/webshopapps_dateshiphelper/active')) {
         $this->_upsTransitModel = Mage::getModel('upscalendar/usa_shipping_upstransit');
         $this->_upsTransitModel->_populateTimeInTransitValues($request, $this->_rawRequest, $this->_xmlAccessRequest, self::$_upsCalendarDebug);
     }
     $dateFormat = Mage::helper('webshopapps_dateshiphelper')->getDateFormat();
     $dayCount = 0;
     $dispatchDate = '';
     $this->setRequest($request);
     $this->setXMLAccessRequest();
     Mage::helper('webshopapps_dateshiphelper')->getEarliestDispatchDay($dayCount, $dispatchDate, 0, -1, 'Ymd');
     if (self::$_upsCalendarDebug) {
         Mage::helper('wsalogger/log')->postInfo('webshopapps_upsdateshipping', 'Earliest Dispatch Date', $dispatchDate);
     }
     $this->_upsTransitModel = Mage::getSingleton('webshopapps_upsdateshipping/usa_shipping_transit');
     $this->_upsTransitModel->getTimeInTransitArr($this->_rawRequest, $this->_xmlAccessRequest, $dispatchDate);
     $this->_earliestDispatchDate = date($dateFormat, strtotime($dispatchDate));
     $this->_result = $this->_getQuotes();
     $this->_updateFreeMethodQuote($request);
     return $this->getResult();
 }