List[I_OnBuildExemptList] = List[I_OnUserQuit] = List[I_On005Numeric] = List[I_OnUserPreNotice] = List[I_OnUserPreMessage] = List[I_OnUserPreInvite] = 1;
}
- virtual void OnUserQuit(userrec* user, const std::string &reason)
+ virtual void OnUserQuit(userrec* user, const std::string &reason, const std::string &oper_message)
{
// when the user quits tidy up any silence list they might have just to keep things tidy
silencelist* sl;
{
for (silencelist::const_iterator c = sl->begin(); c != sl->end(); c++)
{
- if ((match(source->GetFullHost(), c->first.c_str())) && ( ((c->second & pattern) > 0)) || ((c->second & SILENCE_ALL) > 0))
- {
- if (((c->second & SILENCE_EXCLUDE) > 0))
- {
- return 0;
- }
- else {
- return 1;
- }
- }
+ if (((((c->second & pattern) > 0)) || ((c->second & SILENCE_ALL) > 0)) && (ServerInstance->MatchText(source->GetFullHost(), c->first)))
+ return !(((c->second & SILENCE_EXCLUDE) > 0));
}
}
return 0;