diff options
author | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2006-11-10 18:23:24 +0000 |
---|---|---|
committer | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2006-11-10 18:23:24 +0000 |
commit | bfc97ea14213c1ee9cb34386dfc33c0c1f665aca (patch) | |
tree | 796773deb96bd44171a9b01310259174c6cde4e8 /src/modules/m_filter.cpp | |
parent | 745994473896e59faa59e4caf3fb621ef974419a (diff) |
Implement on-burst synching of filters
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5669 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/modules/m_filter.cpp')
-rw-r--r-- | src/modules/m_filter.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
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); |