From 12f55e4711ef4f2624ed0603a05a83a0a5ac4ed7 Mon Sep 17 00:00:00 2001 From: Adam Date: Mon, 6 Jan 2014 12:54:29 -0500 Subject: Hide +s channels from /cs list output to non opers --- modules/commands/cs_list.cpp | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'modules/commands/cs_list.cpp') diff --git a/modules/commands/cs_list.cpp b/modules/commands/cs_list.cpp index 779745b96..ffaea6172 100644 --- a/modules/commands/cs_list.cpp +++ b/modules/commands/cs_list.cpp @@ -81,11 +81,18 @@ class CommandCSList : public Command { const ChannelInfo *ci = it->second; - if (!is_servadmin && (ci->HasExt("CS_PRIVATE") || ci->HasExt("CS_SUSPENDED"))) - continue; - else if (suspended && !ci->HasExt("CS_SUSPENDED")) + if (!is_servadmin) + { + if (ci->HasExt("CS_PRIVATE") || ci->HasExt("CS_SUSPENDED")) + continue; + if (ci->c && ci->c->HasMode("SECRET")) + continue; + } + + if (suspended && !ci->HasExt("CS_SUSPENDED")) continue; - else if (channoexpire && !ci->HasExt("CS_NO_EXPIRE")) + + if (channoexpire && !ci->HasExt("CS_NO_EXPIRE")) continue; if (pattern.equals_ci(ci->name) || ci->name.equals_ci(spattern) || Anope::Match(ci->name, pattern, false, true) || Anope::Match(ci->name, spattern, false, true)) -- cgit