diff options
author | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2006-11-10 17:04:06 +0000 |
---|---|---|
committer | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2006-11-10 17:04:06 +0000 |
commit | 6692d15462003157768a15c86192399b5b73e3c2 (patch) | |
tree | 9384ea59f85dfddb5bc372d067b0022b24883948 /src/modules/m_filter.h | |
parent | 74d2f929455e316ab69fcf620b7f9bc792f5e716 (diff) |
Add gline type, and <filter:duration> value to say how long to ban for.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5666 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/modules/m_filter.h')
-rw-r--r-- | src/modules/m_filter.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/modules/m_filter.h b/src/modules/m_filter.h index 34e3d2513..b2c3816a8 100644 --- a/src/modules/m_filter.h +++ b/src/modules/m_filter.h @@ -14,13 +14,16 @@ * --------------------------------------------------- */ +#include "xline.h" + class FilterResult : public classbase { public: std::string reason; std::string action; + long gline_time; - FilterResult(const std::string &rea, const std::string &act) : reason(rea), action(act) + FilterResult(const std::string &rea, const std::string &act, long gt) : reason(rea), action(act), gline_time(gt) { } @@ -85,6 +88,15 @@ class FilterBase : public Module { userrec::QuitUser(ServerInstance,user,f->reason); } + + if (f->action == "gline") + { + if (ServerInstance->XLines->add_gline(f->gline_time, ServerInstance->Config->ServerName, f->reason.c_str(), user->MakeHostIP())) + { + ServerInstance->XLines->apply_lines(APPLY_GLINES); + FOREACH_MOD(I_OnAddGLine,OnAddGLine(f->gline_time, NULL, f->reason, user->MakeHostIP())); + } + } return 1; } return 0; |