+ if (What & APPLY_PERM_ONLY)
+ {
+ char reason[MAXBUF];
+
+ if ((!pglines.size()) && (!pklines.size()) && (!pzlines.size()) && (!pqlines.size()))
+ return;
+
+ XLine* check = NULL;
+ for (std::vector<userrec*>::const_iterator u2 = ServerInstance->local_users.begin(); u2 != ServerInstance->local_users.end(); u2++)
+ {
+ userrec* u = (userrec*)(*u2);
+
+ if (elines.size() || pelines.size())
+ if (matches_exception(u))
+ continue;
+
+ if ((What & APPLY_GLINES) && pglines.size())
+ {
+ if ((check = matches_gline(u,true)))
+ {
+ snprintf(reason,MAXBUF,"G-Lined: %s",check->reason);
+ if (*ServerInstance->Config->MoronBanner)
+ u->WriteServ("NOTICE %s :*** %s", u->nick, ServerInstance->Config->MoronBanner);
+ if (ServerInstance->Config->HideBans)
+ ServerInstance->GlobalCulls.AddItem(u, "G-Lined", reason);
+ else
+ ServerInstance->GlobalCulls.AddItem(u, reason);
+ }
+ }
+
+ if ((What & APPLY_KLINES) && pklines.size())
+ {
+ if ((check = matches_kline(u,true)))
+ {
+ snprintf(reason,MAXBUF,"K-Lined: %s",check->reason);
+ if (*ServerInstance->Config->MoronBanner)
+ u->WriteServ("NOTICE %s :*** %s", u->nick, ServerInstance->Config->MoronBanner);
+ if (ServerInstance->Config->HideBans)
+ ServerInstance->GlobalCulls.AddItem(u, "K-Lined", reason);
+ else
+ ServerInstance->GlobalCulls.AddItem(u, reason);
+ }
+ }
+
+ if ((What & APPLY_QLINES) && pqlines.size())
+ {
+ if ((check = matches_qline(u->nick,true)))
+ {
+ snprintf(reason,MAXBUF,"Q-Lined: %s",check->reason);
+ if (*ServerInstance->Config->MoronBanner)
+ u->WriteServ("NOTICE %s :*** %s", u->nick, ServerInstance->Config->MoronBanner);
+ if (ServerInstance->Config->HideBans)
+ ServerInstance->GlobalCulls.AddItem(u, "Q-Lined", reason);
+ else
+ ServerInstance->GlobalCulls.AddItem(u, reason);
+ }
+ }
+
+ if ((What & APPLY_ZLINES) && pzlines.size())
+ {
+ if ((check = matches_zline(u->GetIPString(),true)))
+ {
+ snprintf(reason,MAXBUF,"Z-Lined: %s",check->reason);
+ if (*ServerInstance->Config->MoronBanner)
+ u->WriteServ("NOTICE %s :*** %s", u->nick, ServerInstance->Config->MoronBanner);
+ if (ServerInstance->Config->HideBans)
+ ServerInstance->GlobalCulls.AddItem(u, "Z-Lined", reason);
+ else
+ ServerInstance->GlobalCulls.AddItem(u, reason);
+ }
+ }
+ }
+ }
+ else