Aleksander Machniak
2015-08-10 39813e961a62b738fd653ebb6773352da686dc85
Show error message from CPanel API on password change failure (#1490144)
1 files modified
32 ■■■■■ changed files
plugins/password/drivers/cpanel.php 32 ●●●●● patch | view | raw | blame | history
plugins/password/drivers/cpanel.php
@@ -49,20 +49,16 @@
        $this->xmlapi->set_output('json');
        $this->xmlapi->set_debug(0);
        if ($this->setPassword($_SESSION['username'], $newpass)) {
            return PASSWORD_SUCCESS;
        }
        else {
            return PASSWORD_ERROR;
        }
        return $this->setPassword($_SESSION['username'], $newpass);
    }
    /**
     * Change email account password
     *
     * Returns true on success or false on failure.
     * @param string $password email account password
     * @return bool
     * @param string $address  Email address/username
     * @param string $password Email account password
     *
     * @return int|array Operation status
     */
    function setPassword($address, $password)
    {
@@ -75,13 +71,21 @@
        $data['password'] = $password;
        $query = $this->xmlapi->api2_query($this->cuser, 'Email', 'passwdpop', $data);
        $query = json_decode($query, true);
        $query  = $this->xmlapi->api2_query($this->cuser, 'Email', 'passwdpop', $data);
        $query  = json_decode($query, true);
        $result = $query['cpanelresult']['data'][0];
        if ($query['cpanelresult']['data'][0]['result'] == 1) {
            return true;
        if ($result['result'] == 1) {
            return PASSWORD_SUCCESS;
        }
        return false;
        if ($result['reason']) {
            return array(
                'code'    => PASSWORD_ERROR,
                'message' => $result['reason'],
            );
        }
        return PASSWORD_ERROR;
    }
}