summaryrefslogtreecommitdiff
path: root/modules/extra/webcpanel/pages/nickserv/info.cpp
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/nickserv/info.cpp
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/nickserv/info.cpp')
-rw-r--r--modules/extra/webcpanel/pages/nickserv/info.cpp54
1 files changed, 30 insertions, 24 deletions
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"];