indynl fixes
[mir.git] / source / mirlocal / indymedia.nl / IndyNLProducerLocalizer.java
index 9496336..45e2911 100755 (executable)
@@ -38,22 +38,46 @@ public class IndyNLProducerLocalizer extends MirBasicProducerLocalizer {
               )
             } )
           );
+
+      contentNode.addVerb( "all", "is_published='1' and to_article_type<>${articletype.trashed} and to_article_type<>${articletype.static}", "" );
+      contentNode.addVerb( "new", "is_published='1' and is_produced='f' and to_article_type<>${articletype.trashed} and to_article_type<>${articletype.static}", "" );
+
+      aProducerNode.addSubNode( contentNode );
+
+
+      contentNode =
+          new EntityEnumeratingProducerNode( "content", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
+            new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
+              new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
+                  new CompositeProducerNode( new ProducerNode[] {
+                    new GeneratingProducerNode(
+                        "/producer/indymedia.nl/trashed.template",
+                        "${config.storageRoot}/${language.code}/${content.date.formatted.yyyy}/${content.date.formatted.MM}/${content.id}.shtml"
+                    ),
+                    new FileDateSettingProducerNode(
+                        "${config.storageRoot}/${language.code}/${content.date.formatted.yyyy}/${content.date.formatted.MM}/${content.id}.shtml",
+                        "content.date.date"
+                    )
+                  } )
+              )
+            )
+          );
+      contentNode.addVerb( "all", "is_published='1' and to_article_type=${articletype.trashed}", "" );
+      contentNode.addVerb( "new", "is_published='1' and is_produced='f' and to_article_type=${articletype.trashed}", "" );
+
+      aProducerNode.addSubNode( contentNode );
     }
     catch (Throwable t) {
       logger.printError("IndyNLProducerLocalizer.setupContentFactory: Exception "+t.getMessage());
     }
 
