moving all configurable stuff to etc/
authorbruno <bruno>
Wed, 9 Oct 2002 16:11:24 +0000 (16:11 +0000)
committerbruno <bruno>
Wed, 9 Oct 2002 16:11:24 +0000 (16:11 +0000)
38 files changed:
etc/bundles/open_ay.properties [new file with mode: 0755]
etc/bundles/open_de.properties [new file with mode: 0755]
etc/bundles/open_en.properties [new file with mode: 0755]
etc/bundles/open_es.properties [new file with mode: 0755]
etc/bundles/open_gn.properties [new file with mode: 0755]
etc/bundles/open_qu.properties [new file with mode: 0755]
etc/bundles/producer_ay.properties [new file with mode: 0755]
etc/bundles/producer_de.properties [new file with mode: 0755]
etc/bundles/producer_en.properties [new file with mode: 0755]
etc/bundles/producer_es.properties [new file with mode: 0755]
etc/bundles/producer_gn.properties [new file with mode: 0755]
etc/bundles/producer_nl.properties [new file with mode: 0755]
etc/bundles/producer_qu.properties [new file with mode: 0755]
etc/config.properties [new file with mode: 0755]
etc/config.properties-dist [new file with mode: 0755]
etc/content-types.properties [new file with mode: 0755]
etc/log4j.properties [new file with mode: 0755]
etc/objectstore.properties [new file with mode: 0755]
etc/open/comment.template [new file with mode: 0755]
etc/open/comment_done.template [new file with mode: 0755]
etc/open/comment_dupe.template [new file with mode: 0755]
etc/open/disclaimer.inc.de [new file with mode: 0755]
etc/open/posting.template [new file with mode: 0755]
etc/open/posting_done.template [new file with mode: 0755]
etc/open/posting_dupe.template [new file with mode: 0755]
etc/producer/RSS.template [new file with mode: 0755]
etc/producer/archive.template [new file with mode: 0755]
etc/producer/article.template [new file with mode: 0755]
etc/producer/html2fo.xsl [new file with mode: 0755]
etc/producer/links.inc [new file with mode: 0755]
etc/producer/navigation.template [new file with mode: 0755]
etc/producer/printablecontent.template [new file with mode: 0755]
etc/producer/routines.template [new file with mode: 0755]
etc/producer/startpage.template [new file with mode: 0755]
etc/producer/stylesheet.template [new file with mode: 0755]
etc/producer/topicpage.template [new file with mode: 0755]
etc/producers.xml [new file with mode: 0755]
etc/server.xml [new file with mode: 0755]

