/** * * @param \DOMElement $element * @param eppContact $contact */ private function addContactChanges($element, eppContact $contact) { if ($contact->getPostalInfoLength() > 0) { $postal = $contact->getPostalInfo(0); $postalinfo = $this->createElement('contact:postalInfo'); if ($postal->getType() == eppContact::TYPE_AUTO) { // If all fields are ascii, type = int (international) else type = loc (localization) if (self::isAscii($postal->getName()) && self::isAscii($postal->getOrganisationName()) && self::isAscii($postal->getStreet(0))) { $postal->setType(eppContact::TYPE_INT); } else { $postal->setType(eppContact::TYPE_LOC); } } $postalinfo->setAttribute('type', $postal->getType()); if (!$postal->getName() == '') { $postalinfo->appendChild($this->createElement('contact:name', $postal->getName())); } if (!$postal->getOrganisationName() == '') { $postalinfo->appendChild($this->createElement('contact:org', $postal->getOrganisationName())); } if ($postal->getStreetCount() > 0 || strlen($postal->getCity()) || strlen($postal->getProvince()) || strlen($postal->getZipcode()) || strlen($postal->getCountrycode())) { $postaladdr = $this->createElement('contact:addr'); if (($count = $postal->getStreetCount()) > 0) { for ($i = 0; $i < $count; $i++) { $postaladdr->appendChild($this->createElement('contact:street', $postal->getStreet($i))); } } if (strlen($postal->getCity())) { $postaladdr->appendChild($this->createElement('contact:city', $postal->getCity())); } if (strlen($postal->getProvince())) { $postaladdr->appendChild($this->createElement('contact:sp', $postal->getProvince())); } if (strlen($postal->getZipcode())) { $postaladdr->appendChild($this->createElement('contact:pc', $postal->getZipcode())); } if (strlen($postal->getCountrycode())) { $postaladdr->appendChild($this->createElement('contact:cc', $postal->getCountrycode())); } $postalinfo->appendChild($postaladdr); } $element->appendChild($postalinfo); } if (strlen($contact->getVoice())) { $element->appendChild($this->createElement('contact:voice', $contact->getVoice())); } if (strlen($contact->getFax())) { $element->appendChild($this->createElement('contact:fax', $contact->getFax())); } if (strlen($contact->getEmail())) { $element->appendChild($this->createElement('contact:email', $contact->getEmail())); } if ($contact->getPassword()) { $authinfo = $this->createElement('contact:authInfo'); $authinfo->appendChild($this->createElement('contact:pw', $contact->getPassword())); $element->appendChild($authinfo); } if (!is_null($contact->getDisclose())) { $type = $contact->getType(); if ($type == $contact::TYPE_AUTO) { $type = $contact::TYPE_LOC; } $disclose = $this->createElement('contact:disclose'); $disclose->setAttribute('flag', $contact->getDisclose()); $name = $this->createElement('contact:name'); if ($contact->getDisclose() == 1) { $name->setAttribute('type', $type); } $disclose->appendChild($name); $org = $this->createElement('contact:org'); if ($contact->getDisclose() == 1) { $org->setAttribute('type', $type); } $disclose->appendChild($org); $addr = $this->createElement('contact:addr'); if ($contact->getDisclose() == 1) { $addr->setAttribute('type', $type); } $disclose->appendChild($addr); $disclose->appendChild($this->createElement('contact:voice')); $disclose->appendChild($this->createElement('contact:email')); $element->appendChild($disclose); } }