From e8df3f491d67bc520f808c8b9ebfb54cfc1cce74 Mon Sep 17 00:00:00 2001 From: brain Date: Sun, 28 Oct 2007 21:20:09 +0000 Subject: YAR! git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8415 e03df62e-2008-0410-955e-edbf42e46eb7 --- src/xline.cpp | 85 +++-------------------------------------------------------- 1 file changed, 3 insertions(+), 82 deletions(-) diff --git a/src/xline.cpp b/src/xline.cpp index 0c93faf39..cb905440f 100644 --- a/src/xline.cpp +++ b/src/xline.cpp @@ -547,9 +547,6 @@ void XLineManager::expire_lines() void XLineManager::ApplyLines() { - char reason[MAXBUF]; - - XLine* check = NULL; for (std::vector::const_iterator u2 = ServerInstance->local_users.begin(); u2 != ServerInstance->local_users.end(); u2++) { User* u = (User*)(*u2); @@ -564,85 +561,9 @@ void XLineManager::ApplyLines() for (std::vector::iterator i = pending_lines.begin(); i != pending_lines.end(); i++) { - XLine *x = (*i); - - switch (x->type) - { - case 'Z': - { - ZLine *z = dynamic_cast(x); - - if (z->Matches(u)) - { - 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) - User::QuitUser(ServerInstance, u, "Z-Lined", reason); - else - User::QuitUser(ServerInstance, u, reason); - } - break; - } - case 'G': - { - GLine *g = dynamic_cast(x); - - if (g->Matches(u)) - { - 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) - User::QuitUser(ServerInstance, u, "G-Lined", reason); - else - User::QuitUser(ServerInstance, u, reason); - } - break; - } - case 'Q': - { - QLine *q = dynamic_cast(x); - - if (q->Matches(u)) - { - 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) - User::QuitUser(ServerInstance, u, "Q-Lined", reason); - else - User::QuitUser(ServerInstance, u, reason); - } - break; - } - case 'K': - { - KLine *k = dynamic_cast(x); - - if (k->Matches(u)) - { - 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) - User::QuitUser(ServerInstance, u, "K-Lined", reason); - else - User::QuitUser(ServerInstance, u, reason); - } - break; - } - case 'E': - { -// ELine *e = dynamic_cast(x); - break; - } - default: - { - ServerInstance->Log(DEBUG, "Unknown line type pending: %c", x->type); - break; - } - } + XLine *x = *i; + if (x->Matches(u)) + x->Apply(u); } } -- cgit v1.2.3