X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=source%2Fmircoders%2Fglobal%2FAbuse.java;h=19859a357eb7bb082959768c5574baa4b9946d89;hb=d1fe8297d584e69a5d2bed84cc979d8bdd13cb31;hp=1ee0f01823e92593b2847b56d5d561ece6034b02;hpb=855ecf8acedb12afbab7a621b2e2c0cf45b2f98f;p=mir.git diff --git a/source/mircoders/global/Abuse.java b/source/mircoders/global/Abuse.java index 1ee0f018..19859a35 100755 --- a/source/mircoders/global/Abuse.java +++ b/source/mircoders/global/Abuse.java @@ -54,6 +54,7 @@ import mir.session.Request; import mir.util.DateTimeFunctions; import mir.util.GeneratorFormatAdapters; import mir.util.StringRoutines; +import mir.util.EntityUtility; import mircoders.entity.EntityComment; import mircoders.entity.EntityContent; import mircoders.localizer.MirAdminInterfaceLocalizer; @@ -185,7 +186,7 @@ public class Abuse { line.append(" "); line.append(filterRule.getType() +" ("+ filterRule.getExpression()+")"); - aComment.appendLineToField("comment", line.toString()); + EntityUtility.appendLineToField(aComment, "comment", line.toString()); MirGlobal.performCommentOperation(null, aComment, filterRule.getCommentAction()); setCookie(aResponse); @@ -225,7 +226,7 @@ public class Abuse { line.append(" "); line.append(filterRule.getType() +" ("+ filterRule.getExpression()+")"); - anArticle.appendLineToField("comment", line.toString()); + EntityUtility.appendLineToField(anArticle, "comment", line.toString()); MirGlobal.performArticleOperation(null, anArticle, filterRule.getArticleAction()); setCookie(aResponse); @@ -531,6 +532,14 @@ public class Abuse { moveFilter(filterRules, anIdentifier, 1); } + public void moveFilterToTop(String anIdentifier) { + setFilterPosition(filterRules, anIdentifier, 0); + } + + public void moveFilterToBottom(String anIdentifier) { + setFilterPosition(filterRules, anIdentifier, Integer.MAX_VALUE); + } + private String addFilter(List aFilters, String aType, String anExpression, String aComments, String aCommentAction, String anArticleAction, Date aLastHit) { MirAntiAbuseFilterType type = (MirAntiAbuseFilterType) filterTypes.get(aType); @@ -598,6 +607,26 @@ public class Abuse { return null; } + private void setFilterPosition(List aFilters, String anIdentifier, int aPosition) { + synchronized (aFilters) { + if (aPosition<0) + aPosition=0; + + for (int i = 0; i < aFilters.size(); i++) { + FilterRule rule = (FilterRule) aFilters.get(i); + + if (rule.getId().equals(anIdentifier)) { + aFilters.remove(rule); + + if (aPosition 0 && log.size() > logSize) { - log.remove(0); + log.remove(log.size()-1); } } } @@ -877,7 +906,7 @@ public class Abuse { private void appendLog(LogEntry anEntry) { synchronized (log) { if (logEnabled) { - log.add(anEntry); + log.add(0, anEntry); truncateLog(); } }