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/nickserv/info.cpp | |
| 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/nickserv/info.cpp')
| -rw-r--r-- | modules/extra/webcpanel/pages/nickserv/info.cpp | 54 |
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"]; |
