/** * make contact update call * * @param array $params array containigs whmcs data * * @return mixed array containig error message will return if error was ocurred, 'success' string in other case */ function stregistry_SaveContactDetails($params) { // init connection if (($status = __initConnectionAndAuthorize($params)) !== true) { return __errorArray($status); } $mapping = array('registrant' => 'Registrant', 'admin' => 'Admin', 'tech' => 'Technical', 'billing' => 'Billing'); // fetch domain $json = STRegistry::Domains()->query($params['domainname']); if (!ResponseHelper::isSuccess($json)) { return __errorArray(ResponseHelper::fromJSON($json)->message); } $domain = Domain::fromJSON($json); $updatedContacts = array(); // udpate contacts foreach ($domain->getContacts() as $type => $contactId) { if (empty($contactId) || in_array($contactId, $updatedContacts)) { continue; } if (!empty($params['contactdetails'][$mapping[$type]])) { $data = $params['contactdetails'][$mapping[$type]]; $contact = new Contact($contactId); $contact->setPhoneNumber($data['Phone Number'])->setFaxNumber($data['Fax'])->setEmail($data['Email'])->setName($data['Name'] ?: $data['Full Name'])->setOrganization($data['Organization'] ?: $data['Organisation Name'])->setCity($data['City'])->setPostalCode($data['Postal Code'] ?: $data['Postalcode'])->setCountryCode($data['Country'])->setState($data['State'])->setAddress($data['Street1'] ?: $data['Address 1'], $data['Street2'] ?: $data['Address 2'], isset($data['Street3']) ? $data['Street3'] : ''); $json = STRegistry::Contacts()->update($contact); if (!ResponseHelper::isSuccess($json)) { return __errorArray(sprintf(ResponseHelper::fromJSON($json)->message . " in %s contact", $mapping[$type])); } $updatedContacts[] = $contact->getContactId(); } } return 'success'; }
/** * Performs remote object validation * * @return boolean */ public function validate() { // clean up errors parent::validate(); $response = ResponseHelper::fromJSON(STRegistry::Contacts()->validate($this)); if ($response->code != 1000) { $this->setValidationErrorCode($response->code)->setValidationErrorMessage($response->message); return false; } return true; }