summaryrefslogtreecommitdiff
path: root/src/modules/m_filter.cpp
diff options
context:
space:
mode:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2006-11-10 18:23:24 +0000
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2006-11-10 18:23:24 +0000
commitbfc97ea14213c1ee9cb34386dfc33c0c1f665aca (patch)
tree796773deb96bd44171a9b01310259174c6cde4e8 /src/modules/m_filter.cpp
parent745994473896e59faa59e4caf3fb621ef974419a (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.cpp10
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 &parameter)
{
// 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);