- if (!What)
- return;
-
- 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->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->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->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->HideBans)
- ServerInstance->GlobalCulls.AddItem(u, "Z-Lined", reason);
- else
- ServerInstance->GlobalCulls.AddItem(u, reason);
- }
- }
- }
- }
- else
- {
- char reason[MAXBUF];
-
- if ((!glines.size()) && (!klines.size()) && (!zlines.size()) && (!qlines.size()) &&
- (!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);