tiny fixes here and there
[mir.git] / source / mircoders / global / Abuse.java
index e7dc56f..dd54988 100755 (executable)
 
 package mircoders.global;
 
-import java.io.BufferedOutputStream;
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.GregorianCalendar;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Random;
-
-import javax.servlet.http.Cookie;
-import javax.servlet.http.HttpServletResponse;
-
 import mir.config.MirPropertiesConfiguration;
 import mir.entity.Entity;
 import mir.entity.adapter.EntityAdapterModel;
@@ -59,9 +43,25 @@ import mircoders.abuse.FilterEngine;
 import mircoders.entity.EntityComment;
 import mircoders.entity.EntityContent;
 import mircoders.localizer.MirAdminInterfaceLocalizer;
-
+import mircoders.module.ModuleComment;
+import mircoders.module.ModuleContent;
 import org.apache.commons.collections.ExtendedProperties;
 
+import javax.servlet.http.Cookie;
+import javax.servlet.http.HttpServletResponse;
+import java.io.BufferedOutputStream;
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.GregorianCalendar;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Random;
+
 /**
  *  This class manages abuse (spam, offending material, etc.). This
  *  is done by using a set of filters managed by the FilterEngine class.
@@ -86,10 +86,12 @@ public class Abuse {
 
   private static String cookieName = MirGlobal.config().getString("Abuse.CookieName");
   private static int cookieMaxAge = 60 * 60 * MirGlobal.config().getInt("Abuse.CookieMaxAge");
+  private EntityAdapterModel model;
 
   public Abuse(EntityAdapterModel aModel) {
     logger = new LoggerWrapper("Global.Abuse");
     filterEngine = new FilterEngine(aModel);
+    model = aModel;
 
     log = new ArrayList();
 
@@ -283,6 +285,9 @@ public class Abuse {
   }
 
   public List getLog() {
+    ModuleContent contentModule = new ModuleContent();
+    ModuleComment commentModule = new ModuleComment();
+
     synchronized (log) {
       try {
         List result = new ArrayList();
@@ -295,10 +300,18 @@ public class Abuse {
           entry.put("ip", logEntry.getIpNumber());
           entry.put("id", logEntry.getId());
           entry.put("timestamp", new GeneratorFormatAdapters.DateFormatAdapter(logEntry.getTimeStamp(), MirPropertiesConfiguration.instance().getString("Mir.DefaultTimezone")));
-          if (logEntry.getIsArticle())
+
+          if (logEntry.getIsArticle()) {
             entry.put("type", "content");
-          else
+            entry.put("object",
+                model.makeEntityAdapter("content", contentModule.getById(logEntry.getId())));
+          }
+          else {
             entry.put("type", "comment");
+            entry.put("object",
+                model.makeEntityAdapter("comment", commentModule.getById(logEntry.getId())));
+          }
+
           entry.put("browser", logEntry.getBrowserString());
           entry.put("filtertag", logEntry.getMatchingFilterTag());