Exemple #1
0
 /**
  * Taken from 1.7
  * @see app/code/core/Mage/Usa/Model/Shipping/Carrier/Mage_Usa_Model_Shipping_Carrier_Fedex::_getQuotes()
  */
 protected function _getQuotes()
 {
     if (!Mage::getStoreConfig('shipping/shipusa/active')) {
         return Mage_Usa_Model_Shipping_Carrier_Fedex::_getQuotes();
     }
     $this->_result = Mage::getModel('shipping/rate_result');
     // make separate request for Smart Post method
     $allowedMethods = explode(',', $this->getConfigData('allowed_methods'));
     if (in_array(self::RATE_REQUEST_SMARTPOST, $allowedMethods)) {
         $response = $this->_doRatesRequest(self::RATE_REQUEST_SMARTPOST);
         $preparedSmartpost = $this->_parseDimXmlResponse($response);
         if (!$preparedSmartpost->getError()) {
             $this->_result->append($preparedSmartpost);
         }
     }
     // make general request for all methods
     $response = $this->_doRatesRequest(self::RATE_REQUEST_GENERAL);
     $preparedGeneral = $this->_parseDimXmlResponse($response);
     if (!$preparedGeneral->getError() || $this->_result->getError() && $preparedGeneral->getError()) {
         $this->_result->append($preparedGeneral);
     }
     return $this->_result;
 }