summaryrefslogtreecommitdiff
path: root/modules/commands/ns_recover.cpp
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2012-10-31 12:37:43 -0400
committerAdam <Adam@anope.org>2012-10-31 12:37:43 -0400
commit3a10fca75f660e90983b3a01d33917c17a0f4fa4 (patch)
tree6b5a41819a3f1602d381d01d70f773bb39cd4ac2 /modules/commands/ns_recover.cpp
parenta39947cd3c6c76cb708de7d328aabde62e39be0b (diff)
Fix ns_ghost and ns_recover, add nicksev:restoreonghost
Diffstat (limited to 'modules/commands/ns_recover.cpp')
-rw-r--r--modules/commands/ns_recover.cpp15
1 files changed, 6 insertions, 9 deletions
diff --git a/modules/commands/ns_recover.cpp b/modules/commands/ns_recover.cpp
index 648bbf032..63d503553 100644
--- a/modules/commands/ns_recover.cpp
+++ b/modules/commands/ns_recover.cpp
@@ -19,17 +19,16 @@ class NSRecoverRequest : public IdentifyRequest
CommandSource source;
Command *cmd;
dynamic_reference<NickAlias> na;
+ dynamic_reference<User> u;
public:
- NSRecoverRequest(Module *m, CommandSource &src, Command *c, NickAlias *n, const Anope::string &pass) : IdentifyRequest(m, n->nc->display, pass), source(src), cmd(c), na(n) { }
+ NSRecoverRequest(Module *m, CommandSource &src, Command *c, User *user, NickAlias *n, const Anope::string &pass) : IdentifyRequest(m, n->nc->display, pass), source(src), cmd(c), na(n), u(user) { }
void OnSuccess() anope_override
{
- if (!source.GetUser() || !na)
+ if (!na || !u)
return;
- User *u = source.GetUser();
-
u->SendMessage(source.service, FORCENICKCHANGE_NOW);
if (u->Account() == na->nc)
@@ -47,11 +46,9 @@ class NSRecoverRequest : public IdentifyRequest
void OnFail() anope_override
{
- if (!source.GetUser())
+ if (!na || !u)
return;
- User *u = source.GetUser();
-
source.Reply(ACCESS_DENIED);
if (!GetPassword().empty())
{
@@ -101,13 +98,13 @@ class CommandNSRecover : public Command
if (ok == false && !pass.empty())
{
- NSRecoverRequest *req = new NSRecoverRequest(owner, source, this, na, pass);
+ NSRecoverRequest *req = new NSRecoverRequest(owner, source, this, u2, na, pass);
FOREACH_MOD(I_OnCheckAuthentication, OnCheckAuthentication(source.GetUser(), req));
req->Dispatch();
}
else
{
- NSRecoverRequest req(owner, source, this, na, pass);
+ NSRecoverRequest req(owner, source, this, u2, na, pass);
if (ok)
req.OnSuccess();