diff options
Diffstat (limited to 'modules/webcpanel/pages/operserv/akill.cpp')
-rw-r--r-- | modules/webcpanel/pages/operserv/akill.cpp | 50 |
1 files changed, 30 insertions, 20 deletions
diff --git a/modules/webcpanel/pages/operserv/akill.cpp b/modules/webcpanel/pages/operserv/akill.cpp index bc09c4216..a4cdb26be 100644 --- a/modules/webcpanel/pages/operserv/akill.cpp +++ b/modules/webcpanel/pages/operserv/akill.cpp @@ -1,28 +1,38 @@ /* - * (C) 2003-2016 Anope Team - * Contact us at team@anope.org + * Anope IRC Services * - * Please read COPYING and README for further details. + * Copyright (C) 2012-2016 Anope Team <team@anope.org> + * + * This file is part of Anope. Anope is free software; you can + * redistribute it and/or modify it under the terms of the GNU + * General Public License as published by the Free Software + * Foundation, version 2. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, see see <http://www.gnu.org/licenses/>. */ #include "../../webcpanel.h" -WebCPanel::OperServ::Akill::Akill(const Anope::string &cat, const Anope::string &u) : WebPanelProtectedPage(cat, u) +WebCPanel::OperServ::Akill::Akill(const Anope::string &cat, const Anope::string &u) : WebPanelProtectedPage(cat, u), akills("xlinemanager/sgline") { } -bool WebCPanel::OperServ::Akill::OnRequest(HTTPProvider *server, const Anope::string &page_name, HTTPClient *client, HTTPMessage &message, HTTPReply &reply, NickAlias *na, TemplateFileServer::Replacements &replacements) +bool WebCPanel::OperServ::Akill::OnRequest(HTTPProvider *server, const Anope::string &page_name, HTTPClient *client, HTTPMessage &message, HTTPReply &reply, ::NickServ::Nick *na, TemplateFileServer::Replacements &replacements) { - - static ServiceReference<XLineManager> akills("XLineManager","xlinemanager/sgline"); - - if (!na->nc->o || !na->nc->o->ot->HasCommand("operserv/akill")) + if (!na->GetAccount()->o || !na->GetAccount()->o->GetType()->HasCommand("operserv/akill")) { replacements["NOACCESS"]; } else { - if (akills->GetCount() == 0) + std::vector<XLine *> xlines = akills->GetXLines(); + if (xlines.empty()) replacements["AKILLS"] = "No Akills to display."; if (message.post_data.count("mask") > 0 && message.post_data.count("expiry") > 0 && message.post_data.count("reason") > 0) @@ -34,7 +44,7 @@ bool WebCPanel::OperServ::Akill::OnRequest(HTTPProvider *server, const Anope::st cmdstr << " " << HTTPUtils::URLDecode(message.post_data["mask"]); cmdstr << " " << HTTPUtils::URLDecode(message.post_data["reason"]); params.push_back(cmdstr.str()); - WebPanel::RunCommand(na->nc->display, na->nc, "OperServ", "operserv/akill", params, replacements); + WebPanel::RunCommand(na->GetAccount()->GetDisplay(), na->GetAccount(), "OperServ", "operserv/akill", params, replacements); } if (message.get_data["del"] == "1" && message.get_data.count("number") > 0) @@ -42,18 +52,18 @@ bool WebCPanel::OperServ::Akill::OnRequest(HTTPProvider *server, const Anope::st std::vector<Anope::string> params; params.push_back("DEL"); params.push_back(HTTPUtils::URLDecode(message.get_data["number"])); - WebPanel::RunCommand(na->nc->display, na->nc, "OperServ", "operserv/akill", params, replacements); + WebPanel::RunCommand(na->GetAccount()->GetDisplay(), na->GetAccount(), "OperServ", "operserv/akill", params, replacements); } - for (unsigned i = 0, end = akills->GetCount(); i < end; ++i) + unsigned int i = 0; + for (XLine *x : xlines) { - const XLine *x = akills->GetEntry(i); - replacements["NUMBER"] = stringify(i + 1); - replacements["HOST"] = x->mask; - replacements["SETTER"] = x->by; - replacements["TIME"] = Anope::strftime(x->created, NULL, true); - replacements["EXPIRE"] = Anope::Expires(x->expires, na->nc); - replacements["REASON"] = x->reason; + replacements["NUMBER"] = stringify(++i); + replacements["HOST"] = x->GetMask(); + replacements["SETTER"] = x->GetBy(); + replacements["TIME"] = Anope::strftime(x->GetCreated(), NULL, true); + replacements["EXPIRE"] = Anope::Expires(x->GetExpires(), na->GetAccount()); + replacements["REASON"] = x->GetReason(); } } |