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 }