Example #1
0
function ispcfg3_ChangePassword($params)
{
    $username = $params['username'];
    $password = $params['password'];
    $clientsdetails = $params['clientsdetails'];
    $soapuser = $params['configoption1'];
    $soappassword = $params['configoption2'];
    $soapsvrurl = $params['configoption3'];
    $soapsvrssl = $params['configoption4'];
    if ($soapsvrssl == 'on') {
        $soap_url = 'https://' . $soapsvrurl . '/remote/index.php';
        $soap_uri = 'https://' . $soapsvrurl . '/remote/';
    } else {
        $soap_url = 'http://' . $soapsvrurl . '/remote/index.php';
        $soap_uri = 'http://' . $soapsvrurl . '/remote/';
    }
    if (isset($username) && $username != '' && (isset($password) && $password != '')) {
        try {
            /* Connect to SOAP Server */
            $client = new SoapClient(null, array('location' => $soap_url, 'uri' => $soap_uri, 'exceptions' => 1, 'trace' => false));
            /* Authenticate with the SOAP Server */
            $session_id = $client->login($soapuser, $soappassword);
            $domain_id = $client->client_get_by_username($session_id, $username);
            $client_id = $domain_id['client_id'];
            $returnresult = $client->client_change_password($session_id, $client_id, $password);
            logModuleCall('ispconfig', 'ChangePassword', $clientsdetails, $returnresult, '', '');
            if ($client->logout($session_id)) {
            }
            if ($returnresult == 1) {
                $successful = '1';
            } else {
                $successful = '0';
                $result = "Password change failed";
            }
        } catch (SoapFault $e) {
            $error = 'SOAP Error: ' . $e->getMessage();
            $successful = '0';
        }
        if ($successful == 1) {
            $result = 'success';
        } else {
            $result = 'Error: ' . $error;
        }
    } else {
        /*
         * No username or password set.
         */
        $result = 'Username or Password is Blank or Not Set';
    }
    return $result;
}