summaryrefslogtreecommitdiff
path: root/src/modules
diff options
context:
space:
mode:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2008-10-02 22:27:03 +0000
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2008-10-02 22:27:03 +0000
commita95616f608aefc38250a620087639dcc6407567f (patch)
treef4356ceb06e6a02fea26456c6a63261efc86fb19 /src/modules
parent2a88309abe3f5757b7638e32d44bc89b7d4f5b0e (diff)
Fix for bug #601
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10614 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/modules')
-rw-r--r--src/modules/m_auditorium.cpp9
-rw-r--r--src/modules/m_delayjoin.cpp6
-rw-r--r--src/modules/m_invisible.cpp6
3 files changed, 21 insertions, 0 deletions
diff --git a/src/modules/m_auditorium.cpp b/src/modules/m_auditorium.cpp
index 023cb7adf..f898c19c9 100644
--- a/src/modules/m_auditorium.cpp
+++ b/src/modules/m_auditorium.cpp
@@ -157,6 +157,15 @@ class ModuleAuditorium : public Module
}
}
+ bool OnHostCycle(User* user)
+ {
+ for (UCListIter f = user->chans.begin(); f != user->chans.end(); f++)
+ if (f->first->IsModeSet('u'))
+ return true;
+
+ return false;
+ }
+
void OnUserQuit(User* user, const std::string &reason, const std::string &oper_message)
{
Command* parthandler = ServerInstance->Parser->GetHandler("PART");
diff --git a/src/modules/m_delayjoin.cpp b/src/modules/m_delayjoin.cpp
index 613fe6f37..23e6317ad 100644
--- a/src/modules/m_delayjoin.cpp
+++ b/src/modules/m_delayjoin.cpp
@@ -43,6 +43,7 @@ class ModuleDelayJoin : public Module
virtual Version GetVersion();
virtual void OnNamesListItem(User* issuer, User* user, Channel* channel, std::string &prefixes, std::string &nick);
virtual void OnUserJoin(User* user, Channel* channel, bool sync, bool &silent);
+ bool OnHostCycle(User* user);
void OnUserPart(User* user, Channel* channel, std::string &partmessage, bool &silent);
void OnUserKick(User* source, User* user, Channel* chan, const std::string &reason, bool &silent);
void OnUserQuit(User* user, const std::string &reason, const std::string &oper_message);
@@ -155,6 +156,11 @@ void ModuleDelayJoin::OnUserKick(User* source, User* user, Channel* chan, const
}
}
+bool ModuleDelayJoin::OnHostCycle(User* user)
+{
+ return user->GetExt("delayjoin");
+}
+
void ModuleDelayJoin::OnUserQuit(User* user, const std::string &reason, const std::string &oper_message)
{
Command* parthandler = ServerInstance->Parser->GetHandler("PART");
diff --git a/src/modules/m_invisible.cpp b/src/modules/m_invisible.cpp
index 836369b8f..6a1dd700d 100644
--- a/src/modules/m_invisible.cpp
+++ b/src/modules/m_invisible.cpp
@@ -187,6 +187,7 @@ class ModuleInvisible : public Module
virtual void OnRehash(User* user, const std::string &parameter);
void OnUserPart(User* user, Channel* channel, std::string &partmessage, bool &silent);
void OnUserQuit(User* user, const std::string &reason, const std::string &oper_message);
+ bool OnHostCycle(User* user);
/* No privmsg response when hiding - submitted by Eric at neowin */
virtual int OnUserPreNotice(User* user,void* dest,int target_type, std::string &text, char status, CUList &exempt_list);
virtual int OnUserPreMessage(User* user,void* dest,int target_type, std::string &text, char status, CUList &exempt_list);
@@ -250,6 +251,11 @@ void ModuleInvisible::OnUserQuit(User* user, const std::string &reason, const st
}
}
+bool ModuleInvisible::OnHostCycle(User* user)
+{
+ return user->IsModeSet('Q');
+}
+
/* No privmsg response when hiding - submitted by Eric at neowin */
int ModuleInvisible::OnUserPreNotice(User* user,void* dest,int target_type, std::string &text, char status, CUList &exempt_list)
{