Example #1
0
/**
 * Modifies the IP address assigned to a nameserver
 * @param $params
 * @return array
 */
function domainbox_ModifyNameserver($params)
{
    // API Configurations
    $authParameters = getAuthParameters($params);
    $apiEndpoint = $params["TestMode"] ? "https://sandbox.domainbox.net/?WSDL" : "https://live.domainbox.net/?WSDL";
    // Command parameters
    $modifyNameserverParameters = new ModifyNameserverParameters();
    $modifyNameserverParameters->DomainName = $params["sld"] . '.' . $params["tld"];
    $modifyNameserverParameters->HostName = $params['nameserver'];
    // IP Address to remove
    $modifyNameserverParameters->RemoveIPAddresses = new IPAddressesParameters();
    $modifyNameserverParameters->RemoveIPAddresses->IPv4Addresses = new IPv4AddressesParameter();
    $modifyNameserverParameters->RemoveIPAddresses->IPv4Addresses->string[] = $params["currentipaddress"];
    // IP Address to add
    $modifyNameserverParameters->AddIPAddresses = new IPAddressesParameters();
    $modifyNameserverParameters->AddIPAddresses->IPv4Addresses = new IPv4AddressesParameter();
    $modifyNameserverParameters->AddIPAddresses->IPv4Addresses->string[] = $params["newipaddress"];
    $values['error'] = "";
    try {
        $parameters = array('AuthenticationParameters' => $authParameters, 'CommandParameters' => $modifyNameserverParameters);
        $client = new SoapClient($apiEndpoint, array('soap_version' => SOAP_1_2));
        $result = $client->ModifyNameserver($parameters);
        $result = $result->ModifyNameserverResult;
        if ($result->ResultCode != 100) {
            $values["error"] = $result->ResultMsg;
        }
    } catch (Exception $e) {
        $values["error"] = "There was an error communicating with Domainbox";
    }
    return $values;
}