public function updatePassword($password, $repeat, $id)
    {
        if ($password !== $repeat) {
            Error::set(__printl('auth:error:password:confirm'), 'password');
        } elseif (__config()->auth->sticky_password === true) {
            if (!(new PasswordManipulation())->isValid($password)) {
                Error::set(__printl('auth:error:password:sticky'), 'password');
            }
        }
        if ($this->fail() !== true) {
            $password_hash = Hash::make($password);
            $params = ['password' => $password_hash];
            $fields = [
                    'db_name' => __config()->auth->db_name,
                    'table'   => __config()->auth->db_table,
                    'columns' => $params,
                    'wheres'  => ['id = '.$id],
                ];
            $db = new DB();
            $db->db()->update($fields);
            $db->db()->close();
            Success::set(__printl('auth:success:update_password'));
        }
    }