-    contentNode.addVerb( "all", "is_published='1'", "" );
-    contentNode.addVerb( "new", "is_published='1' and is_produced='f'", "" );
-
-    aProducerNode.addSubNode( contentNode );
   }
 
   protected void setupStartPageFactory(CompositeProducerNode aProducerNode) {
     try {
       aProducerNode.addSubNode(
             new EntityListProducerNode("newswire", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
-                    "is_published='1' and to_article_type = 1", "date desc, webdb_create desc", 40, 0,
+                    "is_published='1' and to_article_type in (${articletype.newswire}, ${articletype.promotednewswire})", "date desc, webdb_create desc", 40, 0,
               new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
                             "", "code", 10, 0,
                     new CompositeProducerNode( new ProducerNode[] {
@@ -65,23 +89,26 @@ public class IndyNLProducerLocalizer extends MirBasicProducerLocalizer {
                               )
                           )
                         ),
-                        new EntityListProducerNode("features", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
-                                "is_published='1' and to_article_type = 2", "date desc, webdb_create desc", 10, 0,
-                          new EntityListProducerNode("breaking", DatabaseBreaking.getInstance(), BreakingAdapterDefinition.getInstance(),
-                                    "", "webdb_create desc", 5, 0,
-                            new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "code='nl'", "",
-                              new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
-                                new AssignmentProducerNode( "staticinclude", "1",
-                                  new EvaluatedAssignmentProducerNode( "topinclude", "/producer/indymedia.nl/top.template",
-                                  new EvaluatedAssignmentProducerNode( "bottominclude", "/producer/indymedia.nl/bottom.template",
-                                  new EvaluatedAssignmentProducerNode( "navinclude", "/producer/indymedia.nl/nav.template",
-                                  new EvaluatedAssignmentProducerNode( "newswireinclude", "/producer/indymedia.nl/newswire.template",
-                                  new EvaluatedAssignmentProducerNode( "featuresinclude", "/producer/indymedia.nl/features.template",
-                                    new GeneratingProducerNode(
-                                        "/producer/indymedia.nl/start.template",
-                                        "${config.storageRoot}/index.shtml"
-                                    )
-                                  )))))
+                        new EntityListProducerNode("startspecials", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
+                                "is_published='1' and to_article_type = ${articletype.startspecial}", "date desc, webdb_create desc", 10, 0,
+                          new EntityListProducerNode("features", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
+                                  "is_published='1' and to_article_type in ( ${articletype.feature}, ${articletype.promotednewswire})", "date desc, webdb_create desc", 20, 0,
+                            new EntityListProducerNode("breaking", DatabaseBreaking.getInstance(), BreakingAdapterDefinition.getInstance(),
+                                      "", "webdb_create desc", 5, 0,
+                              new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "code='nl'", "",
+                                new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
+                                  new AssignmentProducerNode( "staticinclude", "1",
+                                    new EvaluatedAssignmentProducerNode( "topinclude", "/producer/indymedia.nl/top.template",
+                                    new EvaluatedAssignmentProducerNode( "bottominclude", "/producer/indymedia.nl/bottom.template",
+                                    new EvaluatedAssignmentProducerNode( "navinclude", "/producer/indymedia.nl/nav.template",
+                                    new EvaluatedAssignmentProducerNode( "newswireinclude", "/producer/indymedia.nl/newswire.template",
+                                    new EvaluatedAssignmentProducerNode( "featuresinclude", "/producer/indymedia.nl/features.template",
+                                      new GeneratingProducerNode(
+                                          "/producer/indymedia.nl/start.template",
+                                          "${config.storageRoot}/index.shtml"
+                                      )
+                                    )))))
+                                  )
                                 )
                               )
                             )
@@ -103,7 +130,7 @@ public class IndyNLProducerLocalizer extends MirBasicProducerLocalizer {
     try {
       topicPageNode =
         new EntityBatchingProducerNode( "articles", "batch", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
-              "is_published='1' and to_article_type = ${articletype.newswire} and id in (select content_id from content_x_topic where topic_id = ${topic.id})", "date asc, webdb_create asc", 6, 5, 0,
+              "is_published='1' and to_article_type in (${articletype.newswire}, ${articletype.promotednewswire}) and id in (select content_id from content_x_topic where topic_id = ${topic.id})", "date asc, webdb_create asc", 6, 5, 0,
           new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
                   "", "code", 10, 0,
             new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
@@ -170,6 +197,10 @@ public class IndyNLProducerLocalizer extends MirBasicProducerLocalizer {
                         "${config.storageRoot}/${language.code}/style.css"
                     ),
                     new GeneratingProducerNode(
+                        "/producer/indymedia.nl/style2.template",
+                        "${config.storageRoot}/${language.code}/style2.css"
+                    ),
+                    new GeneratingProducerNode(
                         "/producer/indymedia.nl/top.template",
                         "${config.storageRoot}/${language.code}/top.inc"
                     ),
@@ -221,11 +252,14 @@ public class IndyNLProducerLocalizer extends MirBasicProducerLocalizer {
 
     ProducerNode node = null;
     EntityBatchingProducerNode batchingNode = null;
+    EntityEnumeratingProducerNode enumeratingNode = null;
 
     try {
       node =
+        new EntityListProducerNode("startspecials", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
+                "is_published='1' and to_article_type = ${articletype.startspecial}", "date desc, webdb_create desc", 10, 0,
           new EntityListProducerNode("features", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
-                  "is_published='1' and to_article_type = 2", "date desc, webdb_create desc", 10, 0,
+                  "is_published='1' and to_article_type in ( ${articletype.feature}, ${articletype.promotednewswire})", "date desc, webdb_create desc", 20, 0,
             new EntityListProducerNode("breaking", DatabaseBreaking.getInstance(), BreakingAdapterDefinition.getInstance(),
                       "", "webdb_create desc", 5, 0,
               new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
@@ -240,13 +274,14 @@ public class IndyNLProducerLocalizer extends MirBasicProducerLocalizer {
                 )
               )
             )
-          );
+          )
+        );
+      aFactoriesMap.put("features", new NodedProducerFactory( node ) );
     }
     catch (Throwable t) {
       logger.printError("IndyNLProducerLocalizer.setupFactories Exception "+t.getMessage());
     }
 
-    aFactoriesMap.put("features", new NodedProducerFactory( node ) );
 
     try {
       node =
@@ -267,16 +302,16 @@ public class IndyNLProducerLocalizer extends MirBasicProducerLocalizer {
               )
             )
           );
+      aFactoriesMap.put("featurestest", new NodedProducerFactory( node ) );
     }
     catch (Throwable t) {
       logger.printError("IndyNLProducerLocalizer.setupFactories Exception "+t.getMessage());
     }
 
-    aFactoriesMap.put("featurestest", new NodedProducerFactory( node ) );
     try {
       batchingNode =
           new EntityBatchingProducerNode( "comments", "batch", DatabaseComment.getInstance(), CommentAdapterDefinition.getInstance(),
-                "", "id desc", 25, 15, 0,
+                "", "id asc", 25, 15, 0,
             new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
                     "", "code", 10, 0,
               new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "code='nl'", "",
@@ -309,5 +344,28 @@ public class IndyNLProducerLocalizer extends MirBasicProducerLocalizer {
       logger.printError("IndyNLProducerLocalizer.setupFactories: Exception "+t.getMessage());
     }
 
+    try {
+      enumeratingNode =
+              new EntityEnumeratingProducerNode( "content", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
+                  new GeneratingProducerNode(
+                      "/producer/indymedia.nl/static.template",
+                      "${config.storageRoot}/${language.code}/static/${content.edittitle}.shtml"
+                  )
+                );
+
+      enumeratingNode.addVerb( "all", "is_published='1' and to_article_type=${articletype.static} and to_language=${language.id} and edittitle<>'' and not edittitle is null", "" );
+      enumeratingNode.addVerb( "new", "is_published='1' and is_produced='f' and to_article_type=${articletype.static} and to_language=${language.id} and edittitle<>'' and not edittitle is null", "" );
+
+      aFactoriesMap.put("staticarticles", new NodedProducerFactory(
+          new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
+            new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
+              enumeratingNode
+            )
+          )
+      ));
+    }
+    catch (Throwable t) {
+      logger.printError("IndyNLProducerLocalizer.setupFactories: Exception "+t.getMessage());
+    }
   }
 }