diff options
author | danieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7> | 2009-02-15 04:31:38 +0000 |
---|---|---|
committer | danieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7> | 2009-02-15 04:31:38 +0000 |
commit | 08164c9502c3a9db1810d2e8e1d291280b975aee (patch) | |
tree | ee991feb94f79565ab5ec8f3bc96a2b5d3559a63 /src/modules/m_operprefix.cpp | |
parent | 168f99fc6cb8e1b1d969ff6cab810bddb103ceec (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
Diffstat (limited to 'src/modules/m_operprefix.cpp')
-rw-r--r-- | src/modules/m_operprefix.cpp | 14 |
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); } } |