diff options
| author | Adam <Adam@anope.org> | 2013-07-01 22:17:52 -0400 |
|---|---|---|
| committer | Adam <Adam@anope.org> | 2013-07-01 22:17:52 -0400 |
| commit | 1a3d9a016d3adc49788bbff73aac9b3b5ea85b17 (patch) | |
| tree | c0ecf92ed768473bc82ff64a7fce827245f37ba9 /modules/extra/webcpanel/pages | |
| parent | 518182ac9204f815258b0de91b3f884d8efa1502 (diff) | |
Change extensible keys to require explicitly having a type defined for it. Completely modularize more features like bs_kick, entrymsg, log, mode, etc. Move fantasy to its own module. Move greet to its own module.
Diffstat (limited to 'modules/extra/webcpanel/pages')
| -rw-r--r-- | modules/extra/webcpanel/pages/chanserv/set.cpp | 40 | ||||
| -rw-r--r-- | modules/extra/webcpanel/pages/index.cpp | 4 | ||||
| -rw-r--r-- | modules/extra/webcpanel/pages/logout.cpp | 4 | ||||
| -rw-r--r-- | modules/extra/webcpanel/pages/nickserv/alist.cpp | 4 | ||||
| -rw-r--r-- | modules/extra/webcpanel/pages/nickserv/cert.cpp | 7 | ||||
| -rw-r--r-- | modules/extra/webcpanel/pages/nickserv/info.cpp | 54 |
6 files changed, 61 insertions, 52 deletions
diff --git a/modules/extra/webcpanel/pages/chanserv/set.cpp b/modules/extra/webcpanel/pages/chanserv/set.cpp index 20026a08a..cf3784d62 100644 --- a/modules/extra/webcpanel/pages/chanserv/set.cpp +++ b/modules/extra/webcpanel/pages/chanserv/set.cpp @@ -32,57 +32,57 @@ bool WebCPanel::ChanServ::Set::OnRequest(HTTPProvider *server, const Anope::stri if (ci->HasExt("KEEPTOPIC") != message.post_data.count("keeptopic")) { if (!ci->HasExt("KEEPTOPIC")) - ci->ExtendMetadata("KEEPTOPIC"); + ci->Extend<bool>("KEEPTOPIC"); else - ci->Shrink("KEEPTOPIC"); + ci->Shrink<bool>("KEEPTOPIC"); replacements["MESSAGES"] = "Secure updated"; } if (ci->HasExt("PEACE") != message.post_data.count("peace")) { if (!ci->HasExt("PEACE")) - ci->ExtendMetadata("PEACE"); + ci->Extend<bool>("PEACE"); else - ci->Shrink("PEACE"); + ci->Shrink<bool>("PEACE"); replacements["MESSAGES"] = "Peace updated"; } - if (ci->HasExt("PRIVATE") != message.post_data.count("private")) + if (ci->HasExt("CS_PRIVATE") != message.post_data.count("private")) { - if (!ci->HasExt("PRIVATE")) - ci->ExtendMetadata("PRIVATE"); + if (!ci->HasExt("CS_PRIVATE")) + ci->Extend<bool>("CS_PRIVATE"); else - ci->Shrink("PRIVATE"); + ci->Shrink<bool>("CS_PRIVATE"); replacements["MESSAGES"] = "Private updated"; } if (ci->HasExt("RESTRICTED") != message.post_data.count("restricted")) { if (!ci->HasExt("RESTRICTED")) - ci->ExtendMetadata("RESTRICTED"); + ci->Extend<bool>("RESTRICTED"); else - ci->Shrink("RESTRICTED"); + ci->Shrink<bool>("RESTRICTED"); replacements["MESSAGES"] = "Restricted updated"; } - if (ci->HasExt("SECURE") != message.post_data.count("secure")) + if (ci->HasExt("CS_SECURE") != message.post_data.count("secure")) { - if (!ci->HasExt("SECURE")) - ci->ExtendMetadata("SECURE"); + if (!ci->HasExt("CS_SECURE")) + ci->Extend<bool>("CS_SECURE"); else - ci->Shrink("SECURE"); + ci->Shrink<bool>("CS_SECURE"); replacements["MESSAGES"] = "Secure updated"; } if (ci->HasExt("SECUREOPS") != message.post_data.count("secureops")) { if (!ci->HasExt("SECUREOPS")) - ci->ExtendMetadata("SECUREOPS"); + ci->Extend<bool>("SECUREOPS"); else - ci->Shrink("SECUREOPS"); + ci->Shrink<bool>("SECUREOPS"); replacements["MESSAGES"] = "Secureops updated"; } if (ci->HasExt("TOPICLOCK") != message.post_data.count("topiclock")) { if (!ci->HasExt("TOPICLOCK")) - ci->ExtendMetadata("TOPICLOCK"); + ci->Extend<bool>("TOPICLOCK"); else - ci->Shrink("TOPICLOCK"); + ci->Shrink<bool>("TOPICLOCK"); replacements["MESSAGES"] = "Topiclock updated"; } } @@ -108,13 +108,13 @@ bool WebCPanel::ChanServ::Set::OnRequest(HTTPProvider *server, const Anope::stri if (ci->HasExt("PEACE")) replacements["PEACE"]; - if (ci->HasExt("PRIVATE")) + if (ci->HasExt("CS_PRIVATE")) replacements["PRIVATE"]; if (ci->HasExt("RESTRICTED")) replacements["RESTRICTED"]; - if (ci->HasExt("SECURE")) + if (ci->HasExt("CS_SECURE")) replacements["SECURE"]; if (ci->HasExt("SECUREOPS")) diff --git a/modules/extra/webcpanel/pages/index.cpp b/modules/extra/webcpanel/pages/index.cpp index 51b908b13..be4bbbc6d 100644 --- a/modules/extra/webcpanel/pages/index.cpp +++ b/modules/extra/webcpanel/pages/index.cpp @@ -40,8 +40,8 @@ class WebpanelRequest : public IdentifyRequest id += c; } - na->Extend("webcpanel_id", new ExtensibleItemClass<Anope::string>(id)); - na->Extend("webcpanel_ip", new ExtensibleItemClass<Anope::string>(client->GetIP())); + na->Extend<Anope::string>("webcpanel_id", id); + na->Extend<Anope::string>("webcpanel_ip", client->GetIP()); { HTTPReply::cookie c; diff --git a/modules/extra/webcpanel/pages/logout.cpp b/modules/extra/webcpanel/pages/logout.cpp index 14e1c24b5..8fafdcd4e 100644 --- a/modules/extra/webcpanel/pages/logout.cpp +++ b/modules/extra/webcpanel/pages/logout.cpp @@ -13,8 +13,8 @@ WebCPanel::Logout::Logout(const Anope::string &u) : WebPanelProtectedPage("", u) bool WebCPanel::Logout::OnRequest(HTTPProvider *server, const Anope::string &page_name, HTTPClient *client, HTTPMessage &message, HTTPReply &reply, NickAlias *na, TemplateFileServer::Replacements &replacements) { - na->Shrink("webcpanel_id"); - na->Shrink("webcpanel_ip"); + na->Shrink<Anope::string>("webcpanel_id"); + na->Shrink<Anope::string>("webcpanel_ip"); reply.error = HTTP_FOUND; reply.headers["Location"] = Anope::string("http") + (use_ssl ? "s" : "") + "://" + message.headers["Host"] + "/"; diff --git a/modules/extra/webcpanel/pages/nickserv/alist.cpp b/modules/extra/webcpanel/pages/nickserv/alist.cpp index 0afe2a4f3..a0568f5b4 100644 --- a/modules/extra/webcpanel/pages/nickserv/alist.cpp +++ b/modules/extra/webcpanel/pages/nickserv/alist.cpp @@ -24,7 +24,7 @@ bool WebCPanel::NickServ::Alist::OnRequest(HTTPProvider *server, const Anope::st ++chan_count; replacements["NUMBERS"] = stringify(chan_count); - replacements["CHANNELS"] = (ci->HasExt("NO_EXPIRE") ? "!" : "") + ci->name; + replacements["CHANNELS"] = (ci->HasExt("CS_NO_EXPIRE") ? "!" : "") + ci->name; replacements["ACCESSES"] = "Founder"; continue; } @@ -36,7 +36,7 @@ bool WebCPanel::NickServ::Alist::OnRequest(HTTPProvider *server, const Anope::st ++chan_count; replacements["NUMBERS"] = stringify(chan_count); - replacements["CHANNELS"] = (ci->HasExt("NO_EXPIRE") ? "!" : "") + ci->name; + replacements["CHANNELS"] = (ci->HasExt("CS_NO_EXPIRE") ? "!" : "") + ci->name; Anope::string access_str; for (unsigned i = 0; i < access.size(); ++i) access_str += ", " + access[i]->AccessSerialize(); diff --git a/modules/extra/webcpanel/pages/nickserv/cert.cpp b/modules/extra/webcpanel/pages/nickserv/cert.cpp index 9ac95453a..ff9885405 100644 --- a/modules/extra/webcpanel/pages/nickserv/cert.cpp +++ b/modules/extra/webcpanel/pages/nickserv/cert.cpp @@ -6,6 +6,7 @@ */ #include "../../webcpanel.h" +#include "modules/ns_cert.h" WebCPanel::NickServ::Cert::Cert(const Anope::string &cat, const Anope::string &u) : WebPanelProtectedPage(cat, u) { @@ -30,8 +31,10 @@ bool WebCPanel::NickServ::Cert::OnRequest(HTTPProvider *server, const Anope::str WebPanel::RunCommand(na->nc->display, na->nc, "NickServ", "nickserv/cert", params, replacements); } - for (unsigned i = 0; i < na->nc->cert.size(); ++i) - replacements["CERTS"] = na->nc->cert[i]; + NSCertList *cl = na->nc->GetExt<NSCertList>("certificates"); + if (cl) + for (unsigned i = 0; i < cl->GetCertCount(); ++i) + replacements["CERTS"] = cl->GetCert(i); TemplateFileServer page("nickserv/cert.html"); page.Serve(server, page_name, client, message, reply, replacements); diff --git a/modules/extra/webcpanel/pages/nickserv/info.cpp b/modules/extra/webcpanel/pages/nickserv/info.cpp index 35a4a8a0a..65f0e4c8a 100644 --- a/modules/extra/webcpanel/pages/nickserv/info.cpp +++ b/modules/extra/webcpanel/pages/nickserv/info.cpp @@ -30,52 +30,56 @@ bool WebCPanel::NickServ::Info::OnRequest(HTTPProvider *server, const Anope::str } if (message.post_data.count("greet") > 0) { - if (message.post_data["greet"].replace_all_cs("+", " ") != na->nc->greet) - { - na->nc->greet = HTTPUtils::URLDecode(message.post_data["greet"]); - replacements["MESSAGES"] = "Greet updated"; - } + Anope::string *greet = na->nc->GetExt<Anope::string>("greet"); + const Anope::string &post_greet = HTTPUtils::URLDecode(message.post_data["greet"].replace_all_cs("+", " ")); + + if (post_greet.empty()) + na->nc->Shrink<Anope::string>("greet"); + else if (!greet || post_greet != *greet) + na->nc->Extend<Anope::string>("greet", post_greet); + + replacements["MESSAGES"] = "Greet updated"; } if (na->nc->HasExt("AUTOOP") != message.post_data.count("autoop")) { if (!na->nc->HasExt("AUTOOP")) - na->nc->ExtendMetadata("AUTOOP"); + na->nc->Extend<bool>("AUTOOP"); else - na->nc->Shrink("AUTOOP"); + na->nc->Shrink<bool>("AUTOOP"); replacements["MESSAGES"] = "Autoop updated"; } - if (na->nc->HasExt("PRIVATE") != message.post_data.count("private")) + if (na->nc->HasExt("NS_PRIVATE") != message.post_data.count("private")) { - if (!na->nc->HasExt("PRIVATE")) - na->nc->ExtendMetadata("PRIVATE"); + if (!na->nc->HasExt("NS_PRIVATE")) + na->nc->Extend<bool>("NS_PRIVATE"); else - na->nc->Shrink("PRIVATE"); + na->nc->Shrink<bool>("NS_PRIVATE"); replacements["MESSAGES"] = "Private updated"; } - if (na->nc->HasExt("SECURE") != message.post_data.count("secure")) + if (na->nc->HasExt("NS_SECURE") != message.post_data.count("secure")) { - if (!na->nc->HasExt("SECURE")) - na->nc->ExtendMetadata("SECURE"); + if (!na->nc->HasExt("NS_SECURE")) + na->nc->Extend<bool>("NS_SECURE"); else - na->nc->Shrink("SECURE"); + na->nc->Shrink<bool>("NS_SECURE"); replacements["MESSAGES"] = "Secure updated"; } if (message.post_data["kill"] == "on" && !na->nc->HasExt("KILLPROTECT")) { - na->nc->ExtendMetadata("KILLPROTECT"); - na->nc->Shrink("KILL_QUICK"); + na->nc->Extend<bool>("KILLPROTECT"); + na->nc->Shrink<bool>("KILL_QUICK"); replacements["MESSAGES"] = "Kill updated"; } else if (message.post_data["kill"] == "quick" && !na->nc->HasExt("KILL_QUICK")) { - na->nc->Shrink("KILLPROTECT"); - na->nc->ExtendMetadata("KILL_QUICK"); + na->nc->Shrink<bool>("KILLPROTECT"); + na->nc->Extend<bool>("KILL_QUICK"); replacements["MESSAGES"] = "Kill updated"; } else if (message.post_data["kill"] == "off" && (na->nc->HasExt("KILLPROTECT") || na->nc->HasExt("KILL_QUICK"))) { - na->nc->Shrink("KILLPROTECT"); - na->nc->Shrink("KILL_QUICK"); + na->nc->Shrink<bool>("KILLPROTECT"); + na->nc->Shrink<bool>("KILL_QUICK"); replacements["MESSAGES"] = "Kill updated"; } } @@ -91,12 +95,14 @@ bool WebCPanel::NickServ::Info::OnRequest(HTTPProvider *server, const Anope::str else replacements["VHOST"] = na->GetVhostHost(); } - replacements["GREET"] = HTTPUtils::Escape(na->nc->greet); + Anope::string *greet = na->nc->GetExt<Anope::string>("greet"); + if (greet) + replacements["GREET"] = HTTPUtils::Escape(*greet); if (na->nc->HasExt("AUTOOP")) replacements["AUTOOP"]; - if (na->nc->HasExt("PRIVATE")) + if (na->nc->HasExt("NS_PRIVATE")) replacements["PRIVATE"]; - if (na->nc->HasExt("SECURE")) + if (na->nc->HasExt("NS_SECURE")) replacements["SECURE"]; if (na->nc->HasExt("KILLPROTECT")) replacements["KILL_ON"]; |
