summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordanieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7>2009-02-15 04:31:38 +0000
committerdanieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7>2009-02-15 04:31:38 +0000
commit08164c9502c3a9db1810d2e8e1d291280b975aee (patch)
treeee991feb94f79565ab5ec8f3bc96a2b5d3559a63
parent168f99fc6cb8e1b1d969ff6cab810bddb103ceec (diff)
m_operprefix: Remove IS_LOCAL checks to also set/unset +y on remote opers
Changes were not being propagated via FMODE. Fixes bug #730 git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11108 e03df62e-2008-0410-955e-edbf42e46eb7
-rw-r--r--src/modules/m_operprefix.cpp14
1 files changed, 4 insertions, 10 deletions
diff --git a/src/modules/m_operprefix.cpp b/src/modules/m_operprefix.cpp
index 27c749b3d..6614b867b 100644
--- a/src/modules/m_operprefix.cpp
+++ b/src/modules/m_operprefix.cpp
@@ -123,7 +123,7 @@ class ModuleOperPrefixMode : public Module
ServerInstance->Modules->Attach(eventlist, this, 6);
}
- virtual void PushChanMode(Channel* channel, User* user, bool negate = false)
+ void PushChanMode(Channel* channel, User* user, bool negate = false)
{
if (negate)
DelPrefixChan(user, channel);
@@ -141,10 +141,6 @@ class ModuleOperPrefixMode : public Module
virtual void OnPostJoin(User *user, Channel *channel)
{
- // This may look wrong, but I don't think it is.. PushChanMode will send FMODE which should sort it all out.
- if (!IS_LOCAL(user))
- return;
-
if (user && IS_OPER(user))
{
if (user->IsModeSet('H'))
@@ -167,7 +163,7 @@ class ModuleOperPrefixMode : public Module
virtual void OnOper(User *user, const std::string&)
{
- if (user && IS_LOCAL(user) && !user->IsModeSet('H'))
+ if (user && !user->IsModeSet('H'))
{
for (UCListIter v = user->chans.begin(); v != user->chans.end(); v++)
{
@@ -182,10 +178,8 @@ class ModuleOperPrefixMode : public Module
delete opm;
}
- virtual void CleanUser(User* user, bool quitting=false)
+ void CleanUser(User* user, bool quitting)
{
- if (!IS_LOCAL(user))
- return;
std::set<std::string>* ext;
if (user->GetExt("m_operprefix",ext))
@@ -213,7 +207,7 @@ class ModuleOperPrefixMode : public Module
if (target_type == TYPE_USER)
{
User* user = (User*)item;
- CleanUser(user);
+ CleanUser(user, false);
}
}