Example #1
0
 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'));
     }
 }