/**
  * This method request registry to create contact
  * 
  * @param Contact $contact
  * @return CreateContactResponse
  */
 public function CreateContact(Contact $contact, $extra = array())
 {
     $fields = $contact->GetRegistryFormattedFieldList();
     $params = array('TLD' => $this->Extension, 'FNAME' => $fields['firstname'], 'LNAME' => $fields['lastname'], 'ORGANIZATION' => $fields["org"], 'EMAIL' => $fields["email"], 'ADDRESS1' => $fields["street1"], 'ADDRESS2' => $fields["street2"], 'CITY' => $fields["city"], 'PROVINCE' => $fields['sp'], 'POSTAL CODE' => $fields["pc"], 'COUNTRY' => $fields["cc"], 'PHONE' => $fields["voice"]);
     $Resp = $this->Request('CREATE CONTACT', $params);
     $status = $Resp->Succeed && $Resp->Data['CONTACTID'] ? REGISTRY_RESPONSE_STATUS::SUCCESS : REGISTRY_RESPONSE_STATUS::FAILED;
     $Ret = new CreateContactResponse($status, $Resp->ErrMsg);
     if ($Ret->Succeed()) {
         $Ret->CLID = $Resp->Data['CONTACTID'];
     }
     return $Ret;
 }
 /**
  * This method request registry to create contact
  * 
  * @param Contact $contact
  * @return CreateContactResponse
  */
 public function CreateContact(Contact $contact, $extra = array())
 {
     $params = array('id' => $contact->CLID);
     $params = array_merge($params, $contact->GetRegistryFormattedFieldList());
     foreach ($params as &$param) {
         if (!is_array($param)) {
             $param = $this->EscapeXML($param);
         }
     }
     $params['discloses'] = $this->GetDisclosesXML($contact->GetDiscloseList());
     if ($this->IsRegistrant($contact)) {
         $params['type'] = $params['isorg'] == 1 ? "holder_org" : "holder_pers";
         $response = $this->Request("contact-create-holder", $params);
     } else {
         $response = $this->Request("contact-create", $params);
     }
     $status = $response->Succeed ? REGISTRY_RESPONSE_STATUS::SUCCESS : REGISTRY_RESPONSE_STATUS::FAILED;
     $ret = new CreateContactResponse($status, $response->ErrMsg, $response->Code);
     if ($ret->Succeed()) {
         $creData = $response->Data->response->resData->children($this->XmlNamespaces['contact']);
         $creData = $creData[0];
         $ret->CLID = (string) $creData->id[0];
     }
     return $ret;
 }
 /**
  * Create contact
  * 
  * @param Contact $contact
  * @return CreateContactResponse
  */
 public function CreateContact(Contact $contact, $extra = array())
 {
     $params = $this->PackContact($contact, CONTACT_TYPE::REGISTRANT);
     $Resp = $this->Request('AddContact', $params);
     $status = $Resp->Succeed || $Resp->Data->Contact->RegistrantPartyID ? REGISTRY_RESPONSE_STATUS::SUCCESS : REGISTRY_RESPONSE_STATUS::FAILED;
     $Ret = new CreateContactResponse($status, $Resp->ErrMsg, $Resp->Code);
     if ($Ret->Succeed()) {
         $Ret->CLID = (string) $Resp->Data->Contact->RegistrantPartyID;
     }
     return $Ret;
 }