+
+ filterTypes = new ArrayList();
+ filterTypesMap = new HashMap();
+
+ addSimpleAntiAbuseFilterType(new RegularExpressionFilterType("regexp"));
+ addSimpleAntiAbuseFilterType(new RegularExpressionFilterType("useragent", false, false,
+ RegularExpressionFilterType.REQUEST_HEADERS, new String[] {"User-Agent"}));
+ addSimpleAntiAbuseFilterType(new IPFilterType("ip"));
+ addSimpleAntiAbuseFilterType(new RegularExpressionFilterType("hostname", false, false,
+ RegularExpressionFilterType.REQUEST_HEADERS, new String[] {"hostname"}));
+ addSimpleAntiAbuseFilterType(new ThrottleFilter("throttle"));
+ }
+
+ public SessionHandler getOpenSessionHandler(String aSessionType) throws MirLocalizerExc, MirLocalizerFailure {
+ if ("email".equals(aSessionType))
+ return new MirBasicEmailArticleHandler();
+
+ if ("comment".equals(aSessionType))
+ return new MirBasicCommentPostingHandler(configuration.getBoolean("Localizer.OpenSession.PersistentUploadedFiles"));
+
+ if ("translation".equals(aSessionType))
+ return new MirBasicTranslationPostingHandler();
+
+ return new MirBasicArticlePostingHandler(configuration.getBoolean("Localizer.OpenSession.PersistentUploadedFiles"));