diff --git a/etc/bundles/open_ay.properties b/etc/bundles/open_ay.properties
new file mode 100755 (executable)
index 0000000..875c4ba
--- /dev/null
@@ -0,0 +1,83 @@
+########## open posting ##########
+# language: aymara
+
+optional=opcional
+required=requerido
+
+comment.htmltitle=Mir | confirmar comentario
+comment.header=Añadiendo un comentario al artículo
+comment.password=Password
+comment.note=
+comment.formtitle=Formulario-del-comentario
+comment.title=Título del comentario
+comment.name=su nombre
+comment.email=su email
+comment.url=su dirección web
+comment.phone=su número de teléfono
+comment.address=su dirección
+comment.language=idioma de su comentario
+comment.text=su comentario
+comment.submit=envíar comentario
+comment.reset=limpiar formulario
+
+commentdone.htmltitle=Mir | envío abierto
+commentdone.thanks=Su comentario está de camino!
+commentdone.wait=In wenigen Minuten ist Deine Ergänzung unter dem ergänzten Artikel.<br>Manchmal kann es aber aufgrund technischer Probleme etwas dauern bis sie erscheint.<br>
+commentdone.criteria=Die Moderationskriterien von indymedia kannst Du <a href="http://de.indymedia.org/static/moderation.html" target="_blank">hier</a> nachlesen.
+commentdone.stay_calm=Gedulde Dich einen Moment - Es lohnt sich!
+commentdone.back=Zur&uuml;ck zum kommentierten Artikel
+
+commentdupe.htmltitle=Mir | envío abierto - comentario duplicado
+commentdupe.title=Mantenga la calma unos breves instantes.
+commentdupe.explanation=Probablemente haya apretado el botón de recarga o enviado el comentario en una segunda ocasión. Si puede leer esto, significa que su comentario ha sido recibido con éxito y será incluido en la página de artículos en breves instantes.
+commentdupe.no_panic=No se altere!
+commentdupe.back=Volver al artículo comentado
+
+posting.htmltitle=Mir | envío abierto
+posting.password=Password
+posting.meta.description=Centro de Periodismo Independiente
+posting.meta.author=Colectivo IMC
+posting.meta.keywords=Periodismo Libre
+posting.jump_to_form=Ir directamente al formulario.
+posting.title=Publique su artículo
+posting.nr_of_media=Número de recursos mediáticos
+posting.nr_of_media.info=(wenn Du mehr als eine Datei hochladen willst, bitte hier die Anzahl eintragen und den Knopf drücken, <b>bevor</b> Du weitere Felder ausfüllst.)
+posting.nr_of_media.submit=Anzahl festlegen
+posting.form.title=Formulario de publicación
+posting.title=<b>Título</b> de su artículo
+posting.title.info=(Bitte wähle einen möglichst klaren, aussagekräftigen Titel.)
+posting.topic=<b>Thema</b> Deines Beitrags
+posting.topic.info=(Mehrfachwahl ist möglich. Bitte dazu die [Strg]- bzw [Ctrl]-Taste benutzen)
+posting.author=<b>autor</b> de este artículo
+posting.abstract=Descripción <b>breve</b> de su artículo
+posting.abstract.info=(Sie soll den LeserInnen schnell vermitteln, worum es in Deinem Beitrag geht. Falls Du den ersten Absatz Deines Artikels dazu wählst, achte bitte darauf ihn im Haupttextfeld weiter unten nicht nochmal einzusetzen.)
+posting.abstract.constraint=(que no exceda de <b>5 líneas</b>)
+posting.contact.info=La información de contacto es opcional pero ayuda a que otras personas puedan ponerse en contacto con usted.
+posting.email=su dirección de email
+posting.url=su dirección web
+posting.address=su dirección personal
+posting.phone=su número de teléfono
+posting.language=idioma de su artículo
+posting.text=su <b>artículo</b>
+posting.text.info=ponga aquí el texto de su artículo
+posting.media=recursos mediáticos
+posting.media.info=cargue sus ficheros de medios (de momento tan solo se aceptan jpg|gif|mp3|avi|qt|mpeg)
+posting.media.howto=(Dazu wählst Du mit "Durchsuchen.." die entsprechende Datei auf Deiner Festplatte aus.
+posting.media.media=Media
+posting.media.title=subtítulo de los recursos mediáticos
+posting.submit.info=Bitte drücke den Verschicken-Knopf<b> nur einmal</b>!<br> In wenigen Minuten erscheind Dein Beitrag dann auf der <a href="http://de.indymedia.org/open.html" target="_blank"> <b>"Open Posting"</b></a> - Seite. &nbsp; Das ist nicht die Startseite.<br> Manchmal kann es aber aufgrund technischer Probleme etwas dauern bis er erscheint.
+posting.criteria=Die <b>Moderationskriterien</b> kannst Du <a href="http://de.indymedia.org/static/moderation.html" target="_blank"><b>hier nachlesen</b></a>
+posting.submit=Enviar (la paciencia es una virtud!!)
+posting.reset=Limpiar formulario
+
+postingdone.htmltitle=Mir | open posting
+postingdone.title=Hurra, Du hast Deinen Artikel abgeschickt!
+postingdone.info=Dein Artikel landet in einigen Minuten auf der <a href="http://de.indymedia.org/open.html">"Open Posting"</a> - Seite. Das ist nicht die Startseite. Die Moderationskriterien kannst Du <a href="http://de.indymedia.org/static/moderation.html">hier lesen</a>
+postingdone.stay_calm=Gedulde Dich einen Moment! Es lohnt sich!
+postingdone.back=Zur&uuml;ck
+
+postingdupe.htmltitle=Mir | envío abierto - envio duplicado
+postingdupe.title=Mantenga la calma, su envio será procesado en breves instantes.
+postingdupe.explanation=       Posiblemente haya pulsado el botón de recarga de su navegador, o enviado su articulo por segunda vez Si está leyendo este texto, significa que su envío ha sido recibido con éxito y que será incluido en la pagina de artículos en breves instantes.<br>Como detalle técnico, este imc está conectado a un servidor proxy que no es actualizado cada minuto.
+postingdupe.no_panic=No pierda los estribos!
+postingdupe.back=Atrás
\ No newline at end of file
diff --git a/etc/bundles/open_de.properties b/etc/bundles/open_de.properties
new file mode 100755 (executable)
index 0000000..7f060fa
--- /dev/null
@@ -0,0 +1,83 @@
+########## open posting ##########
+# language: deutsch / german
+
+optional=optional
+required=muss ausgef&uuml;llt werden
+
+comment.htmltitle=Mir | comment.commit
+comment.header=Kommentierung eines Beitr&auml;gs bei Indymedia
+comment.password=Password
+comment.note=Hinweis: Dein Kommentar kann in jedem Stil und jeder Form sein, akademisch bis pers&ouml;nlich.<br>Aber bitte bleibe beim <b>Thema des Artikels</b>, den Du kommentierst und versuche, <b>pr&auml;zise</b> zu sein.
+comment.formtitle=Kommentierungsformular
+comment.title=Titel des Kommentars
+comment.name=Dein Name
+comment.email=Deine eMail-Adresse
+comment.url=Deine Web Adresse
+comment.phone=Deine Telefon-Nr.
+comment.address=Deine Adresse
+comment.language=Die Sprache deines Kommentares
+comment.text=Dein Kommentar
+comment.submit=Kommentar abschicken
+comment.reset=Formular l&ouml;schen
+
+commentdone.htmltitle=Mir | open posting
+commentdone.thanks=Danke. Deine Ergänzung ist jetzt auf dem Weg zur Website!
+commentdone.wait=In wenigen Minuten ist Deine Ergänzung unter dem ergänzten Artikel.<br>Manchmal kann es aber aufgrund technischer Probleme etwas dauern bis sie erscheint.<br>
+commentdone.criteria=Die Moderationskriterien von indymedia.de kannst Du <a href="http://de.indymedia.org/static/moderation.html" target="_blank">hier</a> nachlesen.
+commentdone.stay_calm=Gedulde Dich einen Moment - Es lohnt sich!
+commentdone.back=Zur&uuml;ck zum kommentierten Artikel
+
+commentdupe.htmltitle=Mir | open posting - Kommentar-Duplikat
+commentdupe.title=Immer ruhig mit den jungen Pferden!
+commentdupe.explanation=Du hast vermutlich den Reload-Button benutzt oder versucht, Deinen Kommentar noch einmal zu posten. Das ist aber unn&ouml;tig. Die Tatsache, dass Du diesen Text liest, bedeutet, dass Dein Kommentar schon angekommen ist. Er wird gleich auf der Seite auftauchen. Versprochen.
+commentdupe.no_panic=Keine Panik
+commentdupe.back=Zur&uuml;ck zum kommentierten Artikel
+
+posting.htmltitle=Mir | open posting
+posting.password=Password
+posting.meta.description=Indymedia Germany | Unabh&auml;ngiges Medienzentrum
+posting.meta.author=IMC Kollektiv
+posting.meta.keywords=Freie Medien, Gegen&ouml;ffentlichkeit
+posting.jump_to_form=Direkt zum Eingabeformular springen
+posting.title=Ver&ouml;ffentliche Deinen Beitrag
+posting.nr_of_media=Anzahl der Medien (max 20)
+posting.nr_of_media.info=(wenn Du mehr als eine Datei hochladen willst, bitte hier die Anzahl eintragen und den Knopf drücken, <b>bevor</b> Du weitere Felder ausfüllst.)
+posting.nr_of_media.submit=Anzahl festlegen
+posting.form.title=Ver&ouml;ffentlichungsformular
+posting.title=Gib Deinem Beitrag einen <b>Titel</b>
+posting.title.info=(Bitte wähle einen möglichst klaren, aussagekräftigen Titel.)
+posting.topic=<b>Thema</b> Deines Beitrags
+posting.topic.info=(Mehrfachwahl ist möglich. Bitte dazu die [Strg]- bzw [Ctrl]-Taste benutzen)
+posting.author=<b>AutorIn</b> des Beitrags
+posting.abstract=Eine kurze <b>Zusammenfassung</b> des Beitrags
+posting.abstract.info=(Sie soll den LeserInnen schnell vermitteln, worum es in Deinem Beitrag geht. Falls Du den ersten Absatz Deines Artikels dazu wählst, achte bitte darauf ihn im Haupttextfeld weiter unten nicht nochmal einzusetzen.)
+posting.abstract.constraint=(nicht mehr als <b>5 Zeilen</b>)
+posting.contact.info=Die Kontaktinformationen sind optional, aber erm&ouml;glichen, dass die IndymedialeserInnen (z.B. auch JournalistInnen) Dich bez&uuml;glich Deines Beitrages, z.B. für Rückfragen, erreichen k&ouml;nnen, was auch eine Weiterverwertung Deines Beitrages an anderen Stellen erm&ouml;glicht.
+posting.email=Deine eMail-Adresse
+posting.url=Eine Web-Adresse zum Artikel
+posting.address=Deine Adresse
+posting.phone=Deine Telefon-Nr.
+posting.language=Die Sprache deines Beitrages
+posting.text=Dein <b>Artikel</b>
+posting.text.info=(Der Haupttext Deines Beitrages)
+posting.media=Medien
+posting.media.info=Hier kannst Du eine oder mehrere Bild-, Audio- oder Videodateien zu Deinem Artikel hochladen.
+posting.media.howto=(Dazu wählst Du mit "Durchsuchen.." die entsprechende Datei auf Deiner Festplatte aus.
+posting.media.media=Media
+posting.media.title=Medienunterschrift
+posting.submit.info=Bitte drücke den Verschicken-Knopf<b> nur einmal</b>!<br> In wenigen Minuten erscheind Dein Beitrag dann auf der <a href="http://de.indymedia.org/html" target="_blank"> <b>"Open Posting"</b></a> - Seite. &nbsp; Das ist nicht die Startseite.<br> Manchmal kann es aber aufgrund technischer Probleme etwas dauern bis er erscheint.
+posting.criteria=Die <b>Moderationskriterien</b> kannst Du <a href="http://de.indymedia.org/static/moderation.html" target="_blank"><b>hier nachlesen</b></a>
+posting.submit=Beitrag abschicken
+posting.reset=Formular l&ouml;schen
+
+postingdone.htmltitle=Mir | open posting
+postingdone.title=Hurra, Du hast Deinen Artikel abgeschickt!
+postingdone.info=Dein Artikel landet in einigen Minuten auf der <a href="http://de.indymedia.org/html">"Open Posting"</a> - Seite. Das ist nicht die Startseite. Die Moderationskriterien kannst Du <a href="http://de.indymedia.org/static/moderation.html">hier lesen</a>
+postingdone.stay_calm=Gedulde Dich einen Moment! Es lohnt sich!
+postingdone.back=Zur&uuml;ck
+
+postingdupe.htmltitle=Mir | open posting - Posting-Duplikat
+postingdupe.title=Immer ruhig mit den jungen Pferden!
+postingdupe.explanation=Du hast vermutlich den Reload-Button benutzt oder versucht, Deinen Artikel noch einmal zu posten. Das ist aber unn&ouml;tig. <br> Die Tatsache, dass Du diesen Text liest, bedeutet, dass Dein Posting schon angekommen ist. Er wird gleich auf der Seite auftauchen. Versprochen.<br><br>Technischer Hintergrund ist, daß de.indy &uuml;ber einen Proxy-Server läuft und da dauert es schon mal ein paar Minuten, bis ein neues Posting erscheint.
+postingdupe.no_panic=Keine Panik
+postingdupe.back=Zur&uuml;ck
\ No newline at end of file
diff --git a/etc/bundles/open_en.properties b/etc/bundles/open_en.properties
new file mode 100755 (executable)
index 0000000..ff79596
--- /dev/null
@@ -0,0 +1,83 @@
+########## open posting ##########
+# language: english
+
+optional=optional
+required=required
+
+comment.htmltitle=Mir | comment
+comment.header=Adding a coment to an article
+comment.password=Password
+comment.note=
+comment.formtitle=Comment 
+comment.title=title of this comment
+comment.name=your name
+comment.email=your eMail
+comment.url=your web site address
+comment.phone=your telephone number.
+comment.address=your address
+comment.language=language of your comment
+comment.text=your comment
+comment.submit=submit comment
+comment.reset=reset form
+
+commentdone.htmltitle=Mir | open posting
+commentdone.thanks=Your comment is on the way!
+commentdone.wait=It will take some minutes until your addition appears under the article.<br>It may take even longer in case of technical problems.<br>
+commentdone.criteria=
+commentdone.stay_calm=Please wait a few minutes
+commentdone.back=Back to the article
+
+commentdupe.htmltitle=Mir | open posting - duplicate entry
+commentdupe.title=Stay calm. Things will happen soon.
+commentdupe.explanation=You probably clicked on the reload button or submitted your comment a second time. The fact that you can read this text means that your comment has been recieved and will soon be included in the article page.
+commentdupe.no_panic=Don't panic
+commentdupe.back=Back to the article
+
+posting.htmltitle=Mir | open posting
+posting.password=Password
+posting.meta.description=Mir CMS system
+posting.meta.author=mir
+posting.meta.keywords=free media
+posting.jump_to_form=Jump directly to the form.
+posting.title=Publish your article!
+posting.nr_of_media=Number of Media Items (max 20)
+posting.nr_of_media.info=(Enter the number of files you want to upload and press the button <b>before</b> you enter data into the other fields.)
+posting.nr_of_media.submit=define number (max 20)
+posting.form.title=Publishing Form
+posting.title=<b>titel</b> of your article
+posting.title.info=(Please use a clear and meaningful title)
+posting.topic=<b>Topic</b> of your Posting
+posting.topic.info=(multiple selection is possible. use the [Ctrl] key)
+posting.author=<b>author</b> of this article
+posting.abstract=A short <b>abstract</b> of your article
+posting.abstract.info=(should give the readers a short introduction on what your article is about. If you use the first paragraph of your article for this purpose, please do not include it in the main text field below.)
+posting.abstract.constraint=(not more than <b>5 lines</b>)
+posting.contact.info=Contact information is optional but enables other people to get in touch with you.
+posting.email=your e-mail address
+posting.url=your web-site address
+posting.address=your address
+posting.phone=your telephone number
+posting.language=the language of your article
+posting.text=your <b>article</b>
+posting.text.info=fill in the text of your article here
+posting.media=media
+posting.media.info=upload media-files (supported are jpg|gif|mp3|avi|qt|mpeg) max size: 20 Mb
+posting.media.howto=(Press "Browse" and select the file you want to upload)
+posting.media.media=Media
+posting.media.title=media sub-title
+posting.submit.info=Please press submit <b>only once</b>!<br>It will appear in a few minutes on the main page. It might even take longer in case of technical problems.
+posting.criteria=
+posting.submit=Submit (patience is a virtue!)
+posting.reset=Form Reset
+
+postingdone.htmltitle=open posting
+postingdone.title=You have successfully submitted your article
+postingdone.info=Your article will appear on the website in a few minutes. 
+postingdone.stay_calm=
+postingdone.back=Back
+
+postingdupe.htmltitle=open posting - duplicate posting 
+postingdupe.title=Stay calm. Things will happen soon.
+postingdupe.explanation=You probably clicked on the reload button or submitted your posting a second time. The fact that you can read this text means that your posting has been recieved and will soon be included in the article page.<br>
+postingdupe.no_panic=Don't panic
+postingdupe.back=Back
\ No newline at end of file
diff --git a/etc/bundles/open_es.properties b/etc/bundles/open_es.properties
new file mode 100755 (executable)
index 0000000..9b6a6a6
--- /dev/null
@@ -0,0 +1,83 @@
+########## open posting ##########
+# language: espanol / spanish
+
+optional=opcional
+required=requerido
+
+comment.htmltitle=Mir | confirmar comentario
+comment.header=Añadiendo un comentario al artículo
+comment.password=Password
+comment.note=
+comment.formtitle=Formulario-del-comentario
+comment.title=Título del comentario
+comment.name=su nombre
+comment.email=su email
+comment.url=su dirección web
+comment.phone=su número de teléfono
+comment.address=su dirección
+comment.language=idioma de su comentario
+comment.text=su comentario
+comment.submit=envíar comentario
+comment.reset=limpiar formulario
+
+commentdone.htmltitle=Mir | envío abierto
+commentdone.thanks=Su comentario está de camino!
+commentdone.wait=In wenigen Minuten ist Deine Ergänzung unter dem ergänzten Artikel.<br>Manchmal kann es aber aufgrund technischer Probleme etwas dauern bis sie erscheint.<br>
+commentdone.criteria=Die Moderationskriterien von indymedia kannst Du <a href="http://de.indymedia.org/static/moderation.html" target="_blank">hier</a> nachlesen.
+commentdone.stay_calm=Gedulde Dich einen Moment - Es lohnt sich!
+commentdone.back=Zur&uuml;ck zum kommentierten Artikel
+
+commentdupe.htmltitle=Mir | envío abierto - comentario duplicado
+commentdupe.title=Mantenga la calma unos breves instantes.
+commentdupe.explanation=Probablemente haya apretado el botón de recarga o enviado el comentario en una segunda ocasión. Si puede leer esto, significa que su comentario ha sido recibido con éxito y será incluido en la página de artículos en breves instantes.
+commentdupe.no_panic=No se altere!
+commentdupe.back=Volver al artículo comentado
+
+posting.htmltitle=Mir | envío abierto
+posting.password=Password
+posting.meta.description=Centro de Periodismo Independiente
+posting.meta.author=Colectivo IMC
+posting.meta.keywords=Periodismo Libre
+posting.jump_to_form=Ir directamente al formulario.
+posting.title=Publique su artículo
+posting.nr_of_media=Número de recursos mediáticos
+posting.nr_of_media.info=(wenn Du mehr als eine Datei hochladen willst, bitte hier die Anzahl eintragen und den Knopf drücken, <b>bevor</b> Du weitere Felder ausfüllst.)
+posting.nr_of_media.submit=Anzahl festlegen
+posting.form.title=Formulario de publicación
+posting.title=<b>Título</b> de su artículo
+posting.title.info=(Bitte wähle einen möglichst klaren, aussagekräftigen Titel.)
+posting.topic=<b>Thema</b> Deines Beitrags
+posting.topic.info=(Mehrfachwahl ist möglich. Bitte dazu die [Strg]- bzw [Ctrl]-Taste benutzen)
+posting.author=<b>autor</b> de este artículo
+posting.abstract=Descripción <b>breve</b> de su artículo
+posting.abstract.info=(Sie soll den LeserInnen schnell vermitteln, worum es in Deinem Beitrag geht. Falls Du den ersten Absatz Deines Artikels dazu wählst, achte bitte darauf ihn im Haupttextfeld weiter unten nicht nochmal einzusetzen.)
+posting.abstract.constraint=(que no exceda de <b>5 líneas</b>)
+posting.contact.info=La información de contacto es opcional pero ayuda a que otras personas puedan ponerse en contacto con usted.
+posting.email=su dirección de email
+posting.url=su dirección web
+posting.address=su dirección personal
+posting.phone=su número de teléfono
+posting.language=idioma de su artículo
+posting.text=su <b>artículo</b>
+posting.text.info=ponga aquí el texto de su artículo
+posting.media=recursos mediáticos
+posting.media.info=cargue sus ficheros de medios (de momento tan solo se aceptan jpg|gif|mp3|avi|qt|mpeg)
+posting.media.howto=(Dazu wählst Du mit "Durchsuchen.." die entsprechende Datei auf Deiner Festplatte aus.
+posting.media.media=Media
+posting.media.title=subtítulo de los recursos mediáticos
+posting.submit.info=Bitte drücke den Verschicken-Knopf<b> nur einmal</b>!<br> In wenigen Minuten erscheind Dein Beitrag dann auf der <a href="http://de.indymedia.org/html" target="_blank"> <b>"Open Posting"</b></a> - Seite. &nbsp; Das ist nicht die Startseite.<br> Manchmal kann es aber aufgrund technischer Probleme etwas dauern bis er erscheint.
+posting.criteria=Die <b>Moderationskriterien</b> kannst Du <a href="http://de.indymedia.org/static/moderation.html" target="_blank"><b>hier nachlesen</b></a>
+posting.submit=Enviar (la paciencia es una virtud!!)
+posting.reset=Limpiar formulario
+
+postingdone.htmltitle=open posting
+postingdone.title=Hurra, Du hast Deinen Artikel abgeschickt!
+postingdone.info=Dein Artikel landet in einigen Minuten auf der <a href="http://de.indymedia.org/html">"Open Posting"</a> - Seite. Das ist nicht die Startseite. Die Moderationskriterien kannst Du <a href="http://de.indymedia.org/static/moderation.html">hier lesen</a>
+postingdone.stay_calm=Gedulde Dich einen Moment! Es lohnt sich!
+postingdone.back=Zur&uuml;ck
+
+postingdupe.htmltitle=envío abierto - envio duplicado
+postingdupe.title=Mantenga la calma, su envio será procesado en breves instantes.
+postingdupe.explanation=       Posiblemente haya pulsado el botón de recarga de su navegador, o enviado su articulo por segunda vez Si está leyendo este texto, significa que su envío ha sido recibido con éxito y que será incluido en la pagina de artículos en breves instantes.<br>Como detalle técnico, este imc está conectado a un servidor proxy que no es actualizado cada minuto.
+postingdupe.no_panic=No pierda los estribos!
+postingdupe.back=Atrás
\ No newline at end of file
diff --git a/etc/bundles/open_gn.properties b/etc/bundles/open_gn.properties
new file mode 100755 (executable)
index 0000000..bac15cb
--- /dev/null
@@ -0,0 +1,83 @@
+########## open posting ##########
+# language: guarani
+
+optional=opcional
+required=requerido
+
+comment.htmltitle=Mir | confirmar comentario
+comment.header=Añadiendo un comentario al artículo
+comment.password=Password
+comment.note=
+comment.formtitle=Formulario-del-comentario
+comment.title=Título del comentario
+comment.name=su nombre
+comment.email=su email
+comment.url=su dirección web
+comment.phone=su número de teléfono
+comment.address=su dirección
+comment.language=idioma de su comentario
+comment.text=su comentario
+comment.submit=envíar comentario
+comment.reset=limpiar formulario
+
+commentdone.htmltitle=Mir | envío abierto
+commentdone.thanks=Su comentario está de camino!
+commentdone.wait=In wenigen Minuten ist Deine Ergänzung unter dem ergänzten Artikel.<br>Manchmal kann es aber aufgrund technischer Probleme etwas dauern bis sie erscheint.<br>
+commentdone.criteria=Die Moderationskriterien von indymedia kannst Du <a href="http://de.indymedia.org/static/moderation.html" target="_blank">hier</a> nachlesen.
+commentdone.stay_calm=Gedulde Dich einen Moment - Es lohnt sich!
+commentdone.back=Zur&uuml;ck zum kommentierten Artikel
+
+commentdupe.htmltitle=Mir | envío abierto - comentario duplicado
+commentdupe.title=Mantenga la calma unos breves instantes.
+commentdupe.explanation=Probablemente haya apretado el botón de recarga o enviado el comentario en una segunda ocasión. Si puede leer esto, significa que su comentario ha sido recibido con éxito y será incluido en la página de artículos en breves instantes.
+commentdupe.no_panic=No se altere!
+commentdupe.back=Volver al artículo comentado
+
+posting.htmltitle=Mir | envío abierto
+posting.password=Password
+posting.meta.description=Centro de Periodismo Independiente
+posting.meta.author=Colectivo IMC
+posting.meta.keywords=Periodismo Libre
+posting.jump_to_form=Ir directamente al formulario.
+posting.title=Publique su artículo
+posting.nr_of_media=Número de recursos mediáticos
+posting.nr_of_media.info=(wenn Du mehr als eine Datei hochladen willst, bitte hier die Anzahl eintragen und den Knopf drücken, <b>bevor</b> Du weitere Felder ausfüllst.)
+posting.nr_of_media.submit=Anzahl festlegen
+posting.form.title=Formulario de publicación
+posting.title=<b>Título</b> de su artículo
+posting.title.info=(Bitte wähle einen möglichst klaren, aussagekräftigen Titel.)
+posting.topic=<b>Thema</b> Deines Beitrags
+posting.topic.info=(Mehrfachwahl ist möglich. Bitte dazu die [Strg]- bzw [Ctrl]-Taste benutzen)
+posting.author=<b>autor</b> de este artículo
+posting.abstract=Descripción <b>breve</b> de su artículo
+posting.abstract.info=(Sie soll den LeserInnen schnell vermitteln, worum es in Deinem Beitrag geht. Falls Du den ersten Absatz Deines Artikels dazu wählst, achte bitte darauf ihn im Haupttextfeld weiter unten nicht nochmal einzusetzen.)
+posting.abstract.constraint=(que no exceda de <b>5 líneas</b>)
+posting.contact.info=La información de contacto es opcional pero ayuda a que otras personas puedan ponerse en contacto con usted.
+posting.email=su dirección de email
+posting.url=su dirección web
+posting.address=su dirección personal
+posting.phone=su número de teléfono
+posting.language=idioma de su artículo
+posting.text=su <b>artículo</b>
+posting.text.info=ponga aquí el texto de su artículo
+posting.media=recursos mediáticos
+posting.media.info=cargue sus ficheros de medios (de momento tan solo se aceptan jpg|gif|mp3|avi|qt|mpeg)
+posting.media.howto=(Dazu wählst Du mit "Durchsuchen.." die entsprechende Datei auf Deiner Festplatte aus.
+posting.media.media=Media
+posting.media.title=subtítulo de los recursos mediáticos
+posting.submit.info=Bitte drücke den Verschicken-Knopf<b> nur einmal</b>!<br> In wenigen Minuten erscheind Dein Beitrag dann auf der <a href="http://de.indymedia.org/html" target="_blank"> <b>"Open Posting"</b></a> - Seite. &nbsp; Das ist nicht die Startseite.<br> Manchmal kann es aber aufgrund technischer Probleme etwas dauern bis er erscheint.
+posting.criteria=Die <b>Moderationskriterien</b> kannst Du <a href="http://de.indymedia.org/static/moderation.html" target="_blank"><b>hier nachlesen</b></a>
+posting.submit=Enviar (la paciencia es una virtud!!)
+posting.reset=Limpiar formulario
+
+postingdone.htmltitle=Mir | open posting
+postingdone.title=Hurra, Du hast Deinen Artikel abgeschickt!
+postingdone.info=Dein Artikel landet in einigen Minuten auf der <a href="http://de.indymedia.org/html">"Open Posting"</a> - Seite. Das ist nicht die Startseite. Die Moderationskriterien kannst Du <a href="http://de.indymedia.org/static/moderation.html">hier lesen</a>
+postingdone.stay_calm=Gedulde Dich einen Moment! Es lohnt sich!
+postingdone.back=Zur&uuml;ck
+
+postingdupe.htmltitle=Mir | envío abierto - envio duplicado
+postingdupe.title=Mantenga la calma, su envio será procesado en breves instantes.
+postingdupe.explanation=       Posiblemente haya pulsado el botón de recarga de su navegador, o enviado su articulo por segunda vez Si está leyendo este texto, significa que su envío ha sido recibido con éxito y que será incluido en la pagina de artículos en breves instantes.<br>Como detalle técnico, este imc está conectado a un servidor proxy que no es actualizado cada minuto.
+postingdupe.no_panic=No pierda los estribos!
+postingdupe.back=Atrás
\ No newline at end of file
diff --git a/etc/bundles/open_qu.properties b/etc/bundles/open_qu.properties
new file mode 100755 (executable)
index 0000000..297bf14
--- /dev/null
@@ -0,0 +1,83 @@
+########## open posting ##########
+# language: quechua
+
+optional=opcional
+required=requerido
+
+comment.htmltitle=confirmar comentario
+comment.header=Añadiendo un comentario al artículo
+comment.password=Password
+comment.note=
+comment.formtitle=Formulario-del-comentario
+comment.title=Título del comentario
+comment.name=su nombre
+comment.email=su email
+comment.url=su dirección web
+comment.phone=su número de teléfono
+comment.address=su dirección
+comment.language=idioma de su comentario
+comment.text=su comentario
+comment.submit=envíar comentario
+comment.reset=limpiar formulario
+
+commentdone.htmltitle=envío abierto
+commentdone.thanks=Su comentario está de camino!
+commentdone.wait=In wenigen Minuten ist Deine Ergänzung unter dem ergänzten Artikel.<br>Manchmal kann es aber aufgrund technischer Probleme etwas dauern bis sie erscheint.<br>
+commentdone.criteria=Die Moderationskriterien von indymedia kannst Du <a href="http://de.indymedia.org/static/moderation.html" target="_blank">hier</a> nachlesen.
+commentdone.stay_calm=Gedulde Dich einen Moment - Es lohnt sich!
+commentdone.back=Zur&uuml;ck zum kommentierten Artikel
+
+commentdupe.htmltitle=envío abierto - comentario duplicado
+commentdupe.title=Mantenga la calma unos breves instantes.
+commentdupe.explanation=Probablemente haya apretado el botón de recarga o enviado el comentario en una segunda ocasión. Si puede leer esto, significa que su comentario ha sido recibido con éxito y será incluido en la página de artículos en breves instantes.
+commentdupe.no_panic=No se altere!
+commentdupe.back=Volver al artículo comentado
+
+posting.htmltitle=envío abierto
+posting.password=Password
+posting.meta.description=Centro de Periodismo Independiente
+posting.meta.author=Colectivo IMC
+posting.meta.keywords=Periodismo Libre
+posting.jump_to_form=Ir directamente al formulario.
+posting.title=Publique su artículo
+posting.nr_of_media=Número de recursos mediáticos
+posting.nr_of_media.info=(wenn Du mehr als eine Datei hochladen willst, bitte hier die Anzahl eintragen und den Knopf drücken, <b>bevor</b> Du weitere Felder ausfüllst.)
+posting.nr_of_media.submit=Anzahl festlegen
+posting.form.title=Formulario de publicación
+posting.title=<b>Título</b> de su artículo
+posting.title.info=(Bitte wähle einen möglichst klaren, aussagekräftigen Titel.)
+posting.topic=<b>Thema</b> Deines Beitrags
+posting.topic.info=(Mehrfachwahl ist möglich. Bitte dazu die [Strg]- bzw [Ctrl]-Taste benutzen)
+posting.author=<b>autor</b> de este artículo
+posting.abstract=Descripción <b>breve</b> de su artículo
+posting.abstract.info=(Sie soll den LeserInnen schnell vermitteln, worum es in Deinem Beitrag geht. Falls Du den ersten Absatz Deines Artikels dazu wählst, achte bitte darauf ihn im Haupttextfeld weiter unten nicht nochmal einzusetzen.)
+posting.abstract.constraint=(que no exceda de <b>5 líneas</b>)
+posting.contact.info=La información de contacto es opcional pero ayuda a que otras personas puedan ponerse en contacto con usted.
+posting.email=su dirección de email
+posting.url=su dirección web
+posting.address=su dirección personal
+posting.phone=su número de teléfono
+posting.language=idioma de su artículo
+posting.text=su <b>artículo</b>
+posting.text.info=ponga aquí el texto de su artículo
+posting.media=recursos mediáticos
+posting.media.info=cargue sus ficheros de medios (de momento tan solo se aceptan jpg|gif|mp3|avi|qt|mpeg)
+posting.media.howto=(Dazu wählst Du mit "Durchsuchen.." die entsprechende Datei auf Deiner Festplatte aus.
+posting.media.media=Media
+posting.media.title=subtítulo de los recursos mediáticos
+posting.submit.info=Bitte drücke den Verschicken-Knopf<b> nur einmal</b>!<br> In wenigen Minuten erscheind Dein Beitrag dann auf der <a href="http://de.indymedia.org/html" target="_blank"> <b>"Open Posting"</b></a> - Seite. &nbsp; Das ist nicht die Startseite.<br> Manchmal kann es aber aufgrund technischer Probleme etwas dauern bis er erscheint.
+posting.criteria=Die <b>Moderationskriterien</b> kannst Du <a href="http://de.indymedia.org/static/moderation.html" target="_blank"><b>hier nachlesen</b></a>
+posting.submit=Enviar (la paciencia es una virtud!!)
+posting.reset=Limpiar formulario
+
+postingdone.htmltitle=open posting
+postingdone.title=Hurra, Du hast Deinen Artikel abgeschickt!
+postingdone.info=Dein Artikel landet in einigen Minuten auf der <a href="http://de.indymedia.org/html">"Open Posting"</a> - Seite. Das ist nicht die Startseite. Die Moderationskriterien kannst Du <a href="http://de.indymedia.org/static/moderation.html">hier lesen</a>
+postingdone.stay_calm=Gedulde Dich einen Moment! Es lohnt sich!
+postingdone.back=Zur&uuml;ck
+
+postingdupe.htmltitle=envío abierto - envio duplicado
+postingdupe.title=Mantenga la calma, su envio será procesado en breves instantes.
+postingdupe.explanation=       Posiblemente haya pulsado el botón de recarga de su navegador, o enviado su articulo por segunda vez Si está leyendo este texto, significa que su envío ha sido recibido con éxito y que será incluido en la pagina de artículos en breves instantes.<br>Como detalle técnico, este imc está conectado a un servidor proxy que no es actualizado cada minuto.
+postingdupe.no_panic=No pierda los estribos!
+postingdupe.back=Atrás
\ No newline at end of file
diff --git a/etc/bundles/producer_ay.properties b/etc/bundles/producer_ay.properties
new file mode 100755 (executable)
index 0000000..a83c91d
--- /dev/null
@@ -0,0 +1,12 @@
+########## producer ##########
+# language: aymara
+
+content.htmltitle=mir.indymedia:
+content.email=email
+content.homepage=Homepage
+content.comment=Haga un comentario sobre este artículo
+copyright= Copyright © 2002 Indymedia Bolivia - Qollasuyu - Ivi Iyambae<br> Esta publicaci\97n es <a href="http://www.gnu.org/copyleft/copyleft.es.html">copyleft</a>. Por tanto, se permite difundir, citar y copiar literalmente sus materiales, de forma \92ntegra o parcial, por cualquier medio y para cualquier prop\97sito, siempre que se mantenga esta nota y se cite procedencia. Indymedia Euskal Herria no asume ninguna responsabilidad por el material publicado en este sitio, salvo sobre lo que aparece en la columna central. Toda la responsabilidad para verificar la veracidad y los derechos de reproducci\97n de un env\92o corresponden al autor que lo publica. Al publicar material en este sitio, el o la autora del env\92o asume que puede ser redistribuido libremente.
+contact=Contacto
+openposting.htmltitle=mir.indymedia:
+startpage.htmltitle=mir.indymedia: the mir-coders-website
+topiclist.htmltitle=mir.indymedia:
\ No newline at end of file
diff --git a/etc/bundles/producer_de.properties b/etc/bundles/producer_de.properties
new file mode 100755 (executable)
index 0000000..683a783
--- /dev/null
@@ -0,0 +1,19 @@
+########## producer ##########
+# language: deutsch (german)
+
+general.readarticle = den ganzen Artikel lesen\r
+
+article.htmltitle.prefix = Mir |
+article.email.prefix = Adresse:
+article.homepage.prefix = Homepage:
+article.addcomment = Ergänzung zufügen
+
+startpage.htmltitle = Mir
+
+navigation.languages = Langen
+navigation.topics = Themen
+navigation.publish = publizieren
+navigation.publish.long = veröffentliche deinen beitrag
+
+topicnavigation.page.prefix = pagina
+topicnavigation.page.infix = von
\ No newline at end of file
diff --git a/etc/bundles/producer_en.properties b/etc/bundles/producer_en.properties
new file mode 100755 (executable)
index 0000000..d623bd6
--- /dev/null
@@ -0,0 +1,19 @@
+########## producer ##########
+# language: english
+
+general.readarticle = Read more
+
+article.htmltitle.prefix = Mir |
+article.email.prefix = e-mail:
+article.homepage.prefix = Homepage:
+article.addcomment = Make a quick comment on this article
+
+startpage.htmltitle = Mir
+
+navigation.languages = Languages:
+navigation.topics = Topics:
+navigation.publish = Publish
+navigation.publish.long = Publish your article
+
+topicnavigation.page.prefix = page
+topicnavigation.page.infix = of
\ No newline at end of file
diff --git a/etc/bundles/producer_es.properties b/etc/bundles/producer_es.properties
new file mode 100755 (executable)
index 0000000..a51ae99
--- /dev/null
@@ -0,0 +1,24 @@
+########## producer ##########
+# language: espanol / spanish
+
+general.dateformat = dd/MM/yyyy hh:mm
+general.city.Amsterdam.title = emsterdem
+general.city.London.title = Londres
+general.city.Berlin.title = Berlin
+general.topic.Repression.title = repressiun
+general.topic.Feminism.title = feminisme
+general.read.text = Read
+
+article.title.prefix = bolivia.indymedia.org |
+article.email.prefix = e-mail:
+article.homepage.prefix = Homepage:
+article.makecomment.text = Make a quick comment on this article
+
+startpage.title = bolivia.indymedia.org | IMC Bolivia
+
+navigation.languages.caption = Linguas:
+navigation.cities.caption = Ciudades:
+navigation.topics.caption = Temas:
+navigation.publish.text = Publicar
+
+topicnavigation.page.prefix = pagina
\ No newline at end of file
diff --git a/etc/bundles/producer_gn.properties b/etc/bundles/producer_gn.properties
new file mode 100755 (executable)
index 0000000..47db23d
--- /dev/null
@@ -0,0 +1,12 @@
+########## producer ##########
+# language: guarani
+
+content.htmltitle=mir.indymedia:
+content.email=email
+content.homepage=Homepage
+content.comment=Haga un comentario sobre este artículo
+copyright= Copyright © 2002 Indymedia Bolivia - Qollasuyu - Ivi Iyambae<br> Esta publicaci\97n es <a href="http://www.gnu.org/copyleft/copyleft.es.html">copyleft</a>. Por tanto, se permite difundir, citar y copiar literalmente sus materiales, de forma \92ntegra o parcial, por cualquier medio y para cualquier prop\97sito, siempre que se mantenga esta nota y se cite procedencia. Indymedia Euskal Herria no asume ninguna responsabilidad por el material publicado en este sitio, salvo sobre lo que aparece en la columna central. Toda la responsabilidad para verificar la veracidad y los derechos de reproducci\97n de un env\92o corresponden al autor que lo publica. Al publicar material en este sitio, el o la autora del env\92o asume que puede ser redistribuido libremente.
+contact=Contacto
+openposting.htmltitle=mir.indymedia:
+startpage.htmltitle=mir.indymedia: the mir-coders-website
+topiclist.htmltitle=mir.indymedia:
\ No newline at end of file
diff --git a/etc/bundles/producer_nl.properties b/etc/bundles/producer_nl.properties
new file mode 100755 (executable)
index 0000000..0c2da57
--- /dev/null
@@ -0,0 +1,22 @@
+########## producer ##########
+# language: english
+
+general.readarticle = Lees verder
+
+article.htmltitle.prefix = Mir |
+article.email.prefix = e-mail:
+article.homepage.prefix = Homepage:
+article.addcomment = Vul aan
+
+startpage.htmltitle = Mir
+
+navigation.languages = Talen:
+navigation.topics = Onderwerpen:
+navigation.publish = Publiceer
+navigation.publish.long = Publiceer je bijdrage
+
+topicnavigation.page.prefix = pagina
+topicnavigation.page.infix = van
+
+
+
diff --git a/etc/bundles/producer_qu.properties b/etc/bundles/producer_qu.properties
new file mode 100755 (executable)
index 0000000..f9ecdc5
--- /dev/null
@@ -0,0 +1,12 @@
+########## producer ##########
+# language: quechua
+
+content.htmltitle=mir.indymedia:
+content.email=email
+content.homepage=Homepage
+content.comment=Haga un comentario sobre este artículo
+copyright= Copyright © 2002 Indymedia Bolivia - Qollasuyu - Ivi Iyambae<br> Esta publicaci\97n es <a href="http://www.gnu.org/copyleft/copyleft.es.html">copyleft</a>. Por tanto, se permite difundir, citar y copiar literalmente sus materiales, de forma \92ntegra o parcial, por cualquier medio y para cualquier prop\97sito, siempre que se mantenga esta nota y se cite procedencia. Indymedia Euskal Herria no asume ninguna responsabilidad por el material publicado en este sitio, salvo sobre lo que aparece en la columna central. Toda la responsabilidad para verificar la veracidad y los derechos de reproducci\97n de un env\92o corresponden al autor que lo publica. Al publicar material en este sitio, el o la autora del env\92o asume que puede ser redistribuido libremente.
+contact=Contacto
+openposting.htmltitle=mir.indymedia:
+startpage.htmltitle=mir.indymedia: the mir-coders-website
+topiclist.htmltitle=mir.indymedia:
\ No newline at end of file
diff --git a/etc/config.properties b/etc/config.properties
new file mode 100755 (executable)
index 0000000..882b73f
--- /dev/null
@@ -0,0 +1,404 @@
+#
+# Sample config for Mir
+# by Matthias <mjordan@code-fu.de> 2001-09-12
+#
+# The Mir software realizes a semi-dynamic web service:
+# The web server that is accessed by users has pure static
+# pages. These pages are generated by the Mir software that
+# consists of a collection of Java servlets and HTML templates.
+# Mir uses a database server to store the data that is needed to
+# build the static site.
+# So there are basically three parts in this config file:
+#
+# a) general setup
+# b) static site config
+# c) dynamic admin site
+# d) database config
+#
+# edit this to suit your needs (here with sampleuser idfx)
+# After you edited this file, build.sh has to be invoked.
+# To be sure, also restart Tomcat.
+#
+# Note that for Mir to work, Tomcat has to be set up to handle all
+# URLs that begin with /servlet. All other URLs are handled by Apache.
+#
+# The setup uses the following assumptions:
+# The URL to reach the site is http://indy.code-fu.de
+# The DocumentRoot of this URL is /pub/Dokumente/Indymedia/de-tech/Mir
+# All data is located below this directory, including the servlets.
+
+
+#
+#
+# GENERAL SETUP
+#
+
+### mir/imc information
+Mir.Name=mir.indymedia.org
+Mir.Shortname=mir
+Mir.Contact-email.address=mir-coders@lists.indymedia.org
+Mir.Contact-email.name=mir-coders mailinglist
+Mir.Tech-email.address=mir-coders@lists.indymedia.org
+Mir.Tech-email.name=mir-coders mailinglist
+Mir.Public-email.address=mir-coders@lists.indymedia.org
+Mir.Public-email.name=mir-coders mailinglist
+
+Mir.Version=1.1beta
+StandardLanguage=de
+DirectOpenposting=yes
+
+Mir.Localizer=mircoders.localizer.basic.MirBasicLocalizer
+Mir.Localizer.Logfile=log/localizer.log
+Mir.Localizer.ProducerConfigFile=etc/producers.xml
+
+
+
+#note that you can't make pdf's without making fo's
+GenerateFO=yes
+GeneratePDF=yes
+
+#on-time-password-protection
+PasswdProtection=no
+
+#use rsync to mirror the website to a remote-host
+Rsync=no
+Rsync.Script.Path=/var/www/bin/rsync-copy
+
+# the maximum allowed size of an uploaded media file in KB.
+MaxMediaUploadSize=20000
+
+# the maximum number of allowed media items to upload at once.
+ServletModule.OpenIndy.MaxMediaUploadItems=20
+
+#
+#
+# STATIC SITE CONFIG
+#
+
+# the url of the static site
+Producer.ProductionHost=http://localhost
+
+# Produrce.StorageRoot is the directory, in which
+# the generated HTML pages will be stored
+Producer.StorageRoot=/data/code/mir/Mir/produced
+
+# for FileEdit module
+#
+# where do we find the files? absolute path
+ServletModule.FileEdit.FileDirectory=/data/code/mir/Mir/produced_noono
+ServletModule.FileEdit.ExtFilter=inc
+
+#
+#
+# DYNAMIC SITE CONFIG
+#
+
+# the url of the openposting-servlet
+Producer.OpenAction=http://localhost:8180/mir/servlet/OpenMir
+
+# use this property if the pages are not produced under the docRoot
+# of the webserver. all links in the produced pages are prepended
+# with Producer.DocRoot
+Producer.DocRoot=
+
+Producer.ActionServlet=/servlet/Mir
+
+# this is the name of the subdirectory where the image-dir
+# will be linked to.
+Producer.ImageRoot=/img
+
+
+# the url of the video-server
+Producer.Video.Host=http://indy.code-fu.de/video
+
+# the url of the audio-server
+Producer.Audio.Host=http://indy.code-fu.de/audio
+
+# the url of the image-server
+Producer.Image.Host=http://indy.code-fu.de/images
+
+# the url of the media-server
+Producer.Media.Host=http://indy.code-fu.de/media
+
+# the url of the real-media-server
+Producer.RealMedia.Host=rtsp://some.media.server/somedir/
+
+
+# image specific storage directories
+# absolute directory, where the images are saved
+Producer.Image.Path=/data/code/mir/Mir/produced/images/
+
+# media specific storage directories
+# absolute directory, where the media files are saved
+Producer.Media.Path=/data/code/mir/Mir/produced/media
+
+# absolute directory, where the realmedia data files(ra and rm) are saved
+# the ram files which point to the RealMedia.Host get saved in the regular Media dir
+# this should make rsyncing to a separate streaming server much easier
+Producer.RealMedia.Path=/pub/Dokumente/rtsp
+
+# relativ directory, where the thumbnails will be saved
+Producer.Image.IconPath=/icon
+
+# Tiny Icons for the media types on the newswire summary.
+# (right hand side of start page)
+Producer.Icon.TinyImage=photo_small.gif
+Producer.Icon.TinyAudio=audio_small.gif
+Producer.Icon.TinyVideo=video_small.gif
+Producer.Icon.TinyText=text_small.gif
+
+#Medium sized icons used at various places
+Producer.Icon.BigImage=photo_big.gif
+Producer.Icon.BigAudio=audio_big.gif
+Producer.Icon.BigVideo=video_big.gif
+Producer.Icon.BigText=text_big.gif
+
+
+
+#
+# edit with caution below this line
+######################################################################
+
+#
+#
+# DATABASE SETUP
+#
+
+#
+# specify your database
+
+Database.poolMin=1
+Database.poolMax=10
+Database.poolResetTime=1.0
+Database.PoolLog=log/pool.log
+Database.Limit=20
+Database.Username=postgres
+Database.Password=
+Database.Host=localhost
+Database.Name=Mir
+
+#
+# this sets the adaptor to be used
+
+Database.Adaptor=mir.storage.DatabaseAdaptorPostgresql
+Database.Logfile=log/dbentity.log
+
+#
+# configuration for adaptor mysql
+# In this example, "Mir" is the dbname
+
+Adaptor.MySQL.URL=jdbc:mysql://localhost:3306/Mir
+Adaptor.MySQL.Driver=org.gjt.mm.mysql.Driver
+
+#
+# configuration for adaptor postgres
+# In this example, "Mir" is the dbname
+
+Adaptor.PostgreSQL.URL=jdbc:postgresql://localhost:5432/Mir
+Adaptor.PostgreSQL.Driver=org.postgresql.Driver
+
+#
+# should be explained .)
+#
+
+# how many articles should be shown on a list-page
+Lists.Max.Items=10
+
+HTMLTemplateProcessor.Logfile=log/htmlprocess.log
+HTMLTemplateProcessor.Dir=
+
+ServletModule.Producer.Logfile=log/producer.log
+Entity.Logfile=log/dbentity.log
+
+#
+# Servlet / Module configurations
+#
+
+# don't change this unless you really know your i18n.
+# The default encoding charset used in the written html files as well
+# as the dynamic output html.
+# also used for the HTML charset meta tag.
+Mir.DefaultEncoding=ISO8859_1
+Mir.Logfile=log/mir.log
+Mir.ErrorTemplate=error.template
+Mir.UserErrorTemplate=usererror.template
+Mir.LoginTemplate=templates/admin/login.template
+
+ServletModule.Schwerpunkt.ConfirmTemplate=templates/admin/confirm.template
+ServletModule.Schwerpunkt.ObjektTemplate=templates/admin/feature.template
+ServletModule.Schwerpunkt.ListTemplate=templates/admin/featurelist.template
+ServletModule.Schwerpunkt.Logfile=log/mir.log
+Module.Schwerpunkt.Logfile=log/mir.log
+
+ServletModule.Feature.ConfirmTemplate=templates/admin/confirm.template
+ServletModule.Feature.ObjektTemplate=templates/admin/schwerpunkt.template
+ServletModule.Feature.ListTemplate=templates/admin/schwerpunktlist.template
+ServletModule.Feature.Logfile=log/mir.log
+Module.Feature.Logfile=log/mir.log
+
+ServletModule.Themen.ConfirmTemplate=templates/admin/confirm.template
+ServletModule.Themen.ObjektTemplate=templates/admin/topic.template
+ServletModule.Themen.ListTemplate=templates/admin/topiclist.template
+ServletModule.Themen.Logfile=log/mir.log
+Module.Themen.Logfile=log/mir.log
+
+ServletModule.LinksImcs.ConfirmTemplate=templates/admin/confirm.template
+ServletModule.LinksImcs.ObjektTemplate=templates/admin/linksimcs.template
+ServletModule.LinksImcs.ListTemplate=templates/admin/linksimcslist.template
+ServletModule.LinksImcs.Logfile=log/mir.log
+Module.LinksImcs.Logfile=log/mir.log
+
+ServletModule.Users.ConfirmTemplate=templates/admin/confirm.template
+ServletModule.Users.ObjektTemplate=templates/admin/user.template
+ServletModule.Users.ListTemplate=templates/admin/userlist.template
+ServletModule.Users.Logfile=log/mir.log
+Module.Users.Logfile=log/mir.log
+
+ServletModule.Images.ConfirmTemplate=templates/admin/confirm.template
+ServletModule.Images.ObjektTemplate=templates/admin/image.template
+ServletModule.Images.ListTemplate=templates/admin/imagelist.template
+ServletModule.Images.Logfile=log/mir.log
+Module.Images.Logfile=log/mir.log
+
+Module.UploadedMedia.Logfile=log/mir.log
+
+ServletModule.Audio.ConfirmTemplate=templates/admin/confirm.template
+ServletModule.Audio.ObjektTemplate=templates/admin/audio.template
+ServletModule.Audio.ListTemplate=templates/admin/audiolist.template
+ServletModule.Audio.Logfile=log/mir.log
+
+ServletModule.Video.ConfirmTemplate=templates/admin/confirm.template
+ServletModule.Video.ObjektTemplate=templates/admin/video.template
+ServletModule.Video.ListTemplate=templates/admin/videolist.template
+ServletModule.Video.Logfile=log/mir.log
+
+ServletModule.OtherMedia.ConfirmTemplate=templates/admin/confirm.template
+ServletModule.OtherMedia.ObjektTemplate=templates/admin/media.template
+ServletModule.OtherMedia.ListTemplate=templates/admin/medialist.template
+ServletModule.OtherMedia.Logfile=log/mir.log
+
+ServletModule.Content.ConfirmTemplate=templates/admin/confirm.template
+ServletModule.Content.ObjektTemplate=templates/admin/content.template
+ServletModule.Content.ListTemplate=templates/admin/contentlist.template
+ServletModule.Content.Logfile=log/mir.log
+Module.Content.Logfile=log/mir.log
+
+ServletModule.Mediafolder.ConfirmTemplate=templates/admin/confirm.template
+ServletModule.Mediafolder.ObjektTemplate=templates/admin/mediafolder.template
+ServletModule.Mediafolder.ListTemplate=templates/admin/mediafolderlist.template
+ServletModule.Mediafolder.Logfile=log/mir.log
+Module.Mediafolder.Logfile=log/mir.log
+
+#
+# config used for OpenIndy
+ServletModule.OpenIndy.CommentTemplate=etc/open/comment.template
+ServletModule.OpenIndy.CommentDoneTemplate=etc/open/comment_done.template
+ServletModule.OpenIndy.CommentDupeTemplate=etc/open/comment_dupe.template
+ServletModule.OpenIndy.PostingTemplate=etc/open/posting.template
+ServletModule.OpenIndy.PostingDoneTemplate=etc/open/posting_done.template
+ServletModule.OpenIndy.PostingDupeTemplate=etc/open/posting_dupe.template
+ServletModule.OpenIndy.Logfile=log/openindy.log
+
+#
+# config for ServletModuleComment - browsing/editing/deleting comments
+Module.Comment.Logfile=log/comment.log
+ServletModule.Comment.Logfile=log/comment.log
+ServletModule.Comment.ConfirmTemplate=templates/admin/confirm.template
+ServletModule.Comment.ObjektTemplate=templates/admin/comment.template
+ServletModule.Comment.ListTemplate=templates/admin/commentlist.template
+
+#
+# config for ServletModuleHidden - lists all hidden articles of one month
+ServletModule.Hidden.Logfile=log/hidden.log
+ServletModule.Hidden.ListTemplate=templates/admin/hiddenlist.template
+
+
+#
+# config for Breaking - browsing/editing/deleting breaking news
+Module.Breaking.Logfile=log/breaking.log
+ServletModule.Breaking.Logfile=log/comment.log
+ServletModule.Breaking.ConfirmTemplate=templates/admin/confirm.template
+ServletModule.Breaking.ObjektTemplate=templates/admin/breaking.template
+ServletModule.Breaking.ListTemplate=templates/admin/breakinglist.template
+
+#
+# config for Breaking - editing text files
+ServletModule.FileEdit.Logfile=log/fileedit.log
+ServletModule.FileEdit.ConfirmTemplate=templates/admin/confirm.template
+ServletModule.FileEdit.ObjektTemplate=templates/admin/fileedit.template
+ServletModule.FileEdit.ListTemplate=templates/admin/fileeditlist.template
+
+
+
+#
+# config for messages - browsing/editing/deleting internal messages
+Module.Messages.Logfile=log/message.log
+ServletModule.Messages.Logfile=log/comment.log
+ServletModule.Messages.ConfirmTemplate=templates/admin/confirm.template
+ServletModule.Messages.ObjektTemplate=templates/admin/message.template
+ServletModule.Messages.ListTemplate=templates/admin/messagelist.template
+
+#
+# config for languages - browsing/editing/deleting languages
+Module.Language.Logfile=log/message.log
+ServletModule.Language.Logfile=log/mir.log
+ServletModule.Language.ConfirmTemplate=templates/admin/confirm.template
+ServletModule.Language.ObjektTemplate=templates/admin/language.template
+ServletModule.Language.ListTemplate=templates/admin/languagelist.template
+
+
+#
+# producer-related configs below
+#
+
+Producer.ExtLinkName=extlink.gif
+Producer.IntLinkName=intlink.gif
+Producer.MailLinkName=maillink.gif
+Producer.Logfile=log/producer.log
+
+Producer.Navigation.Template=etc/producer/navigation.template
+
+Producer.Content.Template=etc/producer/content.template
+Producer.Content.Batchsize=10
+
+Producer.PrintableContent.Template=etc/producer/printablecontent.template
+Producer.PrintableContent.html2foStyleSheetName=etc/producer/html2fo.xsl
+
+Producer.Startseite.Template=etc/producer/startseite.template
+Producer.Startseite.Entries=7
+Producer.Startseite.Pages=10
+Producer.Startseite.Termine=5
+
+Producer.Themen.Template=etc/producer/themen.template
+Producer.Themen.Entries=7
+Producer.Themen.Pages=3
+
+Producer.Schwerpunkte.Template=etc/producer/schwerpunkte.template
+Producer.Schwerpunkte.Entries=7
+Producer.Schwerpunkte.Pages=3
+
+Producer.Overview.MonthTemplate=etc/producer/ov_month.template
+Producer.Overview.YearTemplate=etc/producer/ov_year.template
+
+Producer.List.Template=etc/producer/list.template
+Producer.TopicList.Template=etc/producer/topiclist.template
+Producer.OpenPosting.Template=etc/producer/openposting.template
+Producer.FeatureList.Template=etc/producer/featurelist.template
+
+Producer.StartPage.Template=etc/producer/startpage.template
+Producer.FeaturesRSS.Template=etc/producer/featuresRSS.template
+Producer.StartPage.Items=10
+Producer.StartPage.Newswire=30
+
+
+# todo: do we need those?
+
+Xsl.Content=producer/content.xsl
+Xsl.Fo.Content=producer/frontpage_fo.xsl
+Xsl.StartPage=producer/index.xsl
+Xsl.TopicList=producer/topic.xsl
+Xsl.OpenList=producer/open.xsl
+Xsl.Wap=producer/wml2.xsl
+ClearXslCache=no
+
+Log.LogClass=mir.log.log4j.LoggerImpl
\ No newline at end of file
diff --git a/etc/config.properties-dist b/etc/config.properties-dist
new file mode 100755 (executable)
index 0000000..1041abc
--- /dev/null
@@ -0,0 +1,372 @@
+#
+# Sample config for Mir
+# by Matthias <mjordan@code-fu.de> 2001-09-12
+#
+# The Mir software realizes a semi-dynamic web service:
+# The web server that is accessed by users has pure static
+# pages. These pages are generated by the Mir software that
+# consists of a collection of Java servlets and HTML templates.
+# Mir uses a database server to store the data that is needed to
+# build the static site.
+# So there are basically three parts in this config file:
+#
+# a) general setup
+# b) static site config
+# c) dynamic admin site
+# d) database config
+#
+# edit this to suit your needs (here with sampleuser idfx)
+# After you edited this file, build.sh has to be invoked.
+# To be sure, also restart Tomcat.
+#
+# Note that for Mir to work, Tomcat has to be set up to handle all
+# URLs that begin with /servlet. All other URLs are handled by Apache.
+#
+# The setup uses the following assumptions:
+# The URL to reach the site is http://indy.code-fu.de
+# The DocumentRoot of this URL is /pub/Dokumente/Indymedia/de-tech/Mir
+# All data is located below this directory, including the servlets.
+
+
+#
+#
+# GENERAL SETUP
+#
+
+### mir/imc information
+Mir.Name=mir.indymedia.org
+Mir.Shortname=mir
+Mir.Contact-email.address=mir-coders@lists.indymedia.org
+Mir.Contact-email.name=mir-coders mailinglist
+Mir.Tech-email.address=mir-coders@lists.indymedia.org
+Mir.Tech-email.name=mir-coders mailinglist
+Mir.Public-email.address=mir-coders@lists.indymedia.org
+Mir.Public-email.name=mir-coders mailinglist
+
+Mir.Version=1.1beta
+StandardLanguage=de
+DirectOpenposting=yes
+
+Mir.Localizer=mircoders.localizer.basic.MirBasicLocalizer
+Mir.Localizer.Logfile=log/localizer.log
+
+# The location of the producer specifiations
+Mir.Localizer.ProducerConfigFile=etc/producers.xml
+
+# the templates
+Mir.Localizer.Producer.GeneratorLibrary= default=freemarker(etc/producer/)
+Mir.Localizer.Admin.GeneratorLibrary= default=freemarker(templates/admin/)
+Mir.Localizer.OpenPosting.GeneratorLibrary= default=freemarker(etc/open/)
+
+# Which producers need to be called after an article (resp. a comment) is posted
+Mir.Localizer.OpenPosting.ContentProducers= media.new;content.new;startpage.new;synchronization.run
+Mir.Localizer.OpenPosting.CommentProducers= content.new;synchronization.run
+
+#note that you can't make pdf's without making fo's
+GenerateFO=yes
+GeneratePDF=yes
+
+#on-time-password-protection
+PasswdProtection=no
+
+#use rsync to mirror the website to a remote-host
+Rsync=no
+Rsync.Script.Path=/var/www/bin/rsync-copy
+
+# the maximum allowed size of an uploaded media file in KB.
+MaxMediaUploadSize=20000
+
+# the maximum number of allowed media items to upload at once.
+ServletModule.OpenIndy.MaxMediaUploadItems=20
+
+#
+#
+# STATIC SITE CONFIG
+#
+
+# the url of the static site
+Producer.ProductionHost=http://indy.code-fu.de
+
+# Produrce.StorageRoot is the directory, in which
+# the generated HTML pages will be stored
+Producer.StorageRoot=/pub/Dokumente/Indymedia/de-tech/Mir/produced
+
+# for FileEdit module
+#
+# where do we find the files? absolute path
+ServletModule.FileEdit.FileDirectory=/pub/Dokumente/Indymedia/de-tech/Mir/produced
+ServletModule.FileEdit.ExtFilter=inc
+
+#
+#
+# DYNAMIC SITE CONFIG
+#
+
+# the url of the openposting-servlet
+Producer.OpenAction=http://indy.code-fu.de/Mir/servlet/OpenMir
+
+# use this property if the pages are not produced under the docRoot
+# of the webserver. all links in the produced pages are prepended
+# with Producer.DocRoot
+Producer.DocRoot=
+
+Producer.ActionServlet=/servlet/Mir
+
+# this is the name of the subdirectory where the image-dir
+# will be linked to.
+Producer.ImageRoot=/img
+
+
+# the url of the video-server
+Producer.Video.Host=http://indy.code-fu.de/video
+
+# the url of the audio-server
+Producer.Audio.Host=http://indy.code-fu.de/audio
+
+# the url of the image-server
+Producer.Image.Host=http://indy.code-fu.de/images
+
+# the url of the media-server
+Producer.Media.Host=http://indy.code-fu.de/media
+
+# the url of the real-media-server
+Producer.RealMedia.Host=rtsp://some.media.server/somedir/
+
+
+# image specific storage directories
+# absolute directory, where the images are saved
+Producer.Image.Path=/pub/Dokumente/Indymedia/de-tech/Mir/produced/images/
+
+# media specific storage directories
+# absolute directory, where the media files are saved
+Producer.Media.Path=/pub/Dokumente/Indymedia/de-tech/Mir/produced/media
+
+# absolute directory, where the realmedia data files(ra and rm) are saved
+# the ram files which point to the RealMedia.Host get saved in the regular Media dir
+# this should make rsyncing to a separate streaming server much easier
+Producer.RealMedia.Path=/pub/Dokumente/rtsp
+
+# relativ directory, where the thumbnails will be saved
+Producer.Image.IconPath=/icon
+
+# Tiny Icons for the media types on the newswire summary.
+# (right hand side of start page)
+Producer.Icon.TinyImage=photo_small.gif
+Producer.Icon.TinyAudio=audio_small.gif
+Producer.Icon.TinyVideo=video_small.gif
+Producer.Icon.TinyText=text_small.gif
+
+#Medium sized icons used at various places
+Producer.Icon.BigImage=photo_big.gif
+Producer.Icon.BigAudio=audio_big.gif
+Producer.Icon.BigVideo=video_big.gif
+Producer.Icon.BigText=text_big.gif
+
+
+
+#
+# edit with caution below this line
+######################################################################
+
+#
+#
+# DATABASE SETUP
+#
+
+#
+# specify your database
+
+Database.poolMin=1
+Database.poolMax=10
+Database.poolResetTime=1.0
+Database.PoolLog=log/pool.log
+Database.Limit=20
+Database.Username=postgres
+Database.Password=
+Database.Host=localhost
+Database.Name=Mir
+
+#
+# this sets the adaptor to be used
+
+Database.Adaptor=mir.storage.DatabaseAdaptorPostgresql
+Database.Logfile=log/dbentity.log
+
+#
+# configuration for adaptor mysql
+# In this example, "Mir" is the dbname
+
+Adaptor.MySQL.URL=jdbc:mysql://localhost:3306/Mir
+Adaptor.MySQL.Driver=org.gjt.mm.mysql.Driver
+
+#
+# configuration for adaptor postgres
+# In this example, "Mir" is the dbname
+
+Adaptor.PostgreSQL.URL=jdbc:postgresql://localhost:5432/Mir
+Adaptor.PostgreSQL.Driver=org.postgresql.Driver
+
+#
+# should be explained .)
+#
+
+# how many articles should be shown on a list-page
+Lists.Max.Items=10
+
+HTMLTemplateProcessor.Logfile=log/htmlprocess.log
+HTMLTemplateProcessor.Dir=
+
+ServletModule.Producer.Logfile=log/producer.log
+Entity.Logfile=log/dbentity.log
+
+#
+# Servlet / Module configurations
+#
+
+# don't change this unless you really know your i18n.
+# The default encoding charset used in the written html files as well
+# as the dynamic output html.
+# also used for the HTML charset meta tag.
+Mir.DefaultEncoding=ISO8859_1
+Mir.Logfile=log/mir.log
+Mir.ErrorTemplate=error.template
+Mir.UserErrorTemplate=usererror.template
+Mir.LoginTemplate=templates/admin/login.template
+OpenMir.Logfile=log/openindy.log
+
+ServletModule.Schwerpunkt.ConfirmTemplate=templates/admin/confirm.template
+ServletModule.Schwerpunkt.ObjektTemplate=templates/admin/feature.template
+ServletModule.Schwerpunkt.ListTemplate=templates/admin/featurelist.template
+ServletModule.Schwerpunkt.Logfile=log/mir.log
+Module.Schwerpunkt.Logfile=log/mir.log
+
+ServletModule.Feature.ConfirmTemplate=templates/admin/confirm.template
+ServletModule.Feature.ObjektTemplate=templates/admin/schwerpunkt.template
+ServletModule.Feature.ListTemplate=templates/admin/schwerpunktlist.template
+ServletModule.Feature.Logfile=log/mir.log
+Module.Feature.Logfile=log/mir.log
+
+ServletModule.Themen.ConfirmTemplate=templates/admin/confirm.template
+ServletModule.Themen.ObjektTemplate=templates/admin/topic.template
+ServletModule.Themen.ListTemplate=templates/admin/topiclist.template
+ServletModule.Themen.Logfile=log/mir.log
+Module.Themen.Logfile=log/mir.log
+
+ServletModule.LinksImcs.ConfirmTemplate=templates/admin/confirm.template
+ServletModule.LinksImcs.ObjektTemplate=templates/admin/linksimcs.template
+ServletModule.LinksImcs.ListTemplate=templates/admin/linksimcslist.template
+ServletModule.LinksImcs.Logfile=log/mir.log
+Module.LinksImcs.Logfile=log/mir.log
+
+ServletModule.Users.ConfirmTemplate=templates/admin/confirm.template
+ServletModule.Users.ObjektTemplate=templates/admin/user.template
+ServletModule.Users.ListTemplate=templates/admin/userlist.template
+ServletModule.Users.Logfile=log/mir.log
+Module.Users.Logfile=log/mir.log
+
+ServletModule.Images.ConfirmTemplate=templates/admin/confirm.template
+ServletModule.Images.ObjektTemplate=templates/admin/image.template
+ServletModule.Images.ListTemplate=templates/admin/imagelist.template
+ServletModule.Images.Logfile=log/mir.log
+Module.Images.Logfile=log/mir.log
+
+Module.UploadedMedia.Logfile=log/mir.log
+
+ServletModule.Audio.ConfirmTemplate=templates/admin/confirm.template
+ServletModule.Audio.ObjektTemplate=templates/admin/audio.template
+ServletModule.Audio.ListTemplate=templates/admin/audiolist.template
+ServletModule.Audio.Logfile=log/mir.log
+
+ServletModule.Video.ConfirmTemplate=templates/admin/confirm.template
+ServletModule.Video.ObjektTemplate=templates/admin/video.template
+ServletModule.Video.ListTemplate=templates/admin/videolist.template
+ServletModule.Video.Logfile=log/mir.log
+
+ServletModule.OtherMedia.ConfirmTemplate=templates/admin/confirm.template
+ServletModule.OtherMedia.ObjektTemplate=templates/admin/media.template
+ServletModule.OtherMedia.ListTemplate=templates/admin/medialist.template
+ServletModule.OtherMedia.Logfile=log/mir.log
+
+ServletModule.Content.ConfirmTemplate=templates/admin/confirm.template
+ServletModule.Content.ObjektTemplate=templates/admin/content.template
+ServletModule.Content.ListTemplate=templates/admin/contentlist.template
+ServletModule.Content.Logfile=log/mir.log
+Module.Content.Logfile=log/mir.log
+
+ServletModule.Mediafolder.ConfirmTemplate=templates/admin/confirm.template
+ServletModule.Mediafolder.ObjektTemplate=templates/admin/mediafolder.template
+ServletModule.Mediafolder.ListTemplate=templates/admin/mediafolderlist.template
+ServletModule.Mediafolder.Logfile=log/mir.log
+Module.Mediafolder.Logfile=log/mir.log
+
+#
+# config used for OpenIndy
+ServletModule.OpenIndy.CommentTemplate=etc/open/comment.template
+ServletModule.OpenIndy.CommentDoneTemplate=etc/open/comment_done.template
+ServletModule.OpenIndy.CommentDupeTemplate=etc/open/comment_dupe.template
+ServletModule.OpenIndy.PostingTemplate=etc/open/posting.template
+ServletModule.OpenIndy.PostingDoneTemplate=etc/open/posting_done.template
+ServletModule.OpenIndy.PostingDupeTemplate=etc/open/posting_dupe.template
+ServletModule.OpenIndy.Logfile=log/openindy.log
+
+#
+# config for ServletModuleComment - browsing/editing/deleting comments
+Module.Comment.Logfile=log/comment.log
+ServletModule.Comment.Logfile=log/comment.log
+ServletModule.Comment.ConfirmTemplate=templates/admin/confirm.template
+ServletModule.Comment.ObjektTemplate=templates/admin/comment.template
+ServletModule.Comment.ListTemplate=templates/admin/commentlist.template
+
+#
+# config for ServletModuleHidden - lists all hidden articles of one month
+ServletModule.Hidden.Logfile=log/hidden.log
+ServletModule.Hidden.ListTemplate=templates/admin/hiddenlist.template
+
+
+#
+# config for Breaking - browsing/editing/deleting breaking news
+Module.Breaking.Logfile=log/breaking.log
+ServletModule.Breaking.Logfile=log/comment.log
+ServletModule.Breaking.ConfirmTemplate=templates/admin/confirm.template
+ServletModule.Breaking.ObjektTemplate=templates/admin/breaking.template
+ServletModule.Breaking.ListTemplate=templates/admin/breakinglist.template
+
+#
+# config for Breaking - editing text files
+ServletModule.FileEdit.Logfile=log/fileedit.log
+ServletModule.FileEdit.ConfirmTemplate=templates/admin/confirm.template
+ServletModule.FileEdit.ObjektTemplate=templates/admin/fileedit.template
+ServletModule.FileEdit.ListTemplate=templates/admin/fileeditlist.template
+
+
+
+#
+# config for messages - browsing/editing/deleting internal messages
+Module.Messages.Logfile=log/message.log
+ServletModule.Messages.Logfile=log/comment.log
+ServletModule.Messages.ConfirmTemplate=templates/admin/confirm.template
+ServletModule.Messages.ObjektTemplate=templates/admin/message.template
+ServletModule.Messages.ListTemplate=templates/admin/messagelist.template
+
+#
+# config for languages - browsing/editing/deleting languages
+Module.Language.Logfile=log/message.log
+ServletModule.Language.Logfile=log/mir.log
+ServletModule.Language.ConfirmTemplate=templates/admin/confirm.template
+ServletModule.Language.ObjektTemplate=templates/admin/language.template
+ServletModule.Language.ListTemplate=templates/admin/languagelist.template
+
+
+#
+# producer-related configs below
+#
+
+Producer.ExtLinkName=extlink.gif
+Producer.IntLinkName=intlink.gif
+Producer.MailLinkName=maillink.gif
+Producer.Logfile=log/producer.log
+
+Producer.Content.Template=etc/producer/content.template
+Producer.Content.Batchsize=10
+
+
diff --git a/etc/content-types.properties b/etc/content-types.properties
new file mode 100755 (executable)
index 0000000..e3c4407
--- /dev/null
@@ -0,0 +1,285 @@
+#sun.net.www MIME content-types table; version 1.6, 05/04/99
+#
+# Property fields:
+#
+#   <description> ::= 'description' '=' <descriptive string>
+#    <extensions> ::= 'file_extensions' '=' <comma-delimited list, include '.'>
+#         <image> ::= 'icon' '=' <filename of icon image>
+#        <action> ::= 'browser' | 'application' | 'save' | 'unknown'
+#   <application> ::= 'application' '=' <command line template>
+#
+
+#
+# The "we don't know anything about this data" type(s).
+# Used internally to mark unrecognized types.
+#
+content/unknown: description=Unknown Content
+unknown/unknown: description=Unknown Data Type
+
+#
+# The template we should use for temporary files when launching an application
+# to view a document of given type.
+#
+temp.file.template: /tmp/%s
+
+#
+# The "real" types.
+#
+application/octet-stream: \
+       description=Generic Binary Stream;\
+       file_extensions=.saveme,.dump,.hqx,.arc,.o,.a,.bin,.exe,.z,.gz
+
+application/oda: \
+       description=ODA Document;\
+       file_extensions=.oda
+
+application/pdf: \
+       description=Adobe PDF Format;\
+       file_extensions=.pdf
+
+application/postscript: \
+       description=Postscript File;\
+       file_extensions=.eps,.ai,.ps;\
+       icon=ps;\
+       action=application;\
+       application=imagetool %s
+
+application/x-dvi: \
+       description=TeX DVI File;\
+       file_extensions=.dvi;\
+       action=application;\
+       application=xdvi %s
+
+application/x-hdf: \
+       description=Hierarchical Data Format;\
+       file_extensions=.hdf;\
+       action=save
+
+application/x-latex: \
+       description=LaTeX Source;\
+       file_extensions=.latex
+
+application/x-netcdf: \
+       description=Unidata netCDF Data Format;\
+       file_extensions=.nc,.cdf;\
+       action=save
+
+application/x-tex: \
+       description=TeX Source;\
+       file_extensions=.tex
+
+application/x-texinfo: \
+       description=Gnu Texinfo;\
+       file_extensions=.texinfo,.texi
+
+application/x-troff: \
+       description=Troff Source;\
+       file_extensions=.t,.tr,.roff;\
+       action=application;\
+       application=xterm -title troff -e sh -c \"nroff %s | col | more -w\"
+
+application/x-troff-man: \
+       description=Troff Manpage Source;\
+       file_extensions=.man;\
+       action=application;\
+       application=xterm -title troff -e sh -c \"nroff -man %s | col | more -w\"
+
+application/x-troff-me: \
+       description=Troff ME Macros;\
+       file_extensions=.me;\
+       action=application;\
+       application=xterm -title troff -e sh -c \"nroff -me %s | col | more -w\"
+
+application/x-troff-ms: \
+       description=Troff MS Macros;\
+       file_extensions=.ms;\
+       action=application;\
+       application=xterm -title troff -e sh -c \"nroff -ms %s | col | more -w\"
+
+application/x-wais-source: \
+       description=Wais Source;\
+       file_extensions=.src,.wsrc
+
+application/zip: \
+       description=Zip File;\
+       file_extensions=.zip;\
+       icon=zip;\
+       action=save
+
+application/x-bcpio: \
+       description=Old Binary CPIO Archive;\
+       file_extensions=.bcpio; action=save
+
+application/x-cpio: \
+       description=Unix CPIO Archive;\
+       file_extensions=.cpio; action=save
+
+application/x-gtar: \
+       description=Gnu Tar Archive;\
+       file_extensions=.gtar;\
+       icon=tar;\
+       action=save
+
+application/x-shar: \
+       description=Shell Archive;\
+       file_extensions=.sh,.shar;\
+       action=save
+
+application/x-sv4cpio: \
+       description=SVR4 CPIO Archive;\
+       file_extensions=.sv4cpio; action=save
+
+application/x-sv4crc: \
+       description=SVR4 CPIO with CRC;\
+       file_extensions=.sv4crc; action=save
+
+application/x-tar: \
+       description=Tar Archive;\
+       file_extensions=.tar;\
+       icon=tar;\
+       action=save
+
+application/x-ustar: \
+       description=US Tar Archive;\
+       file_extensions=.ustar;\
+       action=save
+
+audio/basic: \
+       description=Basic Audio;\
+       file_extensions=.snd,.au;\
+       icon=audio;\
+       action=application;\
+       application=audiotool %s
+
+audio/x-aiff: \
+       description=Audio Interchange Format File;\
+       file_extensions=.aifc,.aif,.aiff;\
+       icon=aiff
+
+audio/x-wav: \
+       description=Wav Audio;\
+       file_extensions=.wav;\
+       icon=wav
+
+image/gif: \
+       description=GIF Image;\
+       file_extensions=.gif;\
+       icon=gif;\
+       action=browser
+
+image/ief: \
+       description=Image Exchange Format;\
+       file_extensions=.ief
+
+image/jpeg: \
+       description=JPEG Image;\
+       file_extensions=.jfif,.jfif-tbnl,.jpe,.jpg,.jpeg;\
+       icon=jpeg;\
+       action=browser;\
+       application=imagetool %s
+
+image/tiff: \
+       description=TIFF Image;\
+       file_extensions=.tif,.tiff;\
+       icon=tiff
+
+image/vnd.fpx: \
+       description=FlashPix Image;\
+       file_extensions=.fpx,.fpix
+
+image/x-cmu-rast: \
+       description=CMU Raster Image;\
+       file_extensions=.ras
+
+image/x-portable-anymap: \
+       description=PBM Anymap Format;\
+       file_extensions=.pnm
+
+image/x-portable-bitmap: \
+       description=PBM Bitmap Format;\
+       file_extensions=.pbm
+
+image/x-portable-graymap: \
+       description=PBM Graymap Format;\
+       file_extensions=.pgm
+
+image/x-portable-pixmap: \
+       description=PBM Pixmap Format;\
+       file_extensions=.ppm
+
+image/x-rgb: \
+       description=RGB Image;\
+       file_extensions=.rgb
+
+image/x-xbitmap: \
+       description=X Bitmap Image;\
+       file_extensions=.xbm,.xpm
+
+image/x-xwindowdump: \
+       description=X Window Dump Image;\
+       file_extensions=.xwd
+
+image/png: \
+       description=PNG Image;\
+       file_extensions=.png;\
+       icon=png;\
+       action=browser
+
+text/html: \
+       description=HTML Document;\
+       file_extensions=.htm,.html;\
+       icon=html
+
+text/plain: \
+       description=Plain Text;\
+       file_extensions=.text,.c,.cc,.c++,.h,.pl,.txt,.java,.el;\
+       icon=text;\
+       action=browser
+
+text/tab-separated-values: \
+       description=Tab Separated Values Text;\
+       file_extensions=.tsv
+
+text/x-setext: \
+       description=Structure Enhanced Text;\
+       file_extensions=.etx
+
+video/mpeg: \
+       description=MPEG Video Clip;\
+       file_extensions=.mpg,.mpe,.mpeg;\
+       icon=mpeg;\
+       action=application;\
+       application=mpeg_play %s
+
+video/quicktime: \
+       description=QuickTime Video Clip;\
+       file_extensions=.mov,.qt
+
+application/x-troff-msvideo: \
+       description=AVI Video;\
+       file_extensions=.avi;\
+       icon=avi
+
+video/x-sgi-movie: \
+       description=SGI Movie;\
+       file_extensions=.movie,.mv
+
+message/rfc822: \
+       description=Internet Email Message;\
+       file_extensions=.mime
+
+application/xml: \
+       description=XML document;\
+       file_extensions=.xml
+
+audio/mp3: \
+       description=MPEG Layer 3;\
+       file_extensions=.mp3;\
+       icon=mpeg;\
+       action=application;\
+       application=mpg123 %s
+
+audio/vnd.rn-realaudio: \
+       description=RealAudio File;\    
+       file_extensions=.ra
+
diff --git a/etc/log4j.properties b/etc/log4j.properties
new file mode 100755 (executable)
index 0000000..5fe42d8
--- /dev/null
@@ -0,0 +1,9 @@
+# Set root logger level to DEBUG and its only appender to A1.
+log4j.rootLogger=DEBUG, A1
+
+# A1 is set to be a ConsoleAppender.
+log4j.appender.A1=org.apache.log4j.ConsoleAppender
+
+# A1 uses PatternLayout.
+log4j.appender.A1.layout=org.apache.log4j.PatternLayout
+log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
diff --git a/etc/objectstore.properties b/etc/objectstore.properties
new file mode 100755 (executable)
index 0000000..eda3b3f
--- /dev/null
@@ -0,0 +1,5 @@
+StoreContainer.EntityDefaultSize 45
+StoreContinaer.EntityListDefaultSize 15
+StorableObjectEntity.Entity.DefaultSize 5000
+StorableObjectEntity.EntityList.DefaultSize 400
+
diff --git a/etc/open/comment.template b/etc/open/comment.template
new file mode 100755 (executable)
index 0000000..fd50e9c
--- /dev/null
@@ -0,0 +1,125 @@
+<html>
+<head><title>${lang("comment.htmltitle")}</title></head>
+<body bgcolor="white" text="black" link="#006600" vlink="#009900" alink="red">
+
+<form action="${config["Producer.OpenAction"]}" method=post>
+<input type="hidden" name="do" value="inscomment">
+
+<table width="100%" border="0" cellspacing="0" cellpadding="4" bgcolor="silver">
+       <tr>
+               <td bgcolor="#663399" colspan="3">
+                       <font color="White"><b>${lang("comment.header")}</b></font>
+               </td>
+       </tr>
+       <tr>
+               <td bgcolor="#003300" colspan="3">
+                       <p>
+                               <font color="white"">
+                                       ${lang("comment.note")}
+                                        <br>${data.passwd}
+                               </font>
+                       </p>
+
+               </td>
+       </tr>
+       <tr>
+               <td bgcolor="#663399" colspan="3">
+                       <font face="Helvetica, Arial" color="white" size=+2><b>${lang("comment.formtitle")}</b></font>
+               </td>
+       </tr>
+       <if config["PasswdProtection"]=="yes" || config["PasswdProtection"]=="1">
+       <tr>
+               <td><td>${lang("comment.password")}:</td>
+               <td><input type="text" name="passwd" size="10"></td>
+       </tr>
+       </if>
+       <tr>
+               <td>
+                       <b>${lang("comment.title")}:</b>
+               </td>
+               <td colspan="2">
+                       <input type="text" name="title" size="45" maxlength="45"> <font size="-1" color="#663399">(${lang("required")})</font>
+               </td>
+       </tr>
+       <tr>
+               <td>
+                       <b>${lang("comment.name")}:</b>
+               </td>
+               <td colspan="2">
+                       <input type="text" name="creator" size="20" maxlength="45"> <font size="-1" color="#663399">(${lang("required")})</font>
+               </td>
+       </tr>
+       <tr>
+               <td>
+                       ${lang("comment.email")}:
+               </td>
+               <td colspan="2">
+                       <input type="text" name="email" size="30" maxlength="80"> <font size="-1">(<i>${lang("optional")}</i>)</font>
+               </td>
+       </tr>
+       <tr>
+               <td>
+                       ${lang("comment.url")}:
+               </td>
+               <td colspan="2">
+                       <input type="text" name="main_url" size="40" maxlength="160" value="http://"> <font size="-1">(<i>${lang("optional")}</i>)</font>
+               </td>
+       </tr>
+       <tr>
+               <td>
+                       ${lang("comment.phone")}:
+               </td>
+               <td colspan="2">
+                       <input type="text" name="phone" size="30" maxlength="80"> <font size="-1">(<i>${lang("optional")}</i>)</font>
+               </td>
+       </tr>
+       <tr>
+               <td>
+                       ${lang("comment.address")}:
+               </td>
+               <td colspan="2">
+                       <input type="text" name="address" size="40" maxlength="160"><font size="-1"> <i>(${lang("optional")})</i></font>
+               </td>
+       </tr>
+       <tr>
+               <td>
+                       ${lang("comment.language")}:
+               </td>
+               <td colspan="2">
+                       <select name="to_language">
+                               <option value="0">de</option>
+                               <option value="1">en</option>
+                       </select>
+                       <font size="-1"><i>(${lang("optional")})</i></font>
+               </td>
+       </tr>
+       <tr>
+               <td valign="top">
+                       <b>${lang("comment.text")}:</b>
+               </td>
+               <td bgcolor="#003300" colspan="2">
+                       &nbsp;<textarea name="description" rows="20" cols="60" wrap=virtual></textarea>
+                       <br><br>
+               </td>
+       </tr>
+       <tr>
+               <td>&nbsp;
+               </td>
+               <td bgcolor="#663399" valign="top" align="center">
+                       <br>
+                       &nbsp;<input type="submit" value="${lang("comment.submit")}"><br>
+
+               </td>
+               <td bgcolor="#003300" valign="top" align="center">
+                       <br>
+                       &nbsp;<input type="reset" value="${lang("comment.reset")}"><br>
+                       <input type="hidden" name="to_media" value="${data.aid}">
+                       <br>
+               </td>
+       </tr>
+</table>
+
+</form>
+
+</body>
+</html>
diff --git a/etc/open/comment_done.template b/etc/open/comment_done.template
new file mode 100755 (executable)
index 0000000..bf9d1ed
--- /dev/null
@@ -0,0 +1,37 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+       <title>${lang("commentdone.htmltitle")}</title>
+</head>
+
+<body bgcolor="White" text="Black" link="#006600" vlink="#009900" alink="Red">
+
+<table width="100%" border="0" cellspacing="0" cellpadding="10">
+       <tr>
+               <td valign="top" align="center" bgcolor="#663399">
+                       <font color="White"><b>${lang("commentdone.thanks")}</b></font
+               </td>
+       </tr>
+       <tr>
+               <td bgcolor="#cccccc" align="center">
+
+                               <br>
+                ${lang("commentdone.wait")}
+                               <br>
+                ${lang("commentdone.criteria")}
+                               <br>
+                               <em>${lang("commentdone.stay_calm")}</em><br>
+                               <br>
+
+               </td>
+       </tr>
+       <tr>
+               <td valign="top" align="center" bgcolor="#663399">
+                       <a href="javascript:history.go(-2)"><font color="White"><b>&gt;&gt; ${lang("commentdone.back")}</b></font></a>
+               </td>
+       </tr>
+</table>
+
+</body>
+</html>
diff --git a/etc/open/comment_dupe.template b/etc/open/comment_dupe.template
new file mode 100755 (executable)
index 0000000..2e9ce66
--- /dev/null
@@ -0,0 +1,37 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+       <title>${lang("commentdupe.htmltitle")}</title>
+</head>
+
+<body bgcolor="White" text="Black" link="white" vlink="#009900" alink="Red">
+
+<table width="100%" border="0" cellspacing="0" cellpadding="10">
+       <tr>
+               <td valign="top" align="center" bgcolor="#663399">
+                       <font color="White"><b>
+                               ${lang("commentdupe.title")}
+                       </b></font
+               </td>
+       </tr>
+       <tr>
+               <td bgcolor="003300" width=70%>
+                       <font color="White">
+                               <br>
+                    ${lang("commentdupe.explanation")}
+                               <br>
+                               <center><em>${lang("commentdupe.no_panic")}</em></center><br>
+                               <br>
+                       </font>
+               </td>
+       </tr>
+       <tr>
+               <td valign="top" align="center" bgcolor="#663399">
+                       <a href="javascript:history.go(-2)"><font color="White"><b>&gt;&gt; ${lang("commentdupe.back")}</b></font></a>
+               </td>
+       </tr>
+</table>
+
+</body>
+</html>
diff --git a/etc/open/disclaimer.inc.de b/etc/open/disclaimer.inc.de
new file mode 100755 (executable)
index 0000000..e2124ef
--- /dev/null
@@ -0,0 +1,108 @@
+<h3>Kurze Anleitung zum Posten eines Beitrages bei de.indymedia.org</h3>
+
+<b>I</b>ndymedia ist ein basisdemokratischer Nachrichtenkanal.
+Wir arbeiten aus Liebe und aus Respekt gegenüber Menschen,
+die sich für eine bessere, lebenswertere Welt engagieren.
+Bei Indymedia kann grundsätzlich JedeR Texte, Videos, Audios oder Fotos
+zu politischen oder sozialen Themen veröffentlichen.
+<br><br>
+
+Indymedia will vor allem die Möglichkeit geben,
+subjektive Stellungnahmen verschiedenster Menschen
+'auf der Strasse' über politische Ereignisse oder aus
+der alltäglichen Lebenswelt zu veröffentlichen. Zudem
+ist Indymedia eine Plattform für Hintergrundberichte,
+die andere Hintergründe als kommerzielle Medien aufzeigen.
+<br><br>
+
+Um indymedia als Plattform für <b>eigene</b>
+Berichterstattung zu konturieren, werden bestimmte
+Beiträge nicht auf die Startseite gestellt. Dazu gehören:
+
+
+<ul>
+<li>
+Termine und Demoaufrufe [ Weil wir wissen, dass diese für die Mobilisierung
+sehr wichtig sind, verlinken wir zu verschiedenen Internetprojekten, auf
+denen Ihr gute Terminsammlungen findet ] Bei angelaufenen Kampagnen werden
+regelmäßig Termine und Aufrufe in die Mittelspalten-Texte als Links gesetzt.
+
+
+<li>
+schon an anderen Stellen veröffentlichte Texte und aus kommerziellen Medien
+kopierte Texte<br>
+[ hierbei sind Übersetzungen von Texten und Meldungen
+von hier kaum zugänglichen Medien eine Ausnahme ]
+
+
+<li>Gruppenstatements, Presseerklärungen, Diskussionspapiere, Massenmails
+<br>
+
+[auch hier geht es um die Zugänglichkeit von Texten. Beiträge von
+Gruppen, die schon auf zahlreichen anderen Internet-Seiten oder in
+Zeitschriften veröffentlicht wurden, werden nicht auf die Startseite
+gestellt, weil es nicht der Ansatz von indymedia ist alles
+irgendwie relevante auf der Seite zu versammeln, sondern eine
+Plattform für eigene  Berichterstattung zu sein. Unter eigener
+Berichtserstattung verstehen wir allerdings Presseerklärungen
+von Kleingruppen oder Diskussionspapiere einzelner.
+
+
+<li>
+superkurze Meldungen:
+
+
+<li>
+reine Kommentare ohne Nachrichtenwert<br>
+[ Zusätzlich zu den selbstverfassten Beiträgen, gibt es bei indymedia
+noch die Möglichkeit über Artikel zu diskutieren.
+Das könnt Ihr unter dem jeweiligen Artikel - einfach auf
+"Kommentar eingeben" klicken ]
+
+
+<li>
+Beiträge von hierarchischen Gruppen und Parteien
+
+
+<li>
+Außerdem gibt es Beiträge, die sofort in ein
+Müllarchiv kommen:
+<ul>
+       <li>Diskriminierender oder menschenverachtender Inhalt
+       <li>Offensichtlicher Spam
+</ul>
+</ul>
+
+<br><br>
+Was mit Eurem Beitrag passiert, lest Ihr am besten
+unter <a href="http://de.indymedia.org/static/ms.html" target="_blank">Grundsätze</a> und <a href="http://de.indymedia.org/static/moderation.html" target="_blank">Moderation</a> nach. Hier eine kurze Zusammenfassung:
+<br><br>
+
+Alle Beiträge werden sofort unzensiert veröffentlicht.<br>
+Allerdings erscheinen sie dann nicht gleich auf der
+Startseite, sondern auf der Open-Posting-Seite
+&quot;<a href="http://de.indymedia.org/open.html" target="_blank">alle Beiträge</a>&quot;.<br>
+Dort werden sie von Moderationskollektiven
+gelesen. Entsprechen sie den indymedia-Grundsätzen,
+erscheinen sie im Newswire der Startseite.
+In die Mittelspalte nehmen wir in der Regel Beiträge,
+die einen guten Überblick über ein aktuelles Thema geben.
+Diese Artikel werden von uns (möglichs in Absprache mit der AutorIn) auch leicht redigiert:
+Wir korrigieren Rechtschreibfehler, versuchen unverständliche
+Stellen zu glätten und setzen Links hinein.<br>
+Verlautbarungen,
+Texte, die keinen politischen oder sozialen Inhalt haben,
+reine Diskussionsbeiträge und Termine bleiben im Open Posting.
+Texte mit menschenverachtendem Inhalt oder Spam kommen ins
+Müllarchiv. Damit sind sie nicht mehr einsehbar. Wer
+sie trotzdem lesen will, kann sie per e-mail anfordern.
+Diese Moderationskriterien sind Resultat eines weltweiten
+Diskussionsprozesses über indymedia und werden ständig neu
+diskutiert und überarbeitet.
+<br><br>
+
+<b>Urheberrecht: </b>Unserer Auffassung nach sollten
+Beiträge, die an diese Site geschickt werden, frei zur
+nicht-kommerziellen Wiederverwertung sein. Wenn Du
+nicht möchtest, dass das für Deinen Beitrag zutrifft,
+dann nenne Deine Konditionen in der Zusammenfassung.
\ No newline at end of file
diff --git a/etc/open/posting.template b/etc/open/posting.template
new file mode 100755 (executable)
index 0000000..100bf7e
--- /dev/null
@@ -0,0 +1,231 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//DE">
+<html>
+<head>
+       <title>${lang("posting.htmltitle")}</title>
+       <meta name="description" content="${lang("posting.meta.description")}">
+       <meta name="author" content="${lang("posting.meta.author")}">
+       <meta name="keywords" content="${lang("posting.meta.keywords")}">
+       <!--<meta name="date" content="### Date ###Time">-->
+       <meta http-equiv="Content-Type" content="text/html; charset=iso-8559-1">
+       <meta name="robots" content="index">
+       <meta name="robots" content="follow">
+
+       <link rel=stylesheet type="text/css" href="${config["Producer.ProductionHost"]}/style/formate.css">
+</head>
+
+<body bgcolor="White" text="Black" link="#006600" vlink="#006600" alink="Red">
+
+
+<table width="99%" border="0" cellspacing="0" cellpadding="8" bgcolor="silver">
+       <tr>
+               <td align="left" bgcolor="#663399" colspan="3">
+                       <a href="#form"><font face="Verdana, Arial, Helvetica, sans-serif" size="-2" color="white"><b>&gt;&gt; ${lang("posting.jump_to_form")}</b></font></a>
+               <br>
+               </td>
+       </tr>
+       <tr>
+               <td align="center" colspan="3">
+                       <font size="+1" face="Verdana, Arial, Helvetica, sans-serif"><b>${lang("posting.title")}</b></font><br>
+               </td>
+       </tr>
+       <tr>
+               <td colspan="3" bgcolor="white">
+
+<include "open/disclaimer.inc.de">
+<br>${data.passwd}
+<br><br>
+<a name="form"></a>
+               </td>
+       </tr>
+<form action="${config["Producer.OpenAction"]}?do=addposting" method="post">
+       <tr>
+               <td><b>${lang("posting.nr_of_media")}</b> <br>
+               ${lang("posting.nr_of_media.info")}</td>
+               <td colspan="2"><input type="text" name="medianum" value="${medianum}">&nbsp;<input type="submit" value="${lang("posting.nr_of_media.submit")}">
+       </tr>
+</form>
+
+
+<form enctype="multipart/form-data" action="${config["Producer.OpenAction"]}?do=insposting" method="post">
+       <tr>
+               <td bgcolor="#663399" colspan="3">
+                       <center><font size="+2" face="Helvetica, Arial,sans-serif" color="white"><b>${lang("posting.form.title")}</b></font></center>
+               </td>
+       </tr>
+       <if config["PasswdProtection"]=="yes" || config["PasswdProtection"]=="1">
+    <tr>
+               <td>${lang("posting.password")}</td>
+               <td><input type="text" name="passwd" size="10"></td>
+       </tr>
+       </if>
+       <tr>
+               <td valign="top">
+                       ${lang("posting.title")}:<br>
+                       <font size="-2">${lang("posting.title.info")}</font>
+               </td>
+               <td colspan="2" bgcolor="#003300">
+                       <input type="text" name="title" size="45" maxlength="45" value=""> <font size="-1" color="white"><br>(${lang("required")})</font>
+               </td>
+       </tr>
+    <tr>
+        <td valign="top">
+            ${lang("posting.topic")}:<br>
+       <font size="-2">${lang("posting.topic.info")}</font>
+        </td>
+       <td colspan="2">
+       <select name="data.to_topic" size="3" multiple>
+       <list extra.themenPopupData as t>
+       <option value="${t.key}" <list to_topic as to><if (t.key == to)>selected</if></list>>${t.value}</option>
+       </list>
+       </select>
+       &nbsp;&nbsp;<font size="-1">(<i>${lang("optional")}</i>)</font>
+       </td>
+    </tr>
+       <tr>
+               <td valign="top">
+                       ${lang("posting.author")}:
+               </td>
+               <td colspan="2" bgcolor="#003300">
+                       <input type="text" name="creator" size="45" maxlength="45"> <font size="-1" color="white"><br>${lang("required")}</font>
+               </td>
+       </tr>
+       <tr>
+               <td valign="top">
+                       ${lang("posting.abstract")}:</b> <br>
+                       <font size="-2">${lang("posting.abstract.info")}</font>
+               </td>
+               <td colspan="2" bgcolor="#003300">
+                       <textarea name="description" rows="6" cols="55" wrap=virtual></textarea>
+                       <font size="-1" color="white"><br>${lang("posting.abstract.constraint")}</font>
+               </td>
+       </tr>
+       <tr>
+               <td colspan="3" bgcolor="#FFFFFF">
+               <font face="Helvetica, Arial, sans-serif" size=-1 color="#222222">
+               ${lang("posting.contact.info")}
+               </font>
+               </td>
+       </tr>
+
+       <tr>
+               <td>
+                       ${lang("posting.email")}:
+               </td>
+               <td colspan="2">
+                       <input type="text" name="creator_email" size="55" maxlength="80" value=""><br>
+                                        <font size="-1">(<i>${lang("optional")}</i>)</font>
+               </td>
+       </tr>
+       <tr>
+               <td>
+                       ${lang("posting.url")}:
+               </td>
+               <td colspan="2">
+               <input type="text" name="creator_main_url" size="55" maxlength="160" value="http://"><br>
+                <font size="-1">(<i>${lang("optional")}</i>)</font>
+               </td>
+       </tr>
+       <tr>
+               <td>
+                       ${lang("posting.address")}:
+               </td>
+               <td colspan="2">
+                       <input type="text" name="creator_address" size="55" maxlength="160" value=""><br>
+                               <font size="-1"> <i>(${lang("optional")})</i></font>
+               </td>
+       </tr>
+       <tr>
+               <td>
+                       ${lang("posting.phone")}:
+               </td>
+               <td colspan="2">
+                       <input type="text" name="creator_phone" size="20" maxlength="20" value=""><br>
+                       <font size="-1">(<i>${lang("optional")}</i>)</font>
+               </td>
+       </tr>
+
+               <tr>
+                       <td colspan="3" bgcolor="#FFFFFF">&nbsp;</td>
+       </tr>
+
+       <tr>
+               <td>
+                       ${lang("posting.language")}:
+               </td>
+               <td colspan="2">
+                       <select name="to_language">
+                               <list extra.languagePopUpData as l>
+                               <option value="${l.key}">${l.value}</option>
+                               </list>
+                       </select>
+                       &nbsp;&nbsp;<font size="-1"><i>(${lang("optional")})</i></font>
+               </td>
+       </tr>
+       <tr>
+               <td valign="top">
+                       ${lang("posting.text")}:<br>
+                       <font size="-2">${lang("posting.text.info")}</font>
+               </td>
+               <td bgcolor="#003300" colspan="2">
+                       &nbsp; <textarea name="content_data" rows="20" cols="55" wrap="soft"></textarea>
+                       <br><br>
+               </td>
+       </tr>
+
+       <tr>
+               <td>
+                       <b>${lang("posting.media")}:</b>
+               </td>
+               <td colspan="2">
+                       ${lang("posting.media.info")}<br>
+                       <font size="-2">${lang("posting.media.howto")}</font>
+               </td>
+       </tr>
+<list data.mediafields as m>
+       <tr>
+               <td>${lang("posting.media.media")} ${m}</td>
+               <td colspan="2">
+                       <INPUT TYPE="file" NAME="media${m}">
+                       <br><font size="-1">(<i>${lang("optional")}</i>)</font>
+               </td>
+       </tr>
+       <tr>
+               <td>
+               ${lang("posting.media.title")} ${m}:
+               </td>
+               <td colspan="2">
+                       <input type="text" name="media_title${m}" size="40" maxlength="80" value=""><br>
+               </td>
+       </tr>
+</list>
+
+       <tr>
+               <td colspan="3" bgcolor="#FFFFFF">&nbsp;</td>
+       </tr>
+
+       <tr>
+               <td align="left" valign="center">
+
+            <!-- text -->
+            ${lang("posting.submit.info")}
+
+                       <br>
+                       ${lang("posting.criteria")}<br>
+
+               </td>
+               <td bgcolor="#663399" valign="center" align="center">
+       <input type="submit" value="${lang("posting.submit")}">
+
+               </td>
+               <td bgcolor="#003300" valign="center" align="center">
+                       <input type="reset" value="${lang("posting.reset")}">
+               </td>
+       </tr>
+</form>
+
+</table>
+
+
+
+</body>
+</html>
diff --git a/etc/open/posting_done.template b/etc/open/posting_done.template
new file mode 100755 (executable)
index 0000000..1aa3d08
--- /dev/null
@@ -0,0 +1,35 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+       <title>${lang("postingdone.htmltitle")}</title>
+</head>
+
+<body bgcolor="White" text="Black" link="#006600" vlink="#666666" alink="Red">
+
+<table width="100%" border="0" cellspacing="0" cellpadding="4" bgcolor="#cccccc">
+       <tr>
+               <td align="center" bgcolor="#666666">
+               <font color="White">${lang("postingdone.title")}</font></td>
+       </tr>
+       <tr>
+               <td bgcolor="#eeeeee"><font color="#000000">
+
+
+<br>
+${lang("postingdone.info")}
+<br><br>
+<center><EM>${lang("postingdone.stay_calm")}</EM></center><br><br>
+
+       </font>
+       </td>
+</tr>
+
+<tr>
+       <td valign="top" align="center" bgcolor="#666666">
+       <a href="javascript:history.go(-2)"><font color="White"><b>&gt;&gt; ${lang("postingdone.back")}</b></font></a>
+               </td>
+       </tr>
+</table>
+</body>
+</html>
diff --git a/etc/open/posting_dupe.template b/etc/open/posting_dupe.template
new file mode 100755 (executable)
index 0000000..acaf870
--- /dev/null
@@ -0,0 +1,37 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+       <title>${lang("postingdupe.htmltitle")}</title>
+</head>
+
+<body bgcolor="White" text="Black" link="white" vlink="#009900" alink="Red">
+
+<table width="100%" border="0" cellspacing="0" cellpadding="10">
+       <tr>
+               <td valign="top" align="center" bgcolor="#663399">
+                       <font color="White"><b>
+                               ${lang("postingdupe.title")}
+                       </b></font
+               </td>
+       </tr>
+       <tr>
+               <td bgcolor="003300" width=70%>
+                       <font color="White">
+                               <br>
+                    ${lang("postingdupe.explanation")}
+                               <br>
+                               <center><em>${lang("postingdupe.no_panic")}</em></center><br>
+                               <br>
+                       </font>
+               </td>
+       </tr>
+       <tr>
+               <td valign="top" align="center" bgcolor="#663399">
+                       <a href="javascript:history.go(-2)"><font color="White"><b>&gt;&gt; ${lang("postingdupe.back")}</b></font></a>
+               </td>
+       </tr>
+</table>
+
+</body>
+</html>
diff --git a/etc/producer/RSS.template b/etc/producer/RSS.template
new file mode 100755 (executable)
index 0000000..26e7c32
--- /dev/null
@@ -0,0 +1,43 @@
+<comment>
+  Template file for an rdf file.
+  
+  Variables:
+
+</comment>
+<?xml version="1.0" encoding="UTF-8"?>
+
+<rdf:RDF
+  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+  xmlns="http://purl.org/rss/1.0/"
+  xmlns:dc="http://purl.org/dc/elements/1.1/"
+  xmlns:syn="http://purl.org/rss/1.0/modules/syndication/"
+>
+
+  <channel rdf:about="${config["Producer.ProductionHost"]}">
+    <title>Indymedia-XX</title>
+    <link>${config["Producer.ProductionHost"]}</link>
+    <description>Highlights from Indymedia-XX, a revolutionary expirement in democratic media</description>
+    <dc:publisher>IMC Features Working Group &amp;lt;features@someindymedia.org&amp;gt;</dc:publisher>
+    <dc:rights>Open Content License, http://www.opencontent.org</dc:rights>
+    <dc:date>${config.now.dc}</dc:date>
+    <items>
+      <rdf:Seq>
+        <list articles as i>   
+          <rdf:li rdf:resource="${config["Producer.ProductionHost"]}${config.docRoot}${i.publish_path}${i.id}.shtml" />
+        </list>
+      </rdf:Seq>
+    </items>
+  </channel>
+
+  <list articles as i>                 
+    <item rdf:about="${config["Producer.ProductionHost"]}${config.docRoot}${i.publish_path}${i.id}.shtml">
+      <title>${i.title}</title>
+        <link>${config["Producer.ProductionHost"]}${config.docRoot}${i.publish_path}${i.id}.shtml</link>
+        <description>${i.description_sentence}</description>
+      <dc:date>${i.webdb_create_dc}+0200</dc:date>
+    </item>
+  </list>
+  
+</rdf:RDF>
+
+
diff --git a/etc/producer/archive.template b/etc/producer/archive.template
new file mode 100755 (executable)
index 0000000..025de8e
--- /dev/null
@@ -0,0 +1,109 @@
+<comment>
+  Freemarker template file for an archive of articles.
+</comment>
+
+<html>
+  <head>
+    <title>
+        ${lang("producer.openposting.htmltitle")}${topic.title}
+    </title>
+    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+    <link rel="stylesheet" href="/style/mir.css" type="text/css">
+  </head>
+
+  <body bgcolor="#CCCCCC">
+    <table width="760" border="0" cellpadding="0" cellspacing="1" align="center" bgcolor="#000000">
+      <tr bgcolor="#FFFFFF"> 
+        <td valign="top" align="left" width="150" bgcolor="#666666"> 
+          <table width="150" border="0" cellspacing="0" cellpadding="0">
+            <tr> 
+              <td width="140">
+                 <a href="${config["Producer.ProductionHost"]}${config["Producer.DocRoot"]}">
+                 <img src="images/mirlogo.jpg" width="150" height="205" border="0">
+                 </a>
+              </td>
+            </tr>
+            <tr valign="top"> 
+              <td width="140" bgcolor="#666666"> 
+                <table width="100%" border="0" cellspacing="2" cellpadding="0">
+                  <tr> 
+                    <td> 
+                       <!--#include virtual="navigation.inc" -->
+                    </td>
+                  </tr>
+                </table>
+              </td>
+            </tr>
+          </table>
+        </td>
+        <td align="left" valign="top" colspan="2" height="100%">
+          <table width="100%" border="0" cellspacing="0" cellpadding="0">
+            <tr> 
+              <td> 
+                <table width="100%" border="0" cellspacing="0" cellpadding="0">
+                  <tr> 
+                    <td><img src="images/mirfont.gif" width="600" height="68"></td>
+                  </tr>
+                </table>
+              </td>
+            </tr>
+            <tr bgcolor="#000000"> 
+              <td height="1"><img src="images/1pixel.gif" width="1" height="1"></td>
+            </tr>
+            <tr> 
+              <td align="left" valign="top">
+                <h2> ${title}</h2> 
+                <table width="100%" border="0" cellpadding="0" cellspacing="2" height="100%">
+                  <tr> 
+                    <td width="100%" valign="top"> 
+                      <!--- articles ---> 
+                      <list articles as i> 
+                        <table width="100%" border="0" cellspacing="0" cellpadding="0">
+                          <tr> 
+                            <td> 
+                              <h3>${i.title}</h3>
+                              <h4><i>${i.creator}, ${i.webdb_create_formatted}</i></h4>
+                              <p>                       
+                              <if i.to_media_audio > 
+                                <img src="/img/${i.to_media_audio[0]["big_icon"]}">
+                              </if> 
+                              <if i.to_media_video > 
+                                <img src="/img/${i.to_media_video[0]["big_icon"]}">
+                              </if> 
+                              <if i.to_media_other > 
+                                <img src="/img/${i.to_media_other[0]["big_icon"]}">
+                              </if> 
+                              <p>
+                              <if i.to_media_images >
+                                <img src="${i.to_media_images[0]["icon_path"]}"
+                                  width="${i.to_media_images[0]["icon_width"]}"
+                                  height="${i.to_media_images[0]["icon_height"]}"
+                                  border=0 alt="${i.to_media_images[0]["title"]}">
+                              </if> 
+                              ${i.description}</p>
+                              <p align="right">
+                                [<a href="${config["Producer.DocRoot"]}${i.publish_path}${i.id}.shtml">read</a>]
+                              </p>
+                            </td>
+                          </tr>
+                        </table>
+                        <br>
+                      </list> 
+                      <!--- articles ---> 
+                      </td>
+    
+                      <td>
+                      <if previousPage><a href="${previousPage}">${lang("producer.previous")}</a></if>
+                      <if nextPage><a href="${nextPage}">${lang("producer.next")}</a></if>
+                      </td>
+                  </tr>
+                </table>
+              </td>
+            </tr>
+          </table>
+        </td>
+      </tr>
+    </table>
+    <p>&nbsp;</p>
+  </body>
+</html>
diff --git a/etc/producer/article.template b/etc/producer/article.template
new file mode 100755 (executable)
index 0000000..dc50c8e
--- /dev/null
@@ -0,0 +1,202 @@
+<comment>
+  Template file for an article.
+</comment>
+
+<include "routines.template">
+
+<html>
+  <head>
+    <title>${lang("article.htmltitle.prefix")}${article.title}</title>
+    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+    <link rel="stylesheet" href="/${pathprefix}/style.css" type="text/css">
+
+    <if article.to_media_images>
+      <meta name="keywords" content="images"></meta>
+    </if>
+    <if article.to_media_audio>
+      <meta name="keywords" content="audio"></meta>
+    </if>
+    <if article.to_media_video>
+      <meta name="keywords" content="video"></meta>
+    </if>
+    <if article.to_media_other>
+      <meta name="keywords" content="other"></meta>
+    </if>
+  </head>
+
+  <body bgcolor="#CCCCCC">
+    <table width="760" border="0" cellpadding="0" cellspacing="1" align="center" bgcolor="#000000">
+      <tr bgcolor="#FFFFFF">
+        <td valign="top" align="left" width="150" bgcolor="#666666">
+          <table width="150" border="0" cellspacing="0" cellpadding="0">
+            <tr>
+              <td width="140">
+                <a href="${config["Producer.DocRoot"]}/${pathprefix}">
+                 <img src="/images/mirlogo.jpg" width="150" height="205" border="0">
+                </a>
+              </td>
+            </tr>
+            <tr valign="top">
+              <td width="140" bgcolor="#666666">
+                <table width="100%" border="0" cellspacing="2" cellpadding="0">
+                  <tr>
+                    <td>
+                      <!--#include virtual="../../navigation.inc" -->
+                    </td>
+                  </tr>
+                </table>
+              </td>
+            </tr>
+          </table>
+        </td>
+        <td align="left" valign="top" colspan="2" height="100%">
+          <table width="100%" border="0" cellspacing="0" cellpadding="0">
+            <tr>
+              <td>
+                <table width="100%" border="0" cellspacing="0" cellpadding="0">
+                  <tr>
+                    <td><img src="/images/mirfont.gif" width="600" height="68"></td>
+                  </tr>
+                </table>
+              </td>
+            </tr>
+            <tr bgcolor="#000000">
+              <td height="1"><img src="images/1pixel.gif" width="1" height="1"></td>
+            </tr>
+            <tr>
+              <td align="left" valign="top">
+                <table width="100%" border="0" cellpadding="0" cellspacing="2" height="100%">
+                  <tr>
+                    <td width="100%" valign="top">
+                      <table width="100%" border="0" cellspacing="0" cellpadding="0">
+                       <if config.generateFO=="yes">
+                                 <tr><td align="right">          
+                         <if config.generatePDF=="yes">
+                           <a href="${article.id}.pdf">Print this article</a>
+                                <else>
+                                  <a href="${config["Producer.OpenAction"]}?do=getpdf&id=${article.id}">Print this article</a>
+                         </if>
+                         </td></tr>
+                       </if>
+
+                        <tr> 
+                          <td> 
+                            <h2>${article.title}</h2>
+                            <h4><i>${article.creator}, ${article.creationdate.formatted["dd.MM.yyyy HH:mm"]}</i></h4>
+                            <p><b>${article.description_parsed}</b>
+    
+    
+                            <!-- media -->
+                              <call showArticleMedia(article)>
+                  
+                              <comment>                
+                                <list article.to_media_audio as media>
+                                  <p>
+                    
+                    
+                                    <a href="${media["publish_server"]}${media["publish_path"]}">
+                                      ${media["title"]} - ${media["descr"]}
+                                    </a>
+                                  </p>
+                                </list>
+                                <list article.to_media_video as media>
+                                    <p>
+                                      <img src="/img/${media["big_icon"]}" border="0" alt="">
+                                      <a href="${media["publish_server"]}${media["publish_path"]}">
+                                      ${media["title"]} - ${media["descr"]}</a>
+                                    </p>
+                                </list>
+                                <list article.content.to_media_other as media>
+                                    <p>
+                                      <img src="/img/${media["big_icon"]}" border="0" alt="">
+                                      <a href="${media["publish_server"]}${media["publish_path"]}">
+                                      ${media["title"]} - ${media["descr"]}</a>
+                                    </p>
+                                </list>
+                      
+                                <list article.content.to_media_images as image>
+                                    <p>
+                                      <img src="${image["publish_server"]}${image["publish_path"]}"
+                                       border="0" width="${image["img_width"]}"
+                                       height="${image["img_height"]}" alt="${image["title"]}">
+                                       <br><i>${image["title"]}</i>
+                                    </p>
+                                </list>
+                              </comment>                
+                  
+                            <!-- media -->
+    
+                            <p>${article.content_data_parsed}</p>
+                            <if article.creator_main_url || article.creator_email>
+                              <table width="100%" bgcolor="#FFFFFF">
+                              <tr>
+                                <td>
+                                  <font size="-1">
+                                  <if content.creator_email>
+                                    <img src="/images/mail_small.gif" width="12" height="10" border="0" alt="-"> ${lang("producer.content.email")}: <a href="mailto:${article.content.creator_email}">${article.content.creator_email}</a><br>
+                                  </if>
+                                  <if content.creator_main_url>
+                                    <img src="/images/link_small.gif" width="12" height="10" border="0" alt=""> ${lang("producer.content.homepage")}: <a href="${article.content.creator_main_url}" target="extern">${article.content.creator_main_url}</a><br>
+                                  </if>
+                                  </font>
+                                </td>
+                              </tr>
+                              </table>
+                            </if>
+                          </td>
+                        </tr>
+                        <tr><td>&nbsp;</td></tr>
+                        <tr>
+                          <td>
+                            <call showAddCommentLink(article, lang("article.addcomment"), language)>
+                          </td>
+                        </tr>
+                        <if article.to_comments>
+                          <list article.to_comments as c>
+                            <tr>
+                              <td>
+                                <table width="100%" border="0" cellspacing="0" cellpadding="4">
+                                  <tr bgcolor="#cccccc">
+                                    <td><b><call showSafeText(c.title)></b></td>
+                                    <td align="right"><i>${c.creationdate.formated["dd.MM.yyyy HH:mm"]}</i></td>
+                                  </tr>
+                                  <tr>
+                                    <td colspan="2"><br>${c.description_parsed}</td>
+                                  </tr>
+                                  <if c.email || c.main_url || c.address || c.phone || c.creator>
+                                    <tr>
+                                      <td bgcolor="#cccccc" colspan="2">
+                                        <if c.creator><b><call showSafeText(c.creator)></b></if>
+                                        <if c.email>
+                                          <br>
+                                          <img src="/images/mail_small.gif" width="12" height="10" border="0" alt="">${lang("article.email")}: <a href="mailto:${utility.encodeHTML(c.email)}"><call showSafeText(c.email)></a>
+                                        </if>
+                                        <if c.main_url>
+                                          <br>
+                                          <img src="/images/link_small.gif" width="12" height="10" border="0" alt="">
+                                            ${lang("article.homepage")}: <a href="${utility.encodeHTML(c.main_url)}" target="_blank"><call showSafeText(c.email)></a>
+                                        </if>
+                                                   </td>
+                                    </tr>
+                                  </if>
+                                </table>
+                              </td>
+                            </tr>
+                            <tr><td>&nbsp;</td></tr>
+                          </list>
+                        </if>
+                      </table>
+                    </td>
+                  </tr>
+                </table>
+              </td>
+            </tr>
+          </table>
+        </td>
+      </tr>
+    </table>
+    <p>
+      &nbsp;
+    </p>
+  </body>
+</html>
diff --git a/etc/producer/html2fo.xsl b/etc/producer/html2fo.xsl
new file mode 100755 (executable)
index 0000000..f25b81c
--- /dev/null
@@ -0,0 +1,20 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl='http://www.w3.org/1999/XSL/Transform'
+                      xmlns:fo="http://www.w3.org/1999/XSL/Format"
+version="1.0" >
+
+<!-- This stylesheet replaces the <BR /> tags that Mir 
+uses to break paragraphs with empty blocks, 
+which do the same thing in XSL:FO -->
+
+<xsl:template match="br">
+       <fo:block />    
+</xsl:template>
+
+<xsl:template match="@*|*|processing-instruction()|comment()">
+  <xsl:copy>
+    <xsl:apply-templates select="*|@*|text()|processing-instruction()|comment()" />
+  </xsl:copy>
+</xsl:template>
+
+</xsl:stylesheet>
\ No newline at end of file
diff --git a/etc/producer/links.inc b/etc/producer/links.inc
new file mode 100755 (executable)
index 0000000..0f948fb
--- /dev/null
@@ -0,0 +1,7 @@
+               <a href="http://www.nadir.org/nadir">nadir</a><br>
+               <a href="http://www.ainfos.ca/de">a-infos</a><br>
+               <a href="http://www.squat.net">squat.net</a><br>
+               <a href="http://www.linkeseite.de">linkeseite</a><br>
+               <a href="http://gib.squat.net">gegeninformationsb&uuml;ro</a><br>
+               <a href="http://www.info.partisan.net">partisan.net</a><br>
+               <a href="http://www.dir-info.de/nachrichten/">DIR</a><br>
diff --git a/etc/producer/navigation.template b/etc/producer/navigation.template
new file mode 100755 (executable)
index 0000000..609798a
--- /dev/null
@@ -0,0 +1,34 @@
+<p> 
+  ${lang("navigation.languages")}
+  <list languages as l> 
+    <br>
+      <if l.code==pathprefix>
+        <b>
+      </if>
+        <a href="${config["Producer.DocRoot"]}/${l.code}">${l.name}</a>
+      <if l.code==pathprefix>
+        </b>
+      </if>
+  </list> 
+</p>
+
+<p> 
+  ${lang("navigation.topics")}
+  <list topics as t> 
+    <br>
+    <a href="${config["Producer.DocRoot"]}/${pathprefix}/${t.filename}/${t.filename}.shtml"><b>${t.title}</b></a>
+  </list> 
+</p>
+
+<hr noshade width="146" size="1" align="left">
+
+<p>
+  <br>
+  <a href="${config["Producer.OpenAction"]}">${lang("navigation.publish")}</a>
+</p>
+
+<hr noshade width="146" size="1" align="left">
+
+<p class="small">
+  <include "links.inc"> 
+</p>
diff --git a/etc/producer/printablecontent.template b/etc/producer/printablecontent.template
new file mode 100755 (executable)
index 0000000..2c7a599
--- /dev/null
@@ -0,0 +1,185 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!-- example for a simple fo file. At the beginning the page layout is set. 
+  Below fo:root there is always 
+- a single fo:layout-master-set which defines one or more page layouts
+- an optional fo:declarations 
+- and a sequence of one or more fo:page-sequences containing the text and formatting instructions 
+-->
+
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+
+  <fo:layout-master-set>
+  <!-- fo:layout-master-set defines in its children the page layout: 
+       the pagination and layout specifications
+      - page-masters: have the role of describing the intended subdivisions 
+                       of a page and the geometry of these subdivisions 
+                      In this case there is only a simple-page-master which defines the 
+                      layout for all pages of the text
+  -->
+    <!-- layout information -->
+    <fo:simple-page-master master-name="simple"
+                  page-height="29.7cm" 
+                  page-width="21cm"
+                  margin-top="1cm" 
+                  margin-bottom="2cm" 
+                  margin-left="2.5cm" 
+                  margin-right="2.5cm">
+      <fo:region-body margin-top="3cm" />
+
+      <fo:region-before extent="5.0cm" />
+      <fo:region-after extent="1.5cm"/>
+    </fo:simple-page-master>
+  </fo:layout-master-set>
+  <!-- end: defines page layout -->
+
+
+  <!-- start page-sequence
+       here comes the text (contained in flow objects)
+       the page-sequence can contain different fo:flows 
+       the attribute value of master-name refers to the page layout
+       which is to be used to layout the text contained in this
+       page-sequence-->
+  <fo:page-sequence master-reference="simple">
+       <fo:static-content flow-name="xsl-region-before">
+      <!-- this defines a title -->
+      <fo:block font-size="24pt" 
+            line-height="23pt"
+            space-after.optimum="5pt"
+            background-color="black"
+            text-align="start">
+<fo:external-graphic  src="file://${config["Producer.Image.Path"]}/banner.png"  />
+      </fo:block>
+<fo:block font-size="10pt" 
+       font-family="serif" 
+       color="black"
+       line-height="12pt">
+       Here is where some descriptive text could go.  A fair use disclaimer
+an attribution of copyright/left rights, etc.  the possibilities are endless.
+       <fo:leader leader-pattern="rule" leader-length="18cm"
+            rule-thickness="1pt" color="black"/>
+</fo:block>
+       
+       </fo:static-content>
+       
+      <!-- start fo:flow
+           each flow is targeted 
+           at one (and only one) of the following:
+           xsl-region-body (usually: normal text)
+           xsl-region-before (usually: header)
+           xsl-region-after  (usually: footer)
+           xsl-region-start  (usually: left margin) 
+           xsl-region-end    (usually: right margin)
+           ['usually' applies here to languages with left-right and top-down 
+            writing direction like English]
+           in this case there is only one target: xsl-region-body
+        -->
+    <fo:flow flow-name="xsl-region-body">
+
+      <!-- each paragraph is encapsulated in a block element
+           the attributes of the block define
+           font-family and size, line-heigth etc. -->
+      
+      <!-- here is the article title -->
+      <fo:block font-size="16pt" 
+                font-family="sans-serif" 
+               font-weight="bold"
+                line-height="18pt"
+                space-after.optimum="3pt"
+                text-align="center">           
+      ${article.content.title}
+      </fo:block>
+      
+      <!-- here is the article author and date-->
+      <fo:block font-size="11pt" 
+                font-family="sans-serif" 
+                line-height="13pt"
+                space-after.optimum="3pt"
+                text-align="end">              
+      ${article.content.creator},  ${article.content.webdb_create_formatted}
+      </fo:block>
+
+
+      <!-- here is the article summary -->
+      <fo:block font-size="11pt" 
+                font-family="sans-serif" 
+               font-weight="bold"
+                line-height="13pt"
+                space-after.optimum="3pt"
+                text-align="justify">          
+      ${article.content.description_parsed}
+      </fo:block>
+
+
+             <!-- here is the header stuff -->
+<if article.content.creator_main_url || article.content.creator_email>
+       <fo:block><fo:leader leader-pattern="rule" leader-length="18cm"
+            rule-thickness="1pt" color="black"/></fo:block>
+</if>
+      <if article.content.creator_email>
+      <fo:block font-size="10pt" 
+                font-family="sans-serif" 
+                line-height="12pt">
+      Email:           ${article.content.creator_email}
+      </fo:block>
+      </if>
+      <if article.content.creator_main_url>
+      <fo:block font-size="10pt" 
+                font-family="sans-serif" 
+                line-height="12pt">
+      URL:     ${article.content.creator_main_url}
+      </fo:block>
+      </if> 
+      <fo:block><fo:leader leader-pattern="rule" leader-length="18cm"
+            rule-thickness="1pt" color="black"/></fo:block>
+
+      <!-- here is the content -->
+      <fo:block font-size="12pt" 
+                font-family="sans-serif" 
+                line-height="15pt"
+                space-after.optimum="3pt"
+                text-align="justify">
+<list data.formatted_content as fc>
+<if fc.hasImage == "1">
+<fo:table>
+  <fo:table-column column-width="${fc.img_width}px"/>
+  <fo:table-column column-width="8px"/>
+  <fo:table-column column-width="${fc.text_widthCM}cm"/>
+  <fo:table-body>
+    <fo:table-row>
+      <fo:table-cell display-align="center">
+      <fo:external-graphic src="file://${config["Producer.Image.Path"]}${fc.img_src}" content-height="${fc.img_height}px" content-width="${fc.img_width}px" height="${fc.img_height}px" width="${fc.img_width}px" />
+<fo:block font-weight="bold">${fc.img_title}</fo:block>
+      </fo:table-cell>
+      <fo:table-cell >
+      </fo:table-cell>
+      <fo:table-cell >
+      <fo:block text-align="justify">${fc.text}</fo:block>
+      </fo:table-cell>
+    </fo:table-row>
+  </fo:table-body> 
+</fo:table>
+<else>
+<fo:block text-align="justify">${fc.text}</fo:block>
+</if>
+
+</list>
+<!--        <list article.content.to_media_images as media>
+       <fo:external-graphic  src="file:${config["Producer.Image.Path"]}/${media["publish_path"]}"  />
+            ${media["description"]}
+        </list>-->
+      </fo:block>
+       
+
+
+    </fo:flow> <!-- closes the flow element-->
+  </fo:page-sequence> <!-- closes the page-sequence -->
+</fo:root>
+
+
+
+
+
+
+
+
diff --git a/etc/producer/routines.template b/etc/producer/routines.template
new file mode 100755 (executable)
index 0000000..ed337b7
--- /dev/null
@@ -0,0 +1,107 @@
+<comment>\r
+  This file contains several routines to be used in the templates\r
+</comment>\r
+\r
+<function showArticleUrl(aPrefix, anArticle, aText, aCSSClass)>\r
+  <a class="${aCSSClass}" href="/${aPrefix}/${anArticle.date.formatted.yyyy}/${anArticle.date.formatted.MM}/${anArticle.id}.shtml">${aText}</a>\r
+</function>\r
+\r
+<function showSafeText(aText)>\r
+  ${utility.encodeHTML(aText)}\r
+</function>\r
+\r
+<function showSafeTextOrDefault(aField, aDefault)>\r
+  <if aField>\r
+    <call showSafeText(aField)>\r
+  <else>\r
+    ${aDefault}\r
+  </if>\r
+</function>\r
+
+<function showAddCommentLink(anArticle, aText, aLanguage)>
+  <a href="${config["Producer.OpenAction"]}?do=addcomment&aid=${anArticle.id}&language=${aLanguage.code}">${aText}</a>
+</function>
+                            \r
+<function showArticleMedia(anArticle)>\r
+ <!-- media -->\r
+   <list anArticle.to_media_audio as audio>\r
+      <br>\r
+      <br>\r
+      <a href="${audio["publish_server"]}${audio["publish_path"]}">\r
+          <img src="/images/${video["big_icon"]}" border="0" alt="">\r
+          <call showSafeText(audio.title)> - <call showSafeText(audio.descr)>\r
+      </a>\r
+   </list>\r
+\r
+   <list anArticle.to_media_video as video>\r
+      <br>\r
+      <br>\r
+      <a href="${video["publish_server"]}${video["publish_path"]}">\r
+          <img src="/images/${video["big_icon"]}" border="0" alt="">\r
+          <call showSafeText(video.title)> - <call showSafeText(video.descr)>\r
+      </a>\r
+   </list>\r
+\r
+   <list anArticle.to_media_other as other>\r
+      <br>\r
+      <br>\r
+      <a href="${other["publish_server"]}${other["publish_path"]}">\r
+          <img src="/images/${other["big_icon"]}" border="0" alt="">\r
+          <call showSafeText(other.title)> - <call showSafeText(other.descr)>\r
+      </a>\r
+   </list>\r
+\r
+   <list anArticle.to_media_images as image>\r
+      <br>\r
+      <br>\r
+      <img src="${image["publish_server"]}${image["publish_path"]}"\r
+              border="0" width="${image["img_width"]}"\r
+              height="${image["img_height"]}" alt="${image["title"]}"><br>\r
+      <i><call showSafeText(image.title)></i>\r
+   </list>\r
+ <!-- media -->\r
+</function>\r
+\r
+<function showArticleMediaIcons(anArticle)>\r
+    <if anArticle.to_media_audio > 
+      <img src="/img/${anArticle.to_media_audio[0]["big_icon"]}">
+    </if> 
+    \r
+    <if anArticle.to_media_video > 
+      <img src="/img/${anArticle.to_media_video[0]["big_icon"]}">
+    </if> 
+    \r
+    <if anArticle.to_media_other > 
+      <img src="/img/${anArticle.to_media_other[0]["big_icon"]}">
+    </if> 
+    \r
+      <if anArticle.to_media_images >
+        <img src="${anArticle.to_media_images[0]["icon_path"]}"
+          width="${anArticle.to_media_images[0]["icon_width"]}"
+          height="${anArticle.to_media_images[0]["icon_height"]}"
+          border=0 alt="${anArticle.to_media_images[0]["title"]}">
+      </if> 
+</function>\r
+\r
+<function showArticleAsFeature(anArticle)>\r
+  <h3><call showSafeText(anArticle.title)></h3>
+  <h4><i><call showSafeText(anArticle.creator)>, ${anArticle.creationdate.formatted["dd.MM.yyyy HH:mm"]}</i></h4>
+    <p>                         
+        <call showArticleMediaIcons(anArticle)>
+        ${anArticle.description_parsed} \r
+    </p>
+\r
+    <p align="right">
+      [<call showArticleUrl(pathprefix, anArticle, lang("general.readarticle"), "featurelink")>]
+    </p>
+</function>\r
+\r
+\r
+<function showArticleAsNewswire(anArticle)>\r
+  <img alt=${anArticle.to_media_icon["icon_alt"]} border="0" height="10"
+       src="${anArticle.to_media_icon["tiny_icon"]}" width="12"> \r
+       \r
+  <call showArticleUrl(pathprefix, anArticle, anArticle.title, "")><br />
+  <font size="-2">${n.creationdate.formatted["dd-MM-yyyy HH:mm"]}</font><br>
+</function>\r
+\r
diff --git a/etc/producer/startpage.template b/etc/producer/startpage.template
new file mode 100755 (executable)
index 0000000..458a27c
--- /dev/null
@@ -0,0 +1,160 @@
+<include "routines.template">
+
+<html>
+  <head>
+    <title>${lang("startpage.htmltitle")}</title>
+    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+    <link rel="stylesheet" href="/${pathprefix}/style.css" type="text/css">
+  </head>
+
+  <body bgcolor="#CCCCCC">
+    <table width="760" border="0" cellpadding="0" cellspacing="1" align="center" bgcolor="#000000">
+      <tr bgcolor="#FFFFFF"> 
+        <td valign="top" align="left" width="150" bgcolor="#666666"> 
+          <table width="150" border="0" cellspacing="0" cellpadding="0">
+            <tr> 
+              <td width="140">
+                <img src="/images/mirlogo.jpg" width="150" height="205">
+              </td>
+            </tr>
+            <tr valign="top"> 
+              <td width="140" bgcolor="#666666"> 
+                <table width="100%" border="0" cellspacing="2" cellpadding="0">
+                  <tr> 
+                    <td> 
+                      <!--#include virtual="navigation.inc" -->
+                    </td>
+                  </tr>
+                </table>
+              </td>
+            </tr>
+          </table>
+        </td>
+        <td align="left" valign="top" colspan="2" height="100%">
+          <table width="100%" border="0" cellspacing="0" cellpadding="0">
+            <tr> 
+              <td colspan="3">
+                <table width="100%" border="0" cellspacing="0" cellpadding="0">
+                  <tr> 
+                    <td valign="top">
+                      <img src="/images/mirfont.gif" width="600" height="68">
+                    </td>
+                  </tr>
+                </table>
+                           </td>
+            </tr>
+            <tr bgcolor="#000000"> 
+              <td colspan="3" height="1"><img src="images/1pixel.gif" width="1" height="1"></td>
+            </tr>
+            <tr> 
+              <td align="left" valign="top"> 
+                <table width="457" border="0" cellpadding="0" cellspacing="2" height="100%">
+                  <tr> 
+                    <td width="457" valign="top"> 
+                      <!--- start-special ---> 
+                      <list startspecial as s> 
+                        <table width="100%" border="0" cellspacing="0" cellpadding="0">
+                          <tr> 
+                            <td> 
+                              <call showArticleAsFeature(s)>
+<comment>                      
+                              <h3>${s.title}</h3>
+                              <h4><i>${s.creator}, ${s.webdb_create_formatted}</i></h4>
+                              <p>                       
+                              <if s.to_media_audio > 
+                                <img src="/img/${s.to_media_audio[0]["big_icon"]}">
+                              </if> 
+                              <if s.to_media_video > 
+                                <img src="/img/${s.to_media_video[0]["big_icon"]}">
+                              </if> 
+                              <if s.to_media_other > 
+                                <img src="/img/${s.to_media_other[0]["big_icon"]}">
+                              </if> 
+                              <p>
+                              <if s.to_media_images >
+                                <img src="${s.to_media_images[0]["icon_path"]}"
+                                  width="${s.to_media_images[0]["icon_width"]}"
+                                  height="${s.to_media_images[0]["icon_height"]}"
+                                  border=0 alt="${s.to_media_images[0]["title"]}">
+                              </if> 
+                              ${s.description_parsed} </p>
+                              <p align="right">[<a href="${config["Producer.DocRoot"]}${s.publish_path}${s.id}.shtml">read</a>]</p>
+</comment>
+                            </td>
+                          </tr>
+                        </table>
+                      </list> 
+                      <!--- /start-special ---> 
+                      <br>
+                      <!--- features ---> 
+                      <list features as i>
+                        <table width="100%" border="0" cellspacing="0" cellpadding="0">
+                          <tr> 
+                            <td> 
+                              <call showArticleAsFeature(i)>
+<comment>                        
+                              <h3>${i.title}</h3>
+                              <h4><i>${i.creator}, ${i.webdb_create_formatted}</i></h4>
+                              <p>                       
+                              <if i.to_media_audio > 
+                                <img src="/img/${i.to_media_audio[0]["big_icon"]}">
+                              </if> 
+                              <if i.to_media_video > 
+                                <img src="/img/${i.to_media_video[0]["big_icon"]}">
+                              </if> 
+                              <if i.to_media_other > 
+                                <img src="/img/${i.to_media_other[0]["big_icon"]}">
+                              </if> 
+                              <p>
+                              <if i.to_media_images >
+                                <img src="${i.to_media_images[0]["icon_path"]}"
+                                  width="${i.to_media_images[0]["icon_width"]}"
+                                  height="${i.to_media_images[0]["icon_height"]}"
+                                  border=0 alt="${i.to_media_images[0]["title"]}">
+                              </if> 
+                                ${i.description_parsed} </p>
+                              <p align="right">[<a href="${config["Producer.DocRoot"]}${i.publish_path}${i.id}.shtml">read</a>]</p>
+</comment>                        
+                            </td>
+                          </tr>
+                        </table>
+                        <br>
+                      </list> 
+                             <!--- /features ---> 
+                    </td>
+                  </tr>
+                </table>
+              </td>
+              <td width=1 bgcolor="#000000">
+                 <img src="images/1pixel.gif" width="1" height="1">
+               </td>
+              <td width="150" bgcolor="#666666" valign="top" align="left"> 
+                <table width="150" border="0" cellspacing="2" cellpadding="0">
+                  <tr> 
+                    <td> 
+                                   <!-- newswire --> 
+                        <p> 
+                                   <list newswire as n>
+                          <call showArticleAsNewswire(n)>
+<comment>                                  
+                            <img alt=${n.to_media_icon["icon_alt"]} border="0" height="10"
+                                 src="${n.to_media_icon["tiny_icon"]}" width="12"> 
+                            <a href="${config["Producer.DocRoot"]}${n.publish_path}${n.id}.shtml"><b>${n.title}</b></a><br>
+                           <font size="-2"><b></b>${n.webdb_create_formatted}</font>
+                          <br>
+</comment>                           
+                          <br>
+                        </list> 
+                                   <!-- /newswire -->
+                      </p>
+                    </td>
+                  </tr>
+                </table>
+              </td>
+            </tr>
+          </table>
+        </td>
+      </tr>
+    </table>
+  </body>
+</html>
diff --git a/etc/producer/stylesheet.template b/etc/producer/stylesheet.template
new file mode 100755 (executable)
index 0000000..1fb2d41
--- /dev/null
@@ -0,0 +1,20 @@
+a {
+  color: #0000CC; 
+  text-decoration: underline
+}
+
+a:hover {  
+  color: #333333; 
+  text-decoration: none
+}
+
+td {  
+  font-family: "Times New Roman", Times, serif
+}
+
+.small {  
+  font-size: x-small
+}
+pre {  
+  font-family: "Courier", Courier, serif
+}
diff --git a/etc/producer/topicpage.template b/etc/producer/topicpage.template
new file mode 100755 (executable)
index 0000000..882e0c9
--- /dev/null
@@ -0,0 +1,128 @@
+<html>
+  <head>
+    <title>${lang("producer.topiclist.htmltitle")}${topic.title}</title>
+    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+    <link rel="stylesheet" href="/style/mir.css" type="text/css">
+  </head>
+
+  <body bgcolor="#CCCCCC">
+    <table width="760" border="0" cellpadding="0" cellspacing="1" align="center" bgcolor="#000000">
+      <tr bgcolor="#FFFFFF"> 
+        <td valign="top" align="left" width="150" bgcolor="#666666"> 
+          <table width="150" border="0" cellspacing="0" cellpadding="0">
+            <tr> 
+              <td width="140">
+                 <a href="${config["Producer.ProductionHost"]}${config["Producer.DocRoot"]}/">
+                 <img src="images/mirlogo.jpg" width="150" height="205" border="0">
+                 </a>
+              </td>
+            </tr>
+            <tr valign="top"> 
+              <td width="140" bgcolor="#666666"> 
+                <table width="100%" border="0" cellspacing="2" cellpadding="0">
+                  <tr> 
+                    <td> 
+                    <!--#include virtual="navigation.inc" -->
+                    </td>
+                  </tr>
+                </table>
+              </td>
+            </tr>
+          </table>
+        </td>
+        <td align="left" valign="top" colspan="2" height="100%">
+          <table width="100%" border="0" cellspacing="0" cellpadding="0">
+            <tr> 
+              <td> 
+                <table width="100%" border="0" cellspacing="0" cellpadding="0">
+                  <tr> 
+                    <td><img src="images/mirfont.gif" width="600" height="68"></td>
+                  </tr>
+                </table>
+              </td>
+            </tr>
+            <tr bgcolor="#000000"> 
+              <td height="1"><img src="images/1pixel.gif" width="1" height="1"></td>
+            </tr>
+            <tr> 
+              <td align="left" valign="top">
+                <h2> ${topic.title}</h2> 
+                <table width="100%" border="0" cellpadding="0" cellspacing="2" height="100%">
+                  <tr> 
+                    <td width="100%" valign="top"> 
+                    <!--- start-special ---> 
+                      <if data.special> 
+                      <table width="100%" border="0" cellspacing="0" cellpadding="0">
+                        <tr> 
+                          <td> 
+                            <h3>${data.special.title}</h3>
+                            <h4><i>${data.special.creator}, ${data.special.webdb_create_formatted}</i></h4>
+                            <p> 
+                            <if data.special.to_media_audio > 
+                              <img src="/img/${data.special.to_media_audio[0]["big_icon"]}">
+                            </if> 
+                            <if data.special.to_media_video > 
+                              <img src="/img/${data.special.to_media_video[0]["big_icon"]}">
+                            </if> 
+                            <if data.special.to_media_other > 
+                              <img src="/img/${data.special.to_media_other[0]["big_icon"]}">
+                            </if> 
+                            <p>
+                            <if data.special.to_media_images >
+                              <img src="${data.special.to_media_images[0]["icon_path"]}"
+                                width="${data.special.to_media_images[0]["icon_width"]}"
+                                height="${data.special.to_media_images[0]["icon_height"]}"
+                                border=0 alt="${data.special.to_media_images[0]["title"]}">
+                            </if> 
+                              ${data.special.description_parsed} </p>
+                            <p align="right">[<a href="${config["Producer.DocRoot"]}${data.special.publish_path}${data.special.id}.shtml">read</a>]</p>
+                          </td>
+                        </tr>
+                      </table>
+                      </if> 
+                      <!--- /start-special --->
+                      
+                      <!--- features ---> 
+                      <list data.contentlist as i> 
+                      <table width="100%" border="0" cellspacing="0" cellpadding="0">
+                        <tr> 
+                          <td> 
+                            <h3>${i.title}</h3>
+                            <h4><i>${i.creator}, ${i.webdb_create_formatted}</i></h4>
+                            <p>                         
+                            <if i.to_media_audio > 
+                              <img src="/img/${i.to_media_audio[0]["big_icon"]}">
+                            </if> 
+                            <if i.to_media_video > 
+                              <img src="/img/${i.to_media_video[0]["big_icon"]}">
+                            </if> 
+                            <if i.to_media_other > 
+                              <img src="/img/${i.to_media_other[0]["big_icon"]}">
+                            </if> 
+                            <p>
+                            <if i.to_media_images >
+                              <img src="${i.to_media_images[0]["icon_path"]}"
+                                width="${i.to_media_images[0]["icon_width"]}"
+                                height="${i.to_media_images[0]["icon_height"]}"
+                                border=0 alt="${i.to_media_images[0]["title"]}">
+                            </if> 
+                                         ${i.description_parsed}</p>
+                            <p align="right">[<a href="${config["Producer.DocRoot"]}${i.publish_path}${i.id}.shtml">read</a>]</p>
+                          </td>
+                        </tr>
+                      </table>
+                      <br>
+                      </list> 
+                      <!--- features ---> 
+                      </td>
+                  </tr>
+                </table>
+              </td>
+            </tr>
+          </table>
+        </td>
+      </tr>
+    </table>
+    <p>&nbsp;</p>
+  </body>
+</html>
diff --git a/etc/producers.xml b/etc/producers.xml
new file mode 100755 (executable)
index 0000000..40cbb5f
--- /dev/null
@@ -0,0 +1,188 @@
+<!-- 
+  This XML file defines a set of producers intended for a typical indymedia 
+  site:
+    - a start page
+    - a navigational bar
+    - topic pages
+    - a newswire archive
+    - articles
+-->  
+
+<producers>
+  <nodedefinition name="Language">
+    <parameters>
+      <string name="languagecondition" defaultvalue=""/>
+      <string name="bundle" defaultvalue="bundles.producer" />
+      <node name="sub"/>    
+    </parameters>
+
+    <definition>
+      <List key="languages" table="language" selection="${languagecondition}" order="code"/>
+      <Enumerate key="language" table="language" selection="${languagecondition}" order="code">
+        <Resource bundle="${bundle}" key="lang" language="${language.code}"/>
+        <Define key="pathprefix" value="${language.code}" />
+        <sub/>
+      </Enumerate>
+    </definition>
+  </nodedefinition>
+  <producer name="articles">
+    <verbs>
+      <verb name="changed" default="1">
+        <Define key="verbcondition" value=" and (not is_produced)"/>
+        <Set key="limit" value="10"/>
+      </verb>
+      <verb name="all">
+        <Define key="verbcondition" value=""/>
+        <Set key="limit" value="-1"/>
+      </verb>
+
+      <verb name="sample">
+        <Define key="verbcondition" value=""/>
+        <Set key="limit" value="10"/>
+      </verb>
+    </verbs>
+    <body>
+      <Enumerate key="article" table="content" selection="is_published='t' ${verbcondition}"
+                  limit="limit" order="webdb_create desc, date desc">
+        <Language>
+          <Generate 
+              generator="/article.template" 
+              destination="${config.storageRoot}/${pathprefix}/${article.date.formatted.yyyy}/${article.date.formatted.MM}/${article.id}.shtml"/>
+        </Language>
+
+        <MarkContent key="article"/>            
+
+    <!-- uncomment the following if you want to make a pdf version of each article  -->
+    <!-- also, you could move it up into the language tag and adjust the paths accordingly
+         to make pdfs in each language -->
+    <!-- PDFPreFormat splits up the text and mixes images in with it -->
+    <!--<PDFPreFormat key="article.content" numLinesBetweenImages="3" charWidthCM="0.19" pixelWidthCM="0.035" contentAreaWidthCM="16" lineHeightCM="0.5" />-->
+    <!-- Regular Generate Tag is used to produce an fo file(but using the split-up content -->
+    <!--<Generate generator="/printablecontent.template" destination="${config.storageRoot}/${article.content.date.formatted.yyyy}/${article.content.date.formatted.MM}/${article.content.id}.fo"/>-->
+    <!-- Finally, PDFGenerate turns the fo file into a pdf.  You could leave this step out 
+    and generate pdfs on the fly using the getpdf OpenMir module as well.  Make sure to fill in the real path on the stylesheet attribute-->
+    <!--<PDFGenerate generator="${config.storageRoot}/${article.content.date.formatted.yyyy}/${article.content.date.formatted.MM}/${article.content.id}.fo" destination="${config.storageRoot}/${article.content.date.formatted.yyyy}/${article.content.date.formatted.MM}/${article.content.id}.pdf" stylesheet="/real/path/goes/here/templates/producer/html2fo.xsl" />-->
+
+
+      </Enumerate>
+    </body>
+  </producer>  
+
+  <producer name="stylesheet">
+    <verbs>
+      <verb name="generate" default="1" description="generates the style sheet"/>
+    </verbs>
+    <body>
+      <Language>
+        <Generate 
+            generator="/stylesheet.template" 
+            destination="${config.storageRoot}/${pathprefix}/style.css"/>
+      </Language>
+    </body>
+  </producer>
+
+  <producer name="navigation">
+    <verbs>
+      <verb name="generate" default="1" description="generates the left column"/>
+    </verbs>
+    <body>
+      <Language>
+        <Generate 
+            generator="/navigation.template" 
+            destination="${config.storageRoot}/${pathprefix}/navigation.inc"/>
+      </Language>
+    </body>
+  </producer>
+  
+  <producer name="topicpages">
+    <verbs>
+      <verb name="new">
+        <Set key="pages" value="3"/>
+      </verb>
+      <verb name="all">
+        <Set key="pages" value="-1"/>
+      </verb> 
+    </verbs>
+    <body>
+      <Enumerate key="topic" table="topic">
+        <List key="special" table="content" 
+          selection="is_published='1' and to_article_type = ${articletype.topicspecial} and id in (select content_id from content_x_topic where topic_id = ${topic.id})"
+          order = "webdb_create desc, date desc" limit="1"/>
+      
+        <Batch key="articles" infokey="batch" table="content" 
+               process="pages" batchsize="20" minbatchsize="10"
+               selection="is_published='1' and to_article_type in (${articletype.newswire}, ${articletype.feature}) and id in (select content_id from content_x_topic where topic_id = ${topic.id})"
+               order="webdb_create asc">
+          <batches>
+            <Set key="filename" value="topic.filename ++ batch.current.identifier"/>
+            <Language>
+              <Generate 
+                  generator="/topicpage.template" 
+                  destination="${config.storageRoot}/${pathprefix}/${topic.filename}/${filename}.shtml"/>
+            </Language>
+          </batches>
+          <batchlist>
+          </batchlist>
+        </Batch>
+      </Enumerate>
+    </body>
+  </producer>
+  
+  <producer name="newswirearchive">
+    <verbs>
+      <verb name="new">
+        <Set key="pages" value="3"/>
+      </verb>
+      <verb name="all">
+        <Set key="pages" value="-1"/>
+      </verb> 
+    </verbs>
+    <body> 
+        <Batch key="articles" infokey="batch" table="content" 
+               process="pages" batchsize="20" minbatchsize="10"
+               selection="is_published='1' and to_article_type in (${articletype.newswire})"
+               order="webdb_create asc">
+          <batches>
+            <Set key="filename" value="archive ++ batch.current.identifier"/>
+            <Language>
+              <Generate 
+                  generator="/archive.template" 
+                  destination="${config.storageRoot}/${pathprefix}/archive/${filename}.shtml"/>
+            </Language>
+          </batches>
+          <batchlist>
+          </batchlist>
+        </Batch>
+    </body>
+  </producer>
+
+  <producer name="startpage">
+    <verbs>
+      <verb name="generate" default="1" description="Generates the startpage"/>
+    </verbs>
+
+    <body>
+      <List key="startspecial" table="content" limit="1"
+        selection="is_published=true and to_article_type=${articletype.startspecial}"
+        order="webdb_create desc, date desc"/>
+                                        
+      <List key="features" table="content" limit="10" 
+        selection="is_published=true and to_article_type=${articletype.feature}"
+        order="webdb_create desc, date desc"/>
+
+      <List key="newswire" table="content" limit="30"
+        selection="is_published=true and to_article_type=${articletype.newswire}"
+        order="webdb_create desc, date desc"/>
+        
+      <Language>
+        <Generate 
+            generator="/startpage.template" 
+            destination="${config.storageRoot}/${pathprefix}/index.shtml"/>
+      </Language>
+    </body>
+  </producer>  
+  
+</producers>
+
+
diff --git a/etc/server.xml b/etc/server.xml
new file mode 100755 (executable)
index 0000000..61eabc2
--- /dev/null
@@ -0,0 +1,10 @@
+<!-- Example Mir Configuration File -->
+ <mir name="t">
+  <class name="mircoders.servlet.ServletModuleOpenIndy">
+    <property name="directOp" value="yes"/>
+  </class>
+  <class name="mir.storage.DatabaseConfig">
+      <property name="username" value="postgres"/>
+      <property name="password" value=""/>
+  </class>
+</mir>