+bool ModuleFilter::StringToFilterAction(const std::string& str, FilterAction& fa)
+{
+ if (stdalgo::string::equalsci(str, "gline"))
+ fa = FA_GLINE;
+ else if (stdalgo::string::equalsci(str, "block"))
+ fa = FA_BLOCK;
+ else if (stdalgo::string::equalsci(str, "silent"))
+ fa = FA_SILENT;
+ else if (stdalgo::string::equalsci(str, "kill"))
+ fa = FA_KILL;
+ else if (stdalgo::string::equalsci(str, "shun") && (ServerInstance->XLines->GetFactory("SHUN")))
+ fa = FA_SHUN;
+ else if (stdalgo::string::equalsci(str, "none"))
+ fa = FA_NONE;
+ else
+ return false;
+
+ return true;
+}
+
+std::string ModuleFilter::FilterActionToString(FilterAction fa)
+{
+ switch (fa)
+ {
+ case FA_GLINE: return "gline";
+ case FA_BLOCK: return "block";
+ case FA_SILENT: return "silent";
+ case FA_KILL: return "kill";
+ case FA_SHUN: return "shun";
+ default: return "none";
+ }
+}
+
+void ModuleFilter::ReadFilters()