Allow invex to bypass key

git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12505 e03df62e-2008-0410-955e-edbf42e46eb7
This commit is contained in:
danieldg 2010-02-20 18:54:50 +00:00
parent df8cc91c96
commit fa6e82fe50
2 changed files with 11 additions and 2 deletions

View File

@ -933,6 +933,8 @@
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Invite except module: Adds support for channel invite exceptions (+I)
#<module name="m_inviteexception.so">
# Does a +I bypass channel +k in addition to +i?
#<inviteexception bypasskey="yes">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Invisible module - Adds support for usermode +Q (quiet) which lets an

View File

@ -45,8 +45,8 @@ public:
throw ModuleException("Could not add new modes!");
ie.DoImplements(this);
Implementation eventlist[] = { I_On005Numeric, I_OnCheckInvite };
ServerInstance->Modules->Attach(eventlist, this, 2);
Implementation eventlist[] = { I_On005Numeric, I_OnCheckInvite, I_OnCheckKey };
ServerInstance->Modules->Attach(eventlist, this, 3);
}
void On005Numeric(std::string &output)
@ -74,6 +74,13 @@ public:
return MOD_RES_PASSTHRU;
}
ModResult OnCheckKey(User* user, Channel* chan, const std::string& key)
{
if (ServerInstance->Config->ConfValue("inviteexception")->getBool("bypasskey", true))
return OnCheckInvite(user, chan);
return MOD_RES_PASSTHRU;
}
void OnCleanup(int target_type, void* item)
{
ie.DoCleanup(target_type, item);