summaryrefslogtreecommitdiff
path: root/modules/extra/webcpanel/pages
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2013-07-01 22:17:52 -0400
committerAdam <Adam@anope.org>2013-07-01 22:17:52 -0400
commit1a3d9a016d3adc49788bbff73aac9b3b5ea85b17 (patch)
treec0ecf92ed768473bc82ff64a7fce827245f37ba9 /modules/extra/webcpanel/pages
parent518182ac9204f815258b0de91b3f884d8efa1502 (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.cpp40
-rw-r--r--modules/extra/webcpanel/pages/index.cpp4
-rw-r--r--modules/extra/webcpanel/pages/logout.cpp4
-rw-r--r--modules/extra/webcpanel/pages/nickserv/alist.cpp4
-rw-r--r--modules/extra/webcpanel/pages/nickserv/cert.cpp7
-rw-r--r--modules/extra/webcpanel/pages/nickserv/info.cpp54
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"];