public static function createFromAddress(Mage_Sales_Model_Order_Address $address) { $aAddress = new self(); $aAddress->first_name = $address->getFirstname(); $aAddress->last_name = $address->getLastname(); $aAddress->street = $address->getStreet(1); $aAddress->city = $address->getCity(); $aAddress->state = $address->getRegion(); $aAddress->country = $address->getCountryModel()->getIso2Code(); $aAddress->postcode = $address->getPostcode(); $aAddress->phone = $address->getTelephone(); $aAddress->alt_phone = $address->getAltTelephone(); $aAddress->address_addition = $address->getStreet(2); return $aAddress; }
/** * Import address data from order address * * @param Mage_Sales_Model_Order_Address $address * @return Mage_Sales_Model_Quote_Address */ public function importOrderAddress(Mage_Sales_Model_Order_Address $address) { $this->setAddressType($address->getAddressType())->setCustomerId($address->getCustomerId())->setCustomerAddressId($address->getCustomerAddressId())->setEmail($address->getEmail())->setFirstname($address->getFirstname())->setLastname($address->getLastname())->setCompany($address->getCompany())->setStreet($address->getStreet())->setCity($address->getCity())->setRegion($address->getRegion())->setRegionId($address->getRegionId())->setPostcode($address->getPostcode())->setCountryId($address->getCountryId())->setTelephone($address->getTelephone())->setFax($address->getFax()); return $this; }
/** * Create address request data * * @param Mage_Sales_Model_Order_Address $address * @return array */ protected function _getAddressInfo($address) { $result = array(); foreach ($this->_addressFileds as $addressField) { if ($address->hasData($addressField)) { $result[$addressField] = $address->getData($addressField); } } //Streets must be transfered separately $streets = $address->getStreet(); $result['street'] = array_shift($streets); if ($street2 = array_shift($streets)) { $result['street2'] = $street2; } //Region code lookup $region = Mage::getModel('directory/region')->load($address->getData('region_id')); if ($region && $region->getId()) { $result['region'] = $region->getCode(); } else { $result['region'] = $address->getRegion(); } return $result; }
/** * @param string $code * @param Mage_Sales_Model_Order_Address $address * * @return null|string */ protected function _getStreetLine($code, Mage_Sales_Model_Order_Address $address) { if (strpos($code, 'street_') !== false) { $split = explode('_', $code); if (isset($split[1])) { return $address->getStreet((int) $split[1]); } } return null; }
/** * Convert order address to quote address * * @param Mage_Sales_Model_Order_Address $address * @return Mage_Sales_Model_Quote_Address */ public function addressToQuoteAddress(Mage_Sales_Model_Order_Address $address) { $quoteAddress = Mage::getModel('sales/quote_address')->setStoreId($address->getStoreId())->setAddressType($address->getAddressType())->setCustomerId($address->getCustomerId())->setCustomerAddressId($address->getCustomerAddressId())->setFirstname($address->getFirstname())->setLastname($address->getLastname())->setCompany($address->getCompany())->setStreet($address->getStreet(-1))->setCity($address->getCity())->setRegion($address->getRegion())->setRegionId($address->getRegionId())->setPostcode($address->getPostcode())->setCountryId($address->getCountryId())->setTelephone($address->getTelephone())->setFax($address->getFax()); return $quoteAddress; }
/** * Gets the shipping attribute based on one of the id's from * RicardoMartins_PagSeguro_Model_Source_Customer_Address_* * * @param Mage_Sales_Model_Order_Address $address * @param string $attributeId * * @return string */ private function _getAddressAttributeValue($address, $attributeId) { $isStreetline = preg_match('/^street_(\\d{1})$/', $attributeId, $matches); if ($isStreetline !== false && isset($matches[1])) { //uses streetlines return $address->getStreet(intval($matches[1])); } else { if ($attributeId == '') { //do not tell pagseguro return ''; } } return (string) $address->getData($attributeId); }
/** * Pega um atributo de endereço baseado em um dos Id's vindos de RicardoMartins_PagSeguro_Model_Source_Customer_Address_* * @param Mage_Sales_Model_Order_Address $address * @param string $attribute_id */ private function _getAddressAttributeValue($address, $attribute_id) { $is_streetline = preg_match('/^street_(\\d{1})$/', $attribute_id, $matches); if ($is_streetline !== false && isset($matches[1])) { return $address->getStreet(intval($matches[1])); } else { if ($attribute_id == '') { return ''; } } return (string) $address->getData($attribute_id); }
protected function _normalizeReceiverAddress(Mage_Sales_Model_Order_Address &$address) { /* @var $address Mage_Sales_Model_Order_Address */ if (false === $this->get('shipment')->hasCustomizedAddress()) { // calculate street_name, street_number, care_of $parts = Mage::helper('intraship')->splitStreet($address->getStreet(1)); $address->setStreetName($parts['street_name'])->setStreetNumber($parts['street_number'])->setCareOf($parts['care_of']); if (false !== stripos($address->getStreet(2), 'packstation')) { // append packstation info, if applicable $address->setIdNumber(preg_replace('/\\D/', '', $address->getStreet(1)))->setStationId($address->getStreet(2)); } elseif (strlen($address->getStreet(2))) { // append second address row, if not empty $address->setCareOf($address->getCareOf() . ' ' . $address->getStreet(2)); } } else { $customized = $this->get('shipment')->getCustomizedAddress(); /* @var $customized Dhl_Intraship_Model_Address */ // take street_name, street_number, care_of over from customized address $address->setStreetName($customized->offsetGet('street_name'))->setStreetNumber($customized->offsetGet('street_number'))->setCareOf($customized->offsetGet('care_of')); // override fields that may have been customized $address->setSuffix($customized->offsetGet('suffix'))->setPrefix($customized->offsetGet('prefix'))->setFirstname($customized->offsetGet('firstname'))->setMiddlename($customized->offsetGet('middlename'))->setLastname($customized->offsetGet('lastname'))->setCity($customized->offsetGet('city'))->setCompany($customized->offsetGet('company'))->setRegion($customized->offsetGet('region'))->setPostcode($customized->offsetGet('postcode'))->setTelephone($customized->offsetGet('telephone'))->setEmail($customized->offsetGet('email'))->setCountryId($customized->offsetGet('country_id')); // set packstation info $address->setIdNumber($customized->offsetGet('id_number'))->setStationId($customized->offsetGet('station_id')); } }