1 package mirlocal.euskalherria.indymedia.org;
6 import mircoders.global.*;
7 import mircoders.localizer.*;
8 import mircoders.localizer.basic.*;
9 import mircoders.producer.*;
10 import mircoders.storage.*;
12 public class EHProducerLocalizer extends MirBasicProducerLocalizer {
14 protected void setupContentFactory(CompositeProducerNode aProducerNode) {
15 EntityEnumeratingProducerNode contentNode = null;
16 aProducerNode.clear();
20 new EntityEnumeratingProducerNode( "content", model, "content",
21 new CompositeProducerNode( new ProducerNode[] {
22 new EntityEnumeratingProducerNode( "language", model, "language", "", "",
23 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
24 new CompositeProducerNode( new ProducerNode[] {
25 new GeneratingProducerNode(
26 "/producer/euskalherria.indymedia.org/article.template",
27 "${config.storageRoot}/${language.code}/${content.date.formatted.yyyy}/${content.date.formatted.MM}/${content.id}.shtml"
29 new FileDateSettingProducerNode(
30 "${config.storageRoot}/${language.code}/${content.date.formatted.yyyy}/${content.date.formatted.MM}/${content.id}.shtml",
36 new ContentMarkingProducerNode( "content")
41 logger.printError("EHProducerLocalizer.setupContentFactory: Exception "+t.getMessage());
44 contentNode.addVerb( "all", "is_published='1'", "" );
45 contentNode.addVerb( "new", "is_published='1' and is_produced='f'", "" );
47 aProducerNode.addSubNode( contentNode );
51 protected void setupStartPageFactory(CompositeProducerNode aProducerNode) {
52 aProducerNode.clear();
54 aProducerNode.addSubNode(
55 new EntityListProducerNode("newswire", model, "content",
56 "is_published='1' and to_article_type = ${articletype.newswire}", "date desc, webdb_create desc", 40, 0,
57 new EntityListProducerNode("languages", model, "language",
59 new EntityEnumeratingProducerNode( "language", model, "language", "", "",
60 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
61 new EntityListProducerNode("startspecial", model, "content",
62 "is_published='1' and to_article_type = ${articletype.startspecial}", "date desc, webdb_create desc", 1, 0,
63 new EntityListProducerNode("features", model, "content",
64 "is_published='1' and to_article_type = ${articletype.feature}", "date desc, webdb_create desc", 10, 0,
65 new EntityListProducerNode("breaking", model, "breakingNews",
66 "", "webdb_create desc", 5, 0,
67 new GeneratingProducerNode(
68 "/producer/euskalherria.indymedia.org/startpage.template",
69 "${config.storageRoot}/${language.code}/index.shtml"
81 logger.printError("EHProducerLocalizer.setupStartPageFactory: Exception "+t.getMessage());
85 protected void setupStaticFactory(CompositeProducerNode aProducerNode) {
86 aProducerNode.clear();
89 aProducerNode.addSubNode(
90 new EntityListProducerNode("languages", model, "language",
92 new EntityEnumeratingProducerNode( "language", model, "language", "", "",
93 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
94 new GeneratingProducerNode(
95 "/producer/euskalherria.indymedia.org/navigation.template",
96 "${config.storageRoot}/${language.code}/navigation.inc"
103 catch (Throwable t) {
104 logger.printError("EHProducerLocalizer.setupStaticFactory: Exception "+t.getMessage());
108 protected void setupTopicsFactory(CompositeProducerNode aProducerNode) {
109 aProducerNode.clear();
111 EntityBatchingProducerNode topicPageNode = null;
115 new EntityBatchingProducerNode( "articles", "batch", model, "content",
116 "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", 20, 5, 0,
117 new EntityListProducerNode("languages", model, "language",
119 new EntityEnumeratingProducerNode( "language", model, "language", "", "",
120 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
121 new GeneratingProducerNode(
122 "/producer/euskalherria.indymedia.org/topic.template",
123 "${config.storageRoot}/${language.code}/${topic.filename}/${topic.filename}${batch.current.identifier}.shtml"
128 new EntityListProducerNode("languages", model, "language",
130 new EntityEnumeratingProducerNode( "language", model, "language", "", "",
131 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
132 new GeneratingProducerNode(
133 "/producer/euskalherria.indymedia.org/topicnavigation.template",
134 "${config.storageRoot}/${language.code}/${topic.filename}/${topic.filename}navigation.inc"
140 topicPageNode.addVerb("all", -1);
141 topicPageNode.addVerb("new", 3);
143 aProducerNode.addSubNode(
144 new EntityEnumeratingProducerNode( "topic", model, "topic","", "",
145 new EntityListProducerNode("topicspecial", model, "content",
146 "is_published='1' and to_article_type = ${articletype.topicspecial} and id in (select content_id from content_x_topic where topic_id = ${topic.id})", "date, webdb_create", 1, 0,
147 new EntityListProducerNode("topicfeatures", model, "content",
148 "is_published='1' and to_article_type = ${articletype.feature} and id in (select content_id from content_x_topic where topic_id = ${topic.id})", "date, webdb_create", 10, 0,
155 catch (Throwable t) {
156 logger.printError("EHProducerLocalizer.setupTopicsFactory: Exception "+t.getMessage());
161 protected void setupFactories(Map aFactoriesMap ) {
162 super.setupFactories(aFactoriesMap);