X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_auditorium.cpp;h=0e18d3e36444f22348016b125b48416964a6723f;hb=80e81e3b81b779901fd9d67f8ae030ee30c0bcec;hp=8485f1d7a450a025bb0aa4ccb134f640e8ad7072;hpb=b2ac8cc0a6405946a388b80df3be21bc276a61f3;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_auditorium.cpp b/src/modules/m_auditorium.cpp index 8485f1d7a..0e18d3e36 100644 --- a/src/modules/m_auditorium.cpp +++ b/src/modules/m_auditorium.cpp @@ -1,10 +1,13 @@ /* * InspIRCd -- Internet Relay Chat Daemon * + * Copyright (C) 2013-2014, 2016, 2018 Attila Molnar + * Copyright (C) 2013, 2017-2019 Sadie Powell + * Copyright (C) 2012, 2019 Robby * Copyright (C) 2009-2010 Daniel De Graaf - * Copyright (C) 2007-2008 Craig Edwards - * Copyright (C) 2007 Dennis Friis - * Copyright (C) 2007 Robin Burchell + * Copyright (C) 2008 Robin Burchell + * Copyright (C) 2007-2008, 2010 Craig Edwards + * Copyright (C) 2007, 2009 Dennis Friis * * This file is part of InspIRCd. InspIRCd is free software: you can * redistribute it and/or modify it under the terms of the GNU General Public @@ -22,6 +25,8 @@ #include "inspircd.h" #include "modules/exemption.h" +#include "modules/names.h" +#include "modules/who.h" class AuditoriumMode : public SimpleChannelModeHandler { @@ -55,7 +60,10 @@ class JoinHook : public ClientProtocol::EventHook } -class ModuleAuditorium : public Module +class ModuleAuditorium + : public Module + , public Names::EventListener + , public Who::EventListener { CheckExemption::EventProvider exemptionprov; AuditoriumMode aum; @@ -66,7 +74,9 @@ class ModuleAuditorium : public Module public: ModuleAuditorium() - : exemptionprov(this) + : Names::EventListener(this) + , Who::EventListener(this) + , exemptionprov(this) , aum(this) , joinhook(this) { @@ -82,7 +92,7 @@ class ModuleAuditorium : public Module Version GetVersion() CXX11_OVERRIDE { - return Version("Allows for auditorium channels (+u) where nobody can see others joining and parting or the nick list", VF_VENDOR); + return Version("Adds channel mode u (auditorium) which hides unprivileged users in a channel from each other.", VF_VENDOR); } /* Can they be seen by everyone? */ @@ -114,7 +124,7 @@ class ModuleAuditorium : public Module return false; } - ModResult OnNamesListItem(User* issuer, Membership* memb, std::string& prefixes, std::string& nick) CXX11_OVERRIDE + ModResult OnNamesListItem(LocalUser* issuer, Membership* memb, std::string& prefixes, std::string& nick) CXX11_OVERRIDE { if (IsVisible(memb)) return MOD_RES_PASSTHRU; @@ -173,7 +183,7 @@ class ModuleAuditorium : public Module } } - ModResult OnSendWhoLine(User* source, const std::vector& params, User* user, Membership* memb, Numeric::Numeric& numeric) CXX11_OVERRIDE + ModResult OnWhoLine(const Who::Request& request, LocalUser* source, User* user, Membership* memb, Numeric::Numeric& numeric) CXX11_OVERRIDE { if (!memb) return MOD_RES_PASSTHRU;