#include "modules.h"
#include "mode.h"
#include "helperfuncs.h"
+#include "inspircd.h"
#include "u_listmode.h"
/* $ModDesc: Provides support for the +e channel mode */
// The +e channel mode takes a nick!ident@host, glob patterns allowed,
// and if a user matches an entry on the +e list then they can join the channel, overriding any (+b) bans set on them
+extern InspIRCd* ServerInstance;
+
class BanException : public ListModeBase
{
public:
- BanException(Server* serv) : ListModeBase(serv, 'e', "End of Channel Exception List", "348", "349", true) { }
+ BanException(InspIRCd* Instance, Server* serv) : ListModeBase(Instance, serv, 'e', "End of Channel Exception List", "348", "349", true) { }
};
ModuleBanException(Server* serv)
: Module::Module(serv)
{
- be = new BanException(serv);
+ be = new BanException(ServerInstance, serv);
Srv = serv;
Srv->AddMode(be, 'e');
}
virtual void On005Numeric(std::string &output)
{
output.append(" EXCEPTS=e");
- InsertMode(output, "e", 1);
+ ServerInstance->ModeGrok->InsertMode(output, "e", 1);
}
virtual int OnCheckBan(userrec* user, chanrec* chan)
{
modelist* list;
chan->GetExt(be->GetInfoKey(), list);
- Srv->Log(DEBUG, std::string(user->nick)+" is trying to join "+std::string(chan->name)+", checking for ban exceptions");
if(list)
{