anope- supernets anope source code & configuration |
git clone git://git.acid.vegas/anope.git |
Log | Files | Refs | Archive | README |
cert.cpp (1407B)
1 /* 2 * (C) 2003-2022 Anope Team 3 * Contact us at team@anope.org 4 * 5 * Please read COPYING and README for further details. 6 */ 7 8 #include "../../webcpanel.h" 9 #include "modules/ns_cert.h" 10 11 WebCPanel::NickServ::Cert::Cert(const Anope::string &cat, const Anope::string &u) : WebPanelProtectedPage(cat, u) 12 { 13 } 14 15 bool WebCPanel::NickServ::Cert::OnRequest(HTTPProvider *server, const Anope::string &page_name, HTTPClient *client, HTTPMessage &message, HTTPReply &reply, NickAlias *na, TemplateFileServer::Replacements &replacements) 16 { 17 if (message.post_data.count("certfp") > 0) 18 { 19 std::vector<Anope::string> params; 20 params.push_back("ADD"); 21 params.push_back(message.post_data["certfp"]); 22 23 WebPanel::RunCommand(client, na->nc->display, na->nc, "NickServ", "nickserv/cert", params, replacements); 24 } 25 else if (message.get_data.count("del") > 0 && message.get_data.count("mask") > 0) 26 { 27 std::vector<Anope::string> params; 28 params.push_back("DEL"); 29 params.push_back(message.get_data["mask"]); 30 31 WebPanel::RunCommand(client, na->nc->display, na->nc, "NickServ", "nickserv/cert", params, replacements); 32 } 33 34 NSCertList *cl = na->nc->GetExt<NSCertList>("certificates"); 35 if (cl) 36 for (unsigned i = 0; i < cl->GetCertCount(); ++i) 37 replacements["CERTS"] = cl->GetCert(i); 38 39 TemplateFileServer page("nickserv/cert.html"); 40 page.Serve(server, page_name, client, message, reply, replacements); 41 return true; 42 }