summaryrefslogtreecommitdiff
path: root/modules/commands/hs_request.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'modules/commands/hs_request.cpp')
-rw-r--r--modules/commands/hs_request.cpp72
1 files changed, 43 insertions, 29 deletions
diff --git a/modules/commands/hs_request.cpp b/modules/commands/hs_request.cpp
index 1d9207e05..d1fb0e640 100644
--- a/modules/commands/hs_request.cpp
+++ b/modules/commands/hs_request.cpp
@@ -185,23 +185,30 @@ class CommandHSActivate : public Command
}
const Anope::string &nick = params[0];
-
NickServ::Nick *na = NickServ::FindNick(nick);
- HostRequest *req = na ? na->GetExt<HostRequest>("hostrequest") : NULL;
- if (req)
- {
- na->SetVhost(req->ident, req->host, source.GetNick(), req->time);
- Event::OnSetVhost(&Event::SetVhost::OnSetVhost, na);
- if (Config->GetModule(this->owner)->Get<bool>("memouser") && MemoServ::service)
- MemoServ::service->Send(source.service->nick, na->nick, _("[auto memo] Your requested vHost has been approved."), true);
+ if (!na)
+ {
+ source.Reply(_("\002{0}\002 isn't registered."), nick);
+ return;
+ }
- source.Reply(_("Vhost for \002{0}\002 has been activated."), na->nick);
- Log(LOG_COMMAND, source, this) << "for " << na->nick << " for vhost " << (!req->ident.empty() ? req->ident + "@" : "") << req->host;
- na->Shrink<HostRequest>("hostrequest");
+ HostRequest *req = na->GetExt<HostRequest>("hostrequest");
+ if (!req)
+ {
+ source.Reply(_("\002{0}\002 does not have a pending vhost request."), na->nick);
+ return;
}
- else
- source.Reply(_("\002{0}\002 does not have a pending vhost request."), nick);
+
+ na->SetVhost(req->ident, req->host, source.GetNick(), req->time);
+ Event::OnSetVhost(&Event::SetVhost::OnSetVhost, na);
+
+ if (Config->GetModule(this->owner)->Get<bool>("memouser") && MemoServ::service)
+ MemoServ::service->Send(source.service->nick, na->nick, _("[auto memo] Your requested vHost has been approved."), true);
+
+ source.Reply(_("Vhost for \002{0}\002 has been activated."), na->nick);
+ Log(LOG_COMMAND, source, this) << "for " << na->nick << " for vhost " << (!req->ident.empty() ? req->ident + "@" : "") << req->host;
+ na->Shrink<HostRequest>("hostrequest");
}
bool OnHelp(CommandSource &source, const Anope::string &subcommand) override
@@ -235,27 +242,34 @@ class CommandHSReject : public Command
const Anope::string &reason = params.size() > 1 ? params[1] : "";
NickServ::Nick *na = NickServ::FindNick(nick);
- HostRequest *req = na ? na->GetExt<HostRequest>("hostrequest") : NULL;
- if (req)
+ if (!na)
{
- na->Shrink<HostRequest>("hostrequest");
+ source.Reply(_("\002{0}\002 isn't registered."), nick);
+ return;
+ }
- if (Config->GetModule(this->owner)->Get<bool>("memouser") && MemoServ::service)
- {
- Anope::string message;
- if (!reason.empty())
- message = Anope::printf(_("[auto memo] Your requested vHost has been rejected. Reason: %s"), reason.c_str());
- else
- message = _("[auto memo] Your requested vHost has been rejected.");
+ HostRequest *req = na->GetExt<HostRequest>("hostrequest");
+ if (!req)
+ {
+ source.Reply(_("\002{0}\002 does not have a pending vhost request."), na->nick);
+ return;
+ }
- MemoServ::service->Send(source.service->nick, nick, Language::Translate(source.GetAccount(), message.c_str()), true);
- }
+ na->Shrink<HostRequest>("hostrequest");
+
+ if (Config->GetModule(this->owner)->Get<bool>("memouser") && MemoServ::service)
+ {
+ Anope::string message;
+ if (!reason.empty())
+ message = Anope::printf(_("[auto memo] Your requested vHost has been rejected. Reason: %s"), reason.c_str());
+ else
+ message = _("[auto memo] Your requested vHost has been rejected.");
- source.Reply(_("Vhost for \002{0}\002 has been rejected."), na->nick);
- Log(LOG_COMMAND, source, this) << "to reject vhost for " << nick << " (" << (!reason.empty() ? reason : "no reason") << ")";
+ MemoServ::service->Send(source.service->nick, nick, Language::Translate(source.GetAccount(), message.c_str()), true);
}
- else
- source.Reply(_("\002{0}\002 does not have a pending vhost request."), nick);
+
+ source.Reply(_("Vhost for \002{0}\002 has been rejected."), na->nick);
+ Log(LOG_COMMAND, source, this) << "to reject vhost for " << nick << " (" << (!reason.empty() ? reason : "no reason") << ")";
}
bool OnHelp(CommandSource &source, const Anope::string &subcommand) override