Example #1
0
/**
 * 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;
}