Initial revision
[mir.git] / source / mircoders / producer / ProducerNavigation.java
diff --git a/source/mircoders/producer/ProducerNavigation.java b/source/mircoders/producer/ProducerNavigation.java
new file mode 100755 (executable)
index 0000000..a26bbe7
--- /dev/null
@@ -0,0 +1,69 @@
+package mircoders.producer;
+
+import java.io.*;
+import java.lang.*;
+import java.util.*;
+
+import freemarker.template.*;
+
+import webdb.misc.*;
+import webdb.storage.*;
+import webdb.module.*;
+import webdb.entity.*;
+
+import mir.module.*;
+import mir.storage.*;
+import mir.entity.*;
+
+/**
+ * Title:        mir - another content management system
+ * Description:
+ * Copyright:    Copyright (c) 2001
+ * Company:      indymedia
+ * @author idefix
+ * @version 1.0
+ */
+
+public class ProducerNavigation extends Producer {
+
+  private static String naviPageTemplate = Configuration.getProperty("Producer.Navigation.Template");
+
+  public void handle(PrintWriter htmlout, EntityUsers user, boolean forced, boolean sync)
+    throws webdb.module.ModuleException, webdb.storage.StorageObjectException {
+
+    printHTML(htmlout, "Producer.Navigation: started");
+
+               long                sessionConnectTime = 0;
+               long                startTime = (new java.util.Date()).getTime();
+               String              nowWebdbDate = StringUtil.date2webdbDate(new GregorianCalendar());
+               String              whereClause;
+               String              orderBy;
+               FileWriter          outputFile;
+               String              htmlFileName;
+               EntityContent       currentContent;
+               EntityList          entityList;
+               SimpleHash          naviPageModel;
+
+               // get the topiclist
+               entityList = topicsModule.getByWhereClause("","title",-1);
+               SimpleList topicList = HTMLTemplateProcessor.makeSimpleList(entityList);
+
+               // put the informations into the navipagemodel
+               naviPageModel = new SimpleHash();
+               naviPageModel.put("topics", topicList);
+
+               htmlFileName = producerDocRoot + "/navigation.inc";
+
+               produce(naviPageTemplate, htmlFileName, naviPageModel, new LineFilterWriter(htmlout));
+
+               // Finish
+               sessionConnectTime = new java.util.Date().getTime() - startTime;
+               logHTML(htmlout, "Producer.Navigation finished: " + sessionConnectTime + " ms.");
+
+               if(sync==true){
+                       Helper.rsync();
+                       logHTML(htmlout, "Producer.Startseite: rsync done");
+               }
+       }
+
+}
\ No newline at end of file