diff options
author | Adam <Adam@anope.org> | 2014-01-06 12:54:29 -0500 |
---|---|---|
committer | Adam <Adam@anope.org> | 2014-01-06 12:54:29 -0500 |
commit | 12f55e4711ef4f2624ed0603a05a83a0a5ac4ed7 (patch) | |
tree | a7feb6d20e3905da9ca78c33e7b1d046c765e94b /modules/commands/cs_list.cpp | |
parent | 43c56541d513f005850a065a09faba9440c24101 (diff) |
Hide +s channels from /cs list output to non opers
Diffstat (limited to 'modules/commands/cs_list.cpp')
-rw-r--r-- | modules/commands/cs_list.cpp | 15 |
1 files changed, 11 insertions, 4 deletions
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)) |