From 6a03eb69ebbe773f1d4139ff88d74ecdb2b0af4b Mon Sep 17 00:00:00 2001 From: Adam Date: Fri, 25 Apr 2014 16:51:06 -0400 Subject: Add "virtual mode" support This allows fully tracking extbans and other modes set by a different underlying mode, such as InspIRCd's namedmodes Add two configuration options to cs_ban to configure which mode is set and whether or not to kick banned users. Add default "mute" fantasy command to botserv.example.conf --- modules/webcpanel/pages/chanserv/modes.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'modules/webcpanel') diff --git a/modules/webcpanel/pages/chanserv/modes.cpp b/modules/webcpanel/pages/chanserv/modes.cpp index f087b86a9..a11d42fd9 100644 --- a/modules/webcpanel/pages/chanserv/modes.cpp +++ b/modules/webcpanel/pages/chanserv/modes.cpp @@ -61,7 +61,7 @@ bool WebCPanel::ChanServ::Modes::OnRequest(HTTPProvider *server, const Anope::st { ChannelMode *cm = ModeManager::GetChannelModes()[i]; - if (cm && cm->type == MODE_LIST) + if (cm->type == MODE_LIST) replacements["LISTMODES"] = cm->mchar; } -- cgit From 1931fcf0e5ffe34005d134e49c55d1b6239d1a6c Mon Sep 17 00:00:00 2001 From: Adam Date: Tue, 13 May 2014 22:59:41 -0400 Subject: Fix webpanel mode list to only show real list modes --- modules/webcpanel/pages/chanserv/modes.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'modules/webcpanel') diff --git a/modules/webcpanel/pages/chanserv/modes.cpp b/modules/webcpanel/pages/chanserv/modes.cpp index a11d42fd9..d5b111708 100644 --- a/modules/webcpanel/pages/chanserv/modes.cpp +++ b/modules/webcpanel/pages/chanserv/modes.cpp @@ -61,7 +61,7 @@ bool WebCPanel::ChanServ::Modes::OnRequest(HTTPProvider *server, const Anope::st { ChannelMode *cm = ModeManager::GetChannelModes()[i]; - if (cm->type == MODE_LIST) + if (cm->type == MODE_LIST && cm->mchar) replacements["LISTMODES"] = cm->mchar; } -- cgit From df321a118e7dd44dcd3a389f8ee75e9ff915b55e Mon Sep 17 00:00:00 2001 From: Adam Date: Wed, 14 May 2014 19:10:23 -0400 Subject: Fix access lists showing the wrong mask if the display nick for a group expires but the group still exists. This can cause access entries for nicks to not be deleted whenever the nicks are deleted. --- modules/webcpanel/pages/chanserv/access.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'modules/webcpanel') diff --git a/modules/webcpanel/pages/chanserv/access.cpp b/modules/webcpanel/pages/chanserv/access.cpp index d87613ed7..39750a283 100644 --- a/modules/webcpanel/pages/chanserv/access.cpp +++ b/modules/webcpanel/pages/chanserv/access.cpp @@ -75,7 +75,7 @@ bool WebCPanel::ChanServ::Access::OnRequest(HTTPProvider *server, const Anope::s { ChanAccess *acc = ci->GetAccess(i); - if (acc->mask == message.post_data["mask"]) + if (acc->Mask() == message.post_data["mask"]) { if ((!highest || *acc >= *highest) && !u_access.founder && !has_priv) { @@ -95,8 +95,7 @@ bool WebCPanel::ChanServ::Access::OnRequest(HTTPProvider *server, const Anope::s else if (!denied) { ChanAccess *new_acc = a->Create(); - new_acc->ci = ci; - new_acc->mask = message.post_data["mask"]; + new_acc->SetMask(message.post_data["mask"], ci); new_acc->creator = na->nc->display; try { @@ -123,7 +122,7 @@ bool WebCPanel::ChanServ::Access::OnRequest(HTTPProvider *server, const Anope::s else { ci->AddAccess(new_acc); - replacements["MESSAGES"] = "Access for " + new_acc->mask + " set to " + new_acc->AccessSerialize(); + replacements["MESSAGES"] = "Access for " + new_acc->Mask() + " set to " + new_acc->AccessSerialize(); } } } @@ -138,7 +137,7 @@ bool WebCPanel::ChanServ::Access::OnRequest(HTTPProvider *server, const Anope::s { ChanAccess *access = ci->GetAccess(i); - replacements["MASKS"] = HTTPUtils::Escape(access->mask); + replacements["MASKS"] = HTTPUtils::Escape(access->Mask()); replacements["ACCESSES"] = HTTPUtils::Escape(access->AccessSerialize()); replacements["CREATORS"] = HTTPUtils::Escape(access->creator); } -- cgit