summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorSadie Powell <sadie@witchery.services>2024-03-26 14:27:52 +0000
committerSadie Powell <sadie@witchery.services>2024-03-26 14:27:52 +0000
commit2829c8311854690c64dcd3f473ed9d4d473f754f (patch)
tree196b5ff102e1fb4afc79aba1c15e75045b82814d /modules
parentf58012ea0e32cf92fbb82cf46cb4168ca554351e (diff)
Add more nick options to webcpanel's nickserv/info page.
Diffstat (limited to 'modules')
-rw-r--r--modules/webcpanel/pages/nickserv/info.cpp30
-rw-r--r--modules/webcpanel/templates/nickserv/info.html14
2 files changed, 43 insertions, 1 deletions
diff --git a/modules/webcpanel/pages/nickserv/info.cpp b/modules/webcpanel/pages/nickserv/info.cpp
index a75862dc7..9b2a2f112 100644
--- a/modules/webcpanel/pages/nickserv/info.cpp
+++ b/modules/webcpanel/pages/nickserv/info.cpp
@@ -74,6 +74,30 @@ bool WebCPanel::NickServ::Info::OnRequest(HTTPProvider *server, const Anope::str
na->nc->Shrink<bool>("KILL_QUICK");
replacements["MESSAGES"] = "Kill updated";
}
+ if (na->nc->HasExt("NS_KEEP_MODES") != message.post_data.count("keepmodes"))
+ {
+ if (!na->nc->HasExt("NS_KEEP_MODES"))
+ na->nc->Extend<bool>("NS_KEEP_MODES");
+ else
+ na->nc->Shrink<bool>("NS_KEEP_MODES");
+ replacements["MESSAGES"] = "Keepmodes updated";
+ }
+ if (na->nc->HasExt("MSG") != message.post_data.count("msg"))
+ {
+ if (!na->nc->HasExt("MSG"))
+ na->nc->Extend<bool>("MSG");
+ else
+ na->nc->Shrink<bool>("MSG");
+ replacements["MESSAGES"] = "Message updated";
+ }
+ if (na->nc->HasExt("NEVEROP") != message.post_data.count("neverop"))
+ {
+ if (!na->nc->HasExt("NEVEROP"))
+ na->nc->Extend<bool>("NEVEROP");
+ else
+ na->nc->Shrink<bool>("NEVEROP");
+ replacements["MESSAGES"] = "Neverop updated";
+ }
}
replacements["DISPLAY"] = na->nc->display;
@@ -95,6 +119,12 @@ bool WebCPanel::NickServ::Info::OnRequest(HTTPProvider *server, const Anope::str
replacements["KILL_QUICK"];
if (!na->nc->HasExt("KILLPROTECT") && !na->nc->HasExt("KILL_QUICK"))
replacements["KILL_OFF"];
+ if (na->nc->HasExt("NS_KEEP_MODES"))
+ replacements["KEEPMODES"];
+ if (na->nc->HasExt("MSG"))
+ replacements["MSG"];
+ if (na->nc->HasExt("NEVEROP"))
+ replacements["NEVEROP"];
TemplateFileServer page("nickserv/info.html");
page.Serve(server, page_name, client, message, reply, replacements);
diff --git a/modules/webcpanel/templates/nickserv/info.html b/modules/webcpanel/templates/nickserv/info.html
index 4b50f61dd..c713cd64c 100644
--- a/modules/webcpanel/templates/nickserv/info.html
+++ b/modules/webcpanel/templates/nickserv/info.html
@@ -32,7 +32,7 @@
</tr>
{IF EXISTS VHOST}
<tr>
- <td>Vhost:</td>
+ <td>VHost:</td>
<td>{VHOST}</td>
</tr>
{END IF}
@@ -45,6 +45,18 @@
<td><input type="checkbox" name="autoop" value="on" {IF EXISTS AUTOOP}checked{END IF}></td>
</tr>
<tr>
+ <td>Keep modes:</td>
+ <td><input type="checkbox" name="keepmodes" value="on" {IF EXISTS KEEPMODES}checked{END IF}></td>
+ </tr>
+ <tr>
+ <td>Message:</td>
+ <td><input type="checkbox" name="msg" value="on" {IF EXISTS MSG}checked{END IF}></td>
+ </tr>
+ <tr>
+ <td>Never op:</td>
+ <td><input type="checkbox" name="neverop" value="on" {IF EXISTS NEVEROP}checked{END IF}></td>
+ </tr>
+ <tr>
<td>Private:</td>
<td><input type="checkbox" name="private" value="on" {IF EXISTS PRIVATE}checked{END IF}></td>
</tr>