UserIOHandler* eh = &New->eh;
/* Give each of the modules an attempt to hook the user for I/O */
- FOREACH_MOD(I_OnHookIO, OnHookIO(eh, via));
+ FOREACH_MOD(OnHookIO, (eh, via));
if (eh->GetIOHook())
{
* Check connect class settings and initialise settings into User.
* This will be done again after DNS resolution. -- w00t
*/
- New->CheckClass();
+ New->CheckClass(ServerInstance->Config->CCOnConnect);
if (New->quitting)
return;
{
/* user banned */
ServerInstance->Logs->Log("BANCACHE", LOG_DEBUG, "BanCache: Positive hit for " + New->GetIPString());
- if (!ServerInstance->Config->MoronBanner.empty())
- New->WriteNotice("*** " + ServerInstance->Config->MoronBanner);
+ if (!ServerInstance->Config->XLineMessage.empty())
+ New->WriteNotice("*** " + ServerInstance->Config->XLineMessage);
this->QuitUser(New, b->Reason);
return;
}
if (ServerInstance->Config->RawLog)
New->WriteNotice("*** Raw I/O logging is enabled on this server. All messages, passwords, and commands are being recorded.");
- FOREACH_MOD(I_OnSetUserIP,OnSetUserIP(New));
+ FOREACH_MOD(OnSetUserIP, (New));
if (New->quitting)
return;
- FOREACH_MOD(I_OnUserInit,OnUserInit(New));
+ FOREACH_MOD(OnUserInit, (New));
}
void UserManager::QuitUser(User *user, const std::string &quitreason, const char* operreason)
if (user->registered == REG_ALL)
{
- FOREACH_MOD(I_OnUserQuit,OnUserQuit(user, reason, oper_reason));
+ FOREACH_MOD(OnUserQuit, (user, reason, oper_reason));
user->WriteCommonQuit(reason, oper_reason);
}
if (IS_LOCAL(user))
{
LocalUser* lu = IS_LOCAL(user);
- FOREACH_MOD(I_OnUserDisconnect,OnUserDisconnect(lu));
+ FOREACH_MOD(OnUserDisconnect, (lu));
lu->eh.Close();
}
}
}
-/* return how many users have a given mode e.g. 'a' */
-int UserManager::ModeCount(const char mode)
-{
- int c = 0;
- for(user_hash::iterator i = clientlist->begin(); i != clientlist->end(); ++i)
- {
- User* u = i->second;
- if (u->modes[mode-65])
- c++;
- }
- return c;
-}
-
void UserManager::GarbageCollect()
{
// Reset the already_sent IDs so we don't wrap it around and drop a message