merge of localization branch into HEAD. mh and zap
[mir.git] / source / mir / misc / HTMLTemplateProcessor.java
index af419ea..d9e4e8e 100755 (executable)
@@ -30,7 +30,11 @@ public final class HTMLTemplateProcessor {
   private static String               audioHost;
   private static String               videoHost;
   private static String               imageHost;
+  private static String               imagePath;
   private static String               openAction;
+  private static String               defEncoding;
+  private static String               generateFO;
+  private static String               generatePDF;
   protected static String producerDocRoot =
                MirConfig.getProp("Producer.DocRoot");
   protected static String producerStorageRoot =
@@ -39,7 +43,7 @@ public final class HTMLTemplateProcessor {
   //
   // init
 
-  static {
+    static {
     /** @todo either in the above block or here :) //rk */
     templateDir = MirConfig.getPropWithHome("HTMLTemplateProcessor.Dir");
     templateCache = new FileTemplateCache(templateDir);
@@ -59,13 +63,17 @@ public final class HTMLTemplateProcessor {
 
     actionRoot = docRoot + "/servlet/Mir";
 
+    defEncoding = MirConfig.getProp("Mir.DefaultEncoding");
     openAction = MirConfig.getProp("Producer.OpenAction");
     productionHost = MirConfig.getProp("Producer.ProductionHost");
-    videoHost = MirConfig.getProp("Producer.VideoHost");
-    audioHost = MirConfig.getProp("Producer.AudioHost");
+    videoHost = MirConfig.getProp("Producer.Video.Host");
+    audioHost = MirConfig.getProp("Producer.Audio.Host");
     imageHost = MirConfig.getProp("Producer.Image.Host");
+    imagePath = MirConfig.getProp("Producer.Image.Path");
     producerDocRoot = MirConfig.getProp("Producer.DocRoot");
     producerStorageRoot = MirConfig.getProp("Producer.StorageRoot");
+    generateFO = MirConfig.getProp("GenerateFO");
+    generatePDF = MirConfig.getProp("GeneratePDF");
   }
 
   /**
@@ -181,7 +189,7 @@ public final class HTMLTemplateProcessor {
       process(null,templateFilename, (TemplateModelRoot)null, out, locale);
     }
 
-       
+
        /**
    * Mischt die freemarker-Struktur <code>tmr</code> mit
    * Template <code>templateFilename</code> und gibt das Ergebnis an den PrintWriter
@@ -196,7 +204,7 @@ public final class HTMLTemplateProcessor {
                                                                                                                 TemplateModelRoot tmr, PrintWriter out, Locale locale)
        throws HTMLParseException {
                process(res,templateFilename,tmr,null,out,locale);
-                                                                                                                        
+
        }
 
   /**
@@ -210,54 +218,60 @@ public final class HTMLTemplateProcessor {
    * @exception HTMLParseException
    */
        public static void process(HttpServletResponse res,String templateFilename,
-                                                                                                                TemplateModelRoot tmr, TemplateModelRoot popups,
+                                                                                                                TemplateModelRoot tmr, TemplateModelRoot extra,
                                                                                                                 PrintWriter out, Locale locale)
                throws HTMLParseException {
                if (out==null) throw new HTMLParseException("no outputstream");
                Template tmpl = getTemplateFor(templateFilename);
                if (tmpl == null) throw new HTMLParseException("no template: " + templateFilename);
                if (tmr==null) tmr = new SimpleHash();
-       
+
                /** @todo  what is this for? (rk) */
                String session="";
                if (res!=null) {
                        session=res.encodeURL("");
                }
 
+    // @todo wouldn't it be so much easier to just pass the whole damn config
+    // Hash here from Mirconfig... ??????? than we could access arbitrary config
+    // values in the templates. -mh
                // put standard configuration into tempalteRootmodel
                SimpleHash configHash = new SimpleHash();
+               configHash.put("defEncoding", new SimpleScalar(defEncoding));
                configHash.put("producerDocRoot", new SimpleScalar(producerDocRoot));
                configHash.put("storageRoot", new SimpleScalar(producerStorageRoot));
-               configHash.put("productionHost", new SimpleScalar(productionHost));
+    configHash.put("productionHost", new SimpleScalar(productionHost));
                configHash.put("openAction", new SimpleScalar(openAction));
                configHash.put("actionRootLogin",new SimpleScalar(actionRoot));
                configHash.put("docRoot", new SimpleScalar(docRoot));
                configHash.put("now", new SimpleScalar(StringUtil.date2readableDateTime(new GregorianCalendar())));
                configHash.put("actionRoot", new SimpleScalar(actionRoot+session));
-               configHash.put("productionHost", new SimpleScalar(productionHost));
                configHash.put("videoHost", new SimpleScalar(videoHost));
                configHash.put("audioHost", new SimpleScalar(audioHost));
                configHash.put("imageHost", new SimpleScalar(imageHost));
+               configHash.put("imagePath", new SimpleScalar(imagePath));
                configHash.put("mirVersion", new SimpleScalar(MirConfig.getProp("Mir.Version")));
-               // this conform to updated freemarker syntax
+                // this conform to updated freemarker syntax
                configHash.put("compressWhitespace", new freemarker.template.utility.CompressWhitespace() );
-               
+               configHash.put("generateFO", new SimpleScalar(generateFO));
+               configHash.put("generatePDF", new SimpleScalar(generatePDF));
+
                SimpleHash outPutHash = new SimpleHash();
-                       
-               if(popups!=null){
-                       outPutHash.put("popups",popups);
+
+               if(extra!=null){
+                       outPutHash.put("extra",extra);
                        try{
-                       while(((SimpleList)popups).hasNext()){
-                               theLog.printDebugInfo(((SimpleList)popups).next().toString());
+                       while(((SimpleList)extra).hasNext()){
+                               theLog.printDebugInfo(((SimpleList)extra).next().toString());
                        }
                        }catch(Exception e){}
                }
                outPutHash.put("data",tmr);
                outPutHash.put("config", configHash);
-                       
-               MessageResources messages = MessageResources.getMessageResources("admin");
+
+               MessageResources messages = MessageResources.getMessageResources("bundles.admin");
                outPutHash.put("lang", new MessageMethodModel(locale, messages) );
-                       
+
                tmpl.process(outPutHash,out);
        }