/** * Gets the current DNS records when the Domain is using DNS farm nameservers * @param $params * @return array */ function domainbox_GetDNS($params) { $authParameters = getAuthParameters($params); $apiEndpoint = $params["TestMode"] ? "https://sandbox.domainbox.net/?WSDL" : "https://live.domainbox.net/?WSDL"; $queryDnsRecordsParameters = new QueryDnsRecordsParameters(); $queryDnsRecordsParameters->Zone = $params["sld"] . '.' . $params["tld"]; $hostRecords = array(); try { $parameters = array('AuthenticationParameters' => $authParameters, 'CommandParameters' => $queryDnsRecordsParameters); $client = new SoapClient($apiEndpoint, array('soap_version' => SOAP_1_2)); $result = $client->QueryDnsRecords($parameters); $result = $result->QueryDnsRecordsResult; if ($result->ResultCode == 100) { if ($result->TotalResults > 1) { foreach ($result->Records->DnsRecordQueryResult as $dnsRecord) { $hostRecords[] = array('hostname' => $dnsRecord->HostName, 'type' => $dnsRecord->RecordType, 'address' => $dnsRecord->Content, 'priority' => $dnsRecord->Priority); } } else { foreach ($result->Records as $dnsRecord) { $hostRecords[] = array('hostname' => $dnsRecord->HostName, 'type' => $dnsRecord->RecordType, 'address' => $dnsRecord->Content, 'priority' => $dnsRecord->Priority); } } } } catch (Exception $e) { //TODO: Find out a way to return error to WHMCS. } return $hostRecords; }