--- /dev/null
+package mircoders.servlet;
+
+import java.io.*;
+import java.sql.*;
+import java.util.*;
+import java.net.*;
+import javax.servlet.*;
+import javax.servlet.http.*;
+
+import freemarker.template.*;
+
+import mir.servlet.*;
+import mir.module.*;
+import mir.misc.*;
+import mir.entity.*;
+import mir.storage.*;
+
+import mir.entity.*;
+import mircoders.storage.*;
+import mircoders.module.*;
+
+/*
+ * ServletModuleHidden - output of so called "censored" articles
+ * @author mh
+ * @version $Id
+ *
+ */
+
+public class ServletModuleHidden extends ServletModule
+{
+
+ // Singelton / Kontruktor
+ private static ServletModuleHidden instance = new ServletModuleHidden();
+ public static ServletModule getInstance() { return instance; }
+
+ private ServletModuleHidden() {
+ theLog = Logfile.getInstance(MirConfig.getProp("Home") + MirConfig.getProp("ServletModule.Hidden.Logfile"));
+ templateListString = MirConfig.getProp("ServletModule.Hidden.ListTemplate");
+ try {
+ mainModule = new ModuleContent(DatabaseContent.getInstance());
+ }
+ catch (StorageObjectException e) {
+ theLog.printError("servletmoduleHidden could not be initialized");
+ }
+ }
+
+
+ public void list(HttpServletRequest req, HttpServletResponse res)
+ throws ServletModuleException
+ {
+ // Parameter auswerten
+ SimpleHash mergeData = new SimpleHash();
+ String query_year = req.getParameter("year");
+ String query_month = req.getParameter("month");
+ String order = "webdb_create";
+
+ // sql basteln
+ String whereClause = "is_published=false AND webdb_create LIKE '"+
+ query_year+"-"+query_month+"%'";
+
+ theLog.printDebugInfo("sql-whereclause: " + whereClause);
+
+ // fetch und ausliefern
+ try {
+
+ if ((query_year!=null && !query_year.equals(""))
+ && (query_month!=null && !query_month.equals(""))) {
+ EntityList theList = mainModule.getByWhereClause(whereClause, order, -1);
+ if (theList!=null && theList.size()>0) {
+
+ //make articleHash for comment
+ StringBuffer buf= new StringBuffer("id in (");boolean first=true;
+ for(int i=0;i<theList.size();i++) {
+ if (first==false) buf.append(",");
+ first=false;
+ buf.append(theList.elementAt(i).getValue("to_media"));
+ }
+ buf.append(")");
+ SimpleHash articleHash =
+ HTMLTemplateProcessor.makeSimpleHash(
+ mainModule.getByWhereClause(buf.toString(),-1));
+ mergeData.put("articleHash", articleHash);
+
+ // send the year and month for use in the list template
+ mergeData.put("year", query_year);
+ mergeData.put("month", query_month);
+ // get comment
+ mergeData.put("contentlist",theList);
+ }
+ }
+ // raus damit
+ HTMLTemplateProcessor.process(res, templateListString, mergeData, res.getWriter(), getLocale(req));
+ }
+ catch (ModuleException e) {throw new ServletModuleException(e.toString());}
+ catch (IOException e) {throw new ServletModuleException(e.toString());}
+ catch (Exception e) {throw new ServletModuleException(e.toString());}
+ }
+}