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')); } }