first cut of merge of STABLE-pre1_0 into HEAD. I won't even guarantee that it
[mir.git] / source / mircoders / producer / ProducerNavigation.java
1 package mircoders.producer;
2
3 import java.io.*;
4 import java.lang.*;
5 import java.util.*;
6
7 import freemarker.template.*;
8
9 import mir.misc.*;
10 import mir.storage.*;
11 import mir.module.*;
12 import mir.entity.*;
13
14 import mircoders.entity.*;
15
16 /**
17  * Title:        mir - another content management system
18  * Description:
19  * Copyright:    Copyright (c) 2001
20  * Company:      indymedia
21  * @author idefix
22  * @version 1.0
23  */
24
25 public class ProducerNavigation extends Producer {
26
27   private static String naviPageTemplate = MirConfig.getProp("Producer.Navigation.Template");
28
29   public void handle(PrintWriter htmlout, EntityUsers user, boolean forced, boolean sync)
30     throws mir.module.ModuleException, mir.storage.StorageObjectException {
31
32         printHTML(htmlout, "Producer.Navigation: started");
33
34                 long                sessionConnectTime = 0;
35                 long                startTime = (new java.util.Date()).getTime();
36                 String              nowWebdbDate = StringUtil.date2webdbDate(new GregorianCalendar());
37                 String              whereClause;
38                 String              orderBy;
39                 FileWriter          outputFile;
40                 String              htmlFileName;
41                 EntityContent       currentContent;
42                 EntityList          entityList;
43                 SimpleHash          naviPageModel;
44
45         // get the imclinks
46         entityList = linksImcsModule.getByWhereClause("", "sortpriority, title", -1);
47         SimpleList imcList = HTMLTemplateProcessor.makeSimpleList(entityList);
48
49         EntityList theParentList = linksImcsModule.getByWhereClause("to_parent_id=NULL", "sortpriority, title", -1);
50         SimpleList parentList = HTMLTemplateProcessor.makeSimpleList(theParentList);
51
52                 // put the informations into the navipagemodel
53                 naviPageModel = new SimpleHash();
54                 naviPageModel.put("topics", topicsModule.getTopicsList());
55         naviPageModel.put("imclist", imcList);
56         naviPageModel.put("parentlist", parentList);
57
58                 htmlFileName = producerDocRoot + "/navigation.inc";
59
60                 produce(naviPageTemplate, htmlFileName, naviPageModel, new LineFilterWriter(htmlout));
61
62                 // Finish
63                 sessionConnectTime = new java.util.Date().getTime() - startTime;
64                 logHTML(htmlout, "Producer.Navigation finished: " + sessionConnectTime + " ms.");
65
66                 if(sync==true){
67                         Helper.rsync();
68                         logHTML(htmlout, "Producer.Startseite: rsync done");
69                 }
70         }
71
72 }