Kimai_Auth_Kimai::resetPassword PHP Method

resetPassword() public method

public resetPassword ( string $username, string $password, string $key ) : array
$username string
$password string
$key string
return array
    public function resetPassword($username, $password, $key)
    {
        $kga = $this->getKga();
        $database = $this->getDatabase();
        $is_customer = $database->is_customer_name($username);
        if ($is_customer) {
            $customerId = $database->customer_nameToID($username);
            $customer = $database->customer_get_data($customerId);
            if ($key != $customer['passwordResetHash']) {
                return array('message' => $kga['lang']['passwordReset']['invalidKey']);
            }
            $data = array('password' => encode_password($password), 'passwordResetHash' => null);
            $database->customer_edit($customerId, $data);
        } else {
            $userId = $database->user_name2id($username);
            $user = $database->user_get_data($userId);
            if ($key != $user['passwordResetHash']) {
                return array('message' => $kga['lang']['passwordReset']['invalidKey']);
            }
            $data = array('password' => encode_password($password), 'passwordResetHash' => null);
            $database->user_edit($userId, $data);
        }
        return array('message' => $kga['lang']['passwordReset']['success'], 'showLoginLink' => true);
    }