aboutsummaryrefslogtreecommitdiffstats
path: root/src/channels.cpp
diff options
context:
space:
mode:
authorGravatar danieldg2009-11-06 20:47:20 +0000
committerGravatar danieldg2009-11-06 20:47:20 +0000
commit1b823b21c71a9047a9bbb5fa931085bb4929f26a (patch)
tree3791f36d2811df38d14045133e6e9922dde034ee /src/channels.cpp
parentShow IP of the user in the quit snomask [dKingston] (diff)
downloadinspircd++-1b823b21c71a9047a9bbb5fa931085bb4929f26a.tar.gz
inspircd++-1b823b21c71a9047a9bbb5fa931085bb4929f26a.tar.bz2
inspircd++-1b823b21c71a9047a9bbb5fa931085bb4929f26a.zip
Send %#chan messages to all members ranked at least halfop, not just those that have halfop
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12046 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/channels.cpp')
-rw-r--r--src/channels.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/channels.cpp b/src/channels.cpp
index 500791ea3..3f0fc4a36 100644
--- a/src/channels.cpp
+++ b/src/channels.cpp
@@ -646,19 +646,19 @@ void Channel::WriteAllExcept(User* user, bool serversource, char status, CUList
void Channel::RawWriteAllExcept(User* user, bool serversource, char status, CUList &except_list, const std::string &out)
{
- char statmode = 0;
+ unsigned int minrank = 0;
if (status)
{
ModeHandler* mh = ServerInstance->Modes->FindPrefix(status);
if (mh)
- statmode = mh->GetModeChar();
+ minrank = mh->GetPrefixRank();
}
for (UserMembIter i = userlist.begin(); i != userlist.end(); i++)
{
- if ((IS_LOCAL(i->first)) && (except_list.find(i->first) == except_list.end()))
+ if (IS_LOCAL(i->first) && (except_list.find(i->first) == except_list.end()))
{
- /* User doesnt have the status we're after */
- if (statmode && !i->second->hasMode(statmode))
+ /* User doesn't have the status we're after */
+ if (minrank && i->second->getRank() < minrank)
continue;
i->first->Write(out);