this->clientlist[New->nick] = New;
this->AddClone(New);
this->local_users.push_front(New);
+ FOREACH_MOD(OnUserInit, (New));
if (!SocketEngine::AddFd(eh, FD_WANT_FAST_READ | FD_WANT_EDGE_WRITE))
{
ServerInstance->Logs->Log("BANCACHE", LOG_DEBUG, "BanCache: Positive hit for " + New->GetIPString());
if (!ServerInstance->Config->XLineMessage.empty())
New->WriteNumeric(ERR_YOUREBANNEDCREEP, ServerInstance->Config->XLineMessage);
- this->QuitUser(New, b->Reason);
+
+ if (ServerInstance->Config->HideBans)
+ this->QuitUser(New, b->Type + "-lined", &b->Reason);
+ else
+ this->QuitUser(New, b->Reason);
return;
}
else
FOREACH_MOD(OnSetUserIP, (New));
if (New->quitting)
return;
-
- FOREACH_MOD(OnUserInit, (New));
}
void UserManager::QuitUser(User* user, const std::string& quitreason, const std::string* operreason)
uuidlist.erase(user->uuid);
user->PurgeEmptyChannels();
+ user->UnOper();
}
void UserManager::AddClone(User* user)