From bfc97ea14213c1ee9cb34386dfc33c0c1f665aca Mon Sep 17 00:00:00 2001 From: brain Date: Fri, 10 Nov 2006 18:23:24 +0000 Subject: Implement on-burst synching of filters git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5669 e03df62e-2008-0410-955e-edbf42e46eb7 --- src/modules/m_filter.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src/modules/m_filter.cpp') diff --git a/src/modules/m_filter.cpp b/src/modules/m_filter.cpp index 0b6c386ba..88665e8b3 100644 --- a/src/modules/m_filter.cpp +++ b/src/modules/m_filter.cpp @@ -83,11 +83,20 @@ class ModuleFilter : public FilterBase x->reason = reason; x->action = type; x->gline_time = duration; + x->freeform = freeform; filters[freeform] = x; return std::make_pair(true, ""); } + virtual void SyncFilters(Module* proto, void* opaque) + { + for (filter_t::iterator n = filters.begin(); n != filters.end(); n++) + { + this->SendFilter(proto, opaque, n->second); + } + } + virtual void OnRehash(const std::string ¶meter) { // this automatically re-reads the configuration file into the class @@ -109,6 +118,7 @@ class ModuleFilter : public FilterBase x->reason = reason; x->action = do_action; x->gline_time = gline_time; + x->freeform = pattern; filters[pattern] = x; } DELETE(MyConf); -- cgit v1.2.3