/** * Checks each domain marked as active for their current status. * @param $params * @return array {expirydate => the current expiry date, active => is the domain active, expired => has the domain expired} */ function domainbox_Sync($params) { $authParameters = getAuthParameters($params); $apiEndpoint = $params["TestMode"] ? "https://sandbox.domainbox.net/?WSDL" : "https://live.domainbox.net/?WSDL"; $queryDomainDatesParameters = new QueryDomainDatesParameters(); $queryDomainDatesParameters->DomainName = $params["sld"] . '.' . $params["tld"]; try { $parameters = array('AuthenticationParameters' => $authParameters, 'CommandParameters' => $queryDomainDatesParameters); $client = new SoapClient($apiEndpoint, array('soap_version' => SOAP_1_2)); $result = $client->QueryDomainDates($parameters); $result = $result->QueryDomainDatesResult; if ($result->ResultCode == 100) { $values["expirydate"] = $result->ExpiryDate; $values["active"] = true; $values["expired"] = hasDomainExpired($result->ExpiryDate); $values['error'] = ""; } elseif ($result->ResultCode == 295) { //TODO: Should this mark domain as cancelled? $values['active'] = false; $values['error'] = 'Domain not found'; } else { $values["error"] = $result->ResultMsg; } } catch (Exception $e) { $values["error"] = "There was an error communicating with Domainbox"; } return $values; }