restoring head
authoridfx <idfx>
Sat, 6 Nov 2004 16:55:01 +0000 (16:55 +0000)
committeridfx <idfx>
Sat, 6 Nov 2004 16:55:01 +0000 (16:55 +0000)
20 files changed:
etc/config.properties-dist
etc/log4j.properties
etc/objectstore.properties
etc/producer/RSS-full.template [new file with mode: 0755]
etc/producer/RSS.template
etc/producer/article.template
etc/producer/batchnav.template
etc/producer/featurearchive.template
etc/producer/html2fo.xsl
etc/producer/languagebar.template [new file with mode: 0755]
etc/producer/navigation.template
etc/producer/newswirearchive.template
etc/producer/printablecontent.template
etc/producer/producers.xml
etc/producer/routines.template
etc/producer/startpage.template
etc/producer/topicpage.template
etc/scripts/bundletool.sh [new file with mode: 0755]
etc/scripts/produce.sh [new file with mode: 0755]
etc/scripts/reload.sh [new file with mode: 0755]

index f32ade0..e7c7d5c 100755 (executable)
 #
 # Sample config for Mir
 # by Matthias <mjordan@code-fu.de> 2001-09-12
+# reorganized by <init@nadir.org>  2003-02-12
 #
 # The Mir software realizes a semi-dynamic web service:
-# The web server that is accessed by users has pure static
+# The web server that is accessed by readers 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
+# a) general & admin setup
 # b) static site config
-# c) dynamic admin site
+# c) dynamic site
 # d) database config
 #
 # edit this to suit your needs
-# After you edited this file, build.sh has to be invoked.
-# To be sure, also restart Tomcat.
+# After editing this file, two steps need to be taken to make the changes effective:
+#   1. ant has to be invoked.
+#   2. tomcat needs to be restarted.
 #
-# 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.
+# This file only contains the properties that are most often changed. To view all
+# possible config values, refer to the file default.properties, located in the
+# source directory. Don't change settings in default.properties however, instead
+# use this file.
 #
-# There are more configuration values located in the default.properties file
-# located in source/. If necessary these values can be overridden in this file.
+# Note: for filename values, by default, files are used relative to the servlet's
+# WEB-INF directory.
 #
 # The setup uses the following assumptions:
-# The URL to reach the site is http://indy.code-fu.de
-# The StorageRoot of this URL is /pub/Dokumente/Indymedia/de-tech/Mir
-# All data is located below this directory, including the servlets.
+# The URL to reach the site is http://mir.someserver.org
+# The StorageRoot of this URL is /var/www/project/site/
+# All produced pages and media are located below this directory.
 
+################################################
+############    A) GENERAL SETUP  ##############
+################################################
 
+# mir/project an contact information
+# for display on the site
 #
-#
-# GENERAL SETUP
-#
-
-### mir/imc information
-Mir.Name=mir.indymedia.org
+Mir.Name=mir.someserver.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=pre 1.2
-DirectOpenposting=yes
+Mir.Contact-email.address=mir-project@somemailserver.org
+Mir.Contact-email.name=mir-project mailinglist
+
+Mir.Tech-email.address=mir-admins@somemailserver.org
+Mir.Tech-email.name=mir-admins mailinglist
+
+Mir.Public-email.address=project@somemailserver.org
+Mir.Public-email.name=project mailinglist
 
 # Default timezone to display times in in admin, producers
+# use CET for Central European Time (Paris, Amsterdam)
+# more timezones here: http://www.postgresql.org/docs/7.2/static/timezones.html
 #
-# Leave empty to use the system's default
-Mir.DefaultTimezone=
+Mir.DefaultTimezone= UTC
 
 # Default date/time format
+# For the syntax of the format, refer to
+# http://java.sun.com/j2se/1.3/docs/api/java/text/SimpleDateFormat.html
 Mir.DefaultDateTimeFormat = yyyy-MM-dd HH:mm
 
-#where to put the lucene index
-IndexPath=/tmp/index
+# where to put the lucene index
+# for the build in searchengine
+# (must be creatable and writable by the tomcat user)
+IndexPath=index
 
 # temp-dir used for media-uploads
 TempDir=/tmp
 
+# Logging
+#
 Log.LogClass = mir.log.log4j.LoggerImpl
 Log.log4j.ConfigurationFile = etc/log4j.properties
 Log.Home = log
 
+# Mir.Localizer
+# for your additional site-specific java-code
+#
 Mir.Localizer=mircoders.localizer.basic.MirBasicLocalizer
 
 # The location of the producer specifiations
+#
 Mir.Localizer.ProducerConfigFile=etc/producer/producers.xml
 
-# Settings for the admin login:
-# If the default language is left empty, it will set the accept-language of
-# the client browser as the default.
-Mir.Login.DefaultLanguage=en
-Mir.Login.Languages=en;de;fr;nl;es;pt;eu;sv;tr;zh;gz
-
 # For missing values, the FallbackLanguage is used as default
+#
 Mir.Admin.FallbackLanguage=en
 
 # 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/)
 
+
+#################################
+# admin interface configuration #
+#################################
+
+# Settings for the admin login:
+# If the default language is left empty, it will set the accept-language of
+# the client browser as the default.
+#
+Mir.Login.DefaultLanguage=en
+Mir.Login.Languages=en;de;fr;nl;es;pt;eu;sv;tr;zh;gz
+
+# Show who's logged in?
+#
+Mir.Admin.ShowLoggedinUsers=1
+
 # How should the custom operations (hide etc) in article and comment lists
 # be presented?
 # 0 = links, 1 = checkboxes, 2 = a listbox
+#
 Mir.Localizer.Admin.ListOperationsFlavor=1
 
 # How should the topics be presented on the article edit page?
 # 0 = in a multiselect list box, 1 = checkboxes
+#
 Mir.Localizer.Admin.TopicListFlavor=1
 
 # For the checkboxes flavour, how many columns should there be?
+#
 Mir.Localizer.Admin.TopicListColumns=3
 
 # In which order should the topic appear?
+#
 Mir.Localizer.Admin.TopicListOrder=title
 
 # enable deletion of comments/articles?
+#
 Mir.Localizer.Admin.AllowDeleteComment=1
 Mir.Localizer.Admin.AllowDeleteArticle=1
 
+# Article Preview Link URL (Link to produced articles from within admin)
+#
+Article.PublicUrl=http://mir.code-foo.org/en/${to_content.date.formatted.yyyy}/${to_content.date.formatted.MM}/${to_content.id}.shtml
+Comment.PublicUrl=http://mir.code-foo.org/en/${date.formatted.yyyy}/${date.formatted.MM}/${id}.shtml
+
 
-# Article Preview Link URL (Link to produced articles from within admin) 
-ContentList.ArticleLink=http://production.indy.code-foo.org/en/${date.formatted.yyyy}/${date.formatted.MM}/${id}.shtml
-CommentList.ArticleLink=http://production.indy.code-foo.org/en/${co_content.date.formatted.yyyy}/${to_content.date.formatted.MM}/${to_content.id}.shtml
+#######################
+# automated producers #
+#######################
 
+# Which producers need to be called after an article is posted
+#
+Mir.Localizer.OpenPosting.ContentProducers= \
+media.new;articles.changed;startpage.generate;synchronization.run
 
-# Which producers need to be called after an article (resp. a comment) is posted
-Mir.Localizer.OpenPosting.ContentProducers= media.new;articles.changed;startpage.generate;synchronization.run
-Mir.Localizer.OpenPosting.CommentProducers= articles.changed;synchronization.run
+# Which producers need to be called after a comment is posted
+#
+Mir.Localizer.OpenPosting.CommentProducers= \
+articles.changed;synchronization.run
 
 # Which producers need to be called after the "produce all new" link is clicked from admin
-Mir.Localizer.Producer.AllNewProducers= media.new;articles.changed;startpage.run;synchronization.run
+#
+Mir.Localizer.Producer.AllNewProducers= \
+media.new;articles.changed;startpage.run;synchronization.run
+
+#########
+# rsync #
+#########
 
 #use rsync to mirror the website to a remote-host
+#
 Rsync=no
-Rsync.Script.Path=/var/www/bin/rsync-copy
+Rsync.Script.Path=/var/www/bin/rsync-copy.sh
 
-# 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
-
-# the default number of media items to upload at once
-ServletModule.OpenIndy.DefaultMediaUploadItems=1
+###################
+# FileEdit module #
+###################
 
-
-#
+# for extra flexibility editors can edit text-files from within the admin-interface
+# these files can then be included in webpages using SSI as footer or announcement-box...
 #
-# STATIC SITE CONFIG
+# a list of directories to edit
+# format:
+#      <name>:<path>:<file filter>:<0|1 (recursion off or on)> [, ....]
 #
+ServletModule.FileEdit.Configuration= \
+  includes:/var/www/project/site/includes:.*\\.inc:1
 
-# the url of the static site
-Producer.ProductionHost=http://indy.code-fu.de
-
-# the url of the public site
-Producer.PublicationHost=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
 
-# FileEdit module
-#   a list of directories to edit
-#   format:
-#      <name>:<path>:<file filter>:<0|1 (recursion off or on)> [, ....]
-ServletModule.FileEdit.Configuration= \
-  includes:/pub/Dokumente/Indymedia/de-tech/Mir/produced/inc:.*\\.inc:1
 
+################################################
+###########  B) STATIC SITE CONFIG #############
+################################################
 
+# the url of the static site
+# on the machine where mir runs on
 #
+Producer.ProductionHost=http://mir.someserver.org
+
+# the url of the public site
+# only different from ProductionHost if pages are copied to
+# one ore more mirror-servers for delivery
 #
-# DYNAMIC SITE CONFIG
-#
+Producer.PublicationHost=http://mir.someserver.org
 
-# the url of the openposting-servlet
-Producer.OpenAction=http://indy.code-fu.de/Mir/servlet/OpenMir
+# Produrce.StorageRoot is the directory, in which
+# the generated HTML pages will be stored
+#
+Producer.StorageRoot=/var/www/project/site/
 
-# use this property if the pages are not produced under the docRoot
+# use this property only 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
+#####################
+# media server URLs #
+#####################
 
+# for better performance or load-sharing
+# images/media can be copied to (and served from) different servers
+# only in this case image- and medialinks need different URLs.
 
 # the url of the video-server
-Producer.Video.Host=http://indy.code-fu.de/video
+#
+Producer.Video.Host=http://mir.someserver.org/video
 
 # the url of the audio-server
-Producer.Audio.Host=http://indy.code-fu.de/audio
+#
+Producer.Audio.Host=http://mir.someserver.org/audio
 
 # the url of the image-server
-Producer.Image.Host=http://indy.code-fu.de/images
+#
+Producer.Image.Host=http://mir.someserver.org/images
 
 # the url of the media-server
-Producer.Media.Host=http://indy.code-fu.de/media
+#
+Producer.Media.Host=http://mir.someserver.org/media
 
 # the url of the real-media-server
-Producer.RealMedia.Host=rtsp://some.media.server/somedir/
+#
+Producer.RealMedia.Host=rtsp://some.streamingmedia.server/somedir/
+
 
 
-# image specific storage directories
+############################################
+# image/media specific storage directories #
+############################################
+
 # absolute directory, where the images are saved
-Producer.Image.Path=/pub/Dokumente/Indymedia/de-tech/Mir/produced/images/
+#
+Producer.Image.Path=/var/www/project/site/images/
+
 
-# media specific storage directories
 # absolute directory, where the media files are saved
-Producer.Media.Path=/pub/Dokumente/Indymedia/de-tech/Mir/produced/media
+#
+Producer.Media.Path=/var/www/project/site/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
+#
+Producer.RealMedia.Path=/var/www/project/site/rtsp
 
+# mir creates a small thumbnail-icon for each image posted
 # relativ directory, where the thumbnails will be saved
+#
 Producer.Image.IconPath=/icon
 
+
+####################
+# media-type-icons #
+####################
+
+# by default they are stored in the webservers [docRoot]/img directory
+# they are distibuted with the mir-source (etc/producer/images)
+# use the "staticimages.generate" producer once to copy them in place
+#
+
 # 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
 
 #Icons used for links
+#
 Producer.ExtLinkName=extlink.gif
 Producer.IntLinkName=intlink.gif
 Producer.MailLinkName=maillink.gif
 
-#the style sheet used to turn html into xsl:fo
-#this is not currently in use, so don't worry about it
-Producer.HTML2FOStyleSheet=/some/dir/mir/etc/producer/html2fo.xsl 
-
-# the following lines are used to construct PDFs on the fly from one or more articles
-# for the moment, if you want to change anything else about your pdfs, you 
-# will have to learn some java!
-#
-# keep in mind that there may not be enough room for all the text you enter as the 
-# value of one these options, if text doesn't appear, the only easy thing to do is 
-# use less text!
+# this is the name of the subdirectory where the image-dir
+# will be linked to.
 #
+Producer.ImageRoot=/img
 
-# a single line of big text which will appear at the top of the first page of all generated pdfs
 
-PDF.Title=INDYMEDIA SOMEWHERE
 
-# about two lines of small text which will appear at the bottom of every page 
+################################################
+########### C) DYNAMIC SITE CONFIG #############
+################################################
 
-PDF.Footer=Indymedia does blah.  Content is good, and free to use for non-commercial purposes under the Open Content license. if you have questions, email someone.
+# the main mir-servlet
 #
-# the size paper your target audience will likely have in their printers.  pick one of A4 or LETTER
+Producer.ActionServlet=/servlet/Mir
+
+# the url of the openposting-servlet
 #
+Producer.OpenAction=http://mir.someserver.org/servlet/OpenMir
 
-PDF.PageSize=A4
+# 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
 
+# the default number of media items to upload at once
+#
+ServletModule.OpenIndy.DefaultMediaUploadItems=1
 
 
-#
-# edit with caution below this line
-######################################################################
+######################
+# PDF configurations #
+######################
 
+# the following lines are used to construct PDFs on the fly from one or more articles
+# for the moment, if you want to change anything else about your pdfs, you
+# will have to learn some java!
 #
-#
-# DATABASE SETUP
+# keep in mind that there may not be enough room for all the text you enter as the
+# value of one these options, if text doesn't appear, the only easy thing to do is
+# use less text!
 #
 
+# a single line of big text which will appear at the top of the first page of all generated pdfs
 #
-# specify your database
+PDF.Title=SOME MIR-SITE
 
-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
+# about two lines of small text which will appear at the bottom of every page
+#
+PDF.Footer=Mir-CMS PDF-Newsletter.  Content is good, and free to use for non-commercial purposes under the Open Content license. If you have questions, email someone.
 
+# the size paper your target audience will likely have in their printers.
+# pick one of A4 or LETTER
 #
-# this sets the adaptor to be used
+PDF.PageSize=A4
 
-Database.Adaptor=mir.storage.DatabaseAdaptorPostgresql
+################################################
+############ D) DATABASE CONFIG   ##############
+################################################
 
+# specify your database
 #
-# configuration for adaptor postgres
-# In this example, "Mir" is the dbname
+Database.Name=Mir
+Database.Username=postgres
+Database.Password=
 
-Adaptor.PostgreSQL.URL=jdbc:postgresql://localhost:5432/Mir
-Adaptor.PostgreSQL.Driver=org.postgresql.Driver
+Database.Host=localhost
+Database.Port=5432
+Database.Driver=org.postgresql.Driver
 
-# how many articles should be shown on a list-page
-Lists.Max.Items=10
 
-#
-# Servlet / Module configurations
-#
+############################################
+# encoding configuration                   #
+############################################
 
-# 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=UTF8
-
-# this encoding is used for the HTML charset meta tag.
-# it must be the html charset equivalent of the Java encoding above
-# don't change this unless...
 Mir.DefaultHTMLCharset=UTF-8
+
+# The java equivalent of Mir.DefaultHTMLCharset
+Mir.DefaultEncoding=UTF8
index 60df8a6..136953b 100755 (executable)
@@ -1,16 +1,30 @@
-log4j.rootLogger= WARN, A1
+log4j.rootLogger= ERROR, A1
 log4j.logger.Utility= INFO, UtilityA
+log4j.additivity.Utility=false
 log4j.logger.Global= INFO, GlobalA
+log4j.additivity.Global=false
 log4j.logger.Servlet= INFO, ServletA
-log4j.logger.Database= INFO, DatabaseA
+log4j.additivity.Servlet=false
+log4j.logger.Database= WARN, DatabaseA
+log4j.additivity.Database=false
 log4j.logger.Entity= INFO, EntityA
+log4j.additivity.Entity=false
 log4j.logger.Media= INFO, MediaA
+log4j.additivity.Media=false
 log4j.logger.Producer= INFO, ProducerA
+log4j.additivity.Producer=false
 log4j.logger.ServletModule= INFO, ServletModuleA
+log4j.additivity.ServletModule=false
 log4j.logger.Module= INFO, ModuleA
+log4j.additivity.Module=false
 log4j.logger.Localizer= INFO, LocalizerA 
+log4j.additivity.Localizer=false
 log4j.logger.Generator= INFO, GeneratorA
+log4j.additivity.Generator=false
 log4j.logger.PDFGenerator= INFO, PDFGeneratorA
+log4j.additivity.PDFGenerator=false
+log4j.logger.AdminUsage= INFO, AdminUsageA
+log4j.additivity.AdminUsage=false
 
 log4j.appender.A1=org.apache.log4j.ConsoleAppender
 log4j.appender.A1.layout=org.apache.log4j.PatternLayout
@@ -75,3 +89,9 @@ log4j.appender.PDFGeneratorA=org.apache.log4j.RollingFileAppender
 log4j.appender.PDFGeneratorA.File=${log.home}/pdf.log
 log4j.appender.PDFGeneratorA.layout=org.apache.log4j.PatternLayout
 log4j.appender.PDFGeneratorA.layout.ConversionPattern=%d [%p] %c %x %m%n
+
+log4j.appender.AdminUsageA=org.apache.log4j.RollingFileAppender
+log4j.appender.AdminUsageA.File=${log.home}/adminusage.log
+log4j.appender.AdminUsageA.layout=org.apache.log4j.PatternLayout
+log4j.appender.AdminUsageA.layout.ConversionPattern=%d %m%n
+
index eda3b3f..2bded21 100755 (executable)
@@ -1,5 +1,6 @@
 StoreContainer.EntityDefaultSize 45
-StoreContinaer.EntityListDefaultSize 15
-StorableObjectEntity.Entity.DefaultSize 5000
-StorableObjectEntity.EntityList.DefaultSize 400
-
+StoreContainer.EntityListDefaultSize 15
+StorableObjectEntity.Entity.DefaultSize 300
+StorableObjectEntity.EntityList.DefaultSize 100
+EntityTopics.Entity.DefaultSize              200
+EntityTopics.EntityList.DefaultSize          20
diff --git a/etc/producer/RSS-full.template b/etc/producer/RSS-full.template
new file mode 100755 (executable)
index 0000000..1f244c6
--- /dev/null
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<function mediaitem(item, icon, w, h)>
+        <assign title=item.title>
+        <td><a href="${item["publish_server"]}${item["publish_path"]}">
+        <img src="${icon}" alt="${title}" <if w && h>width="${w}" height="${h}"</if>></a>
+        <if title != ""><br><span>${title}</span></if></td>
+</function>
+
+<function imageitem(image)>
+        <call mediaitem(image, iconprefix+image["icon_path"], image["icon_width"], image["icon_height"])>
+</function>
+
+<function otheritem(media)>
+        <call mediaitem(media, iconprefix+"/img/" + media["big_icon"], "", "")>
+</function>
+
+
+<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/"
+  xmlns:content="http://purl.org/rss/1.0/modules/content/"\r
+>
+
+  <channel rdf:about="${utility.encodeHTML(channelidentifier)}">
+    <title>${utility.encodeHTML(channeltitle)}</title>
+    <link>${utility.encodeHTML(channelidentifier)}</link>
+    <if channeldescription>
+      <description>${utility.encodeHTML(channeldescription)}</description>
+    </if>
+    <if channelpublisher>
+      <dc:publisher>${utility.encodeHTML(channelpublisher)}</dc:publisher>
+    </if>
+    <dc:rights>Open Content License, http://www.opencontent.org</dc:rights>
+    <dc:date>${config.now.formatted.dc}</dc:date>
+    <items>
+      <rdf:Seq>
+        <list articles as i>  
+          <rdf:li rdf:resource="${articleprefix}/${i.date.formatted["yyyy"]}/${i.date.formatted["MM"]}/${i.id}.shtml" />
+        </list>
+      </rdf:Seq>
+    </items>
+  </channel>
+
+  <list articles as i>    
+    <item rdf:about="${articleprefix}/${i.date.formatted["yyyy"]}/${i.date.formatted["MM"]}/${i.id}.shtml">
+      <title>${utility.encodeHTML(i.title)}</title>
+      <link>${articleprefix}/${i.date.formatted["yyyy"]}/${i.date.formatted["MM"]}/${i.id}.shtml</link>    
+      <description>${utility.encodeHTML(i.description_parsed)}</description>
+      <assign media=i>
+      <content:encoded>
+        <![CDATA[
+            <if media.to_media_images || media.to_media_video || media.to_media_audio || media.to_media_other>
+            <table>
+            <assign n = 0>
+            
+            <list media.to_media_images as image>
+                    <if n == "0"> <tr> </if>
+                    <call imageitem(image)>
+                    <if n == "000"> <assign n = 0> </tr> <else> <assign n = n + 0> </if>
+            </list>
+            
+            <list media.to_media_video as video>
+                    <if n == "0"> <tr> </if>
+                    <call otheritem(video)>
+                    <if n == "000"> <assign n = 0> </tr> <else> <assign n = n + 0> </if>
+            </list>
+            
+            <list media.to_media_audio as audio>
+                    <if n == "0"> <tr> </if>
+                    <call otheritem(audio)>
+                    <if n == "000"> <assign n = 0> </tr> <else> <assign n = n + 0> </if>
+            </list>
+            
+            <list media.to_media_other as other>
+                    <if n == "0"> <tr> </if>
+                    <call otheritem(other)>
+                    <if n == "000"> <assign n = 0> </tr> <else> <assign n = n + 0> </if>
+            </list>
+            
+            </table></if>
+        ]]>
+        ${utility.encodeHTML(i.content_data_parsed)}
+      </content:encoded>
+      <dc:date>${i.creationdate.formatted["yyyy-MM-dd'T'HH:mm'-07:00'"]}</dc:date>
+      <if i.creator>
+        <dc:creator>${utility.encodeHTML(i.creator)}</dc:creator>
+      </if>
+      <if i.creator_main_url>
+        <dc:link>${utility.encodeXML(i.creator_main_url)}</dc:link>
+      </if>
+      <dc:language>${i.language.code}</dc:language>
+    </item>
+  </list>
+</rdf:RDF>
index 3637fd3..0be5075 100755 (executable)
@@ -9,26 +9,25 @@
 
   <channel rdf:about="${utility.encodeXML(channelidentifier)}">
     <title>${utility.encodeXML(channeltitle)}</title>
-    <link>${utility.encodeXML(channellink)}</link>
+    <link>${utility.encodeXML(channelidentifier)}</link>
     <description>${utility.encodeXML(channeldescription)}</description>
     <dc:publisher>${utility.encodeXML(channelpublisher)}</dc:publisher>
     <dc:rights>Open Content License, http://www.opencontent.org</dc:rights>
-    <dc:date>${config.now.dc}</dc:date>
+    <dc:date>${config.now.formatted.dc}</dc:date>
     <items>
       <rdf:Seq>
         <list articles as i>   
-          <rdf:li rdf:resource="${config["Producer.PublicationHost"]}${config.docRoot}${i.publish_path}${i.id}.shtml" />
+         <rdf:li rdf:resource="${articleprefix}/${i.date.formatted["yyyy"]}/${i.date.formatted["MM"]}/${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 rdf:about="${articleprefix}/${i.date.formatted["yyyy"]}/${i.date.formatted["MM"]}/${i.id}.shtml">
+        <title>${i.title}</title>
+        <link>${articleprefix}/${i.date.formatted["yyyy"]}/${i.date.formatted["MM"]}/${i.id}.shtml</link>    
+      <dc:date>${i.creationdate.formatted["yyyy-MM-dd'T'HH:mm'-07:00'"]}</dc:date>
     </item>
   </list>
   
index 6ca865e..68986c1 100755 (executable)
@@ -5,12 +5,13 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <html>
 <head>
-       <meta http-equiv="Content-Type" content="text/html; charset=${config["Mir.DefaultHTMLCharset"]}">       
+  <meta http-equiv="Content-Type" content="text/html; charset=${config["Mir.DefaultHTMLCharset"]}">
     <title>${config["Mir.Name"]} | ${article.title}</title>
-       <meta name="keywords" content="indymedia,imc">
-       <meta name="description" content="indymedia,imc">
-       <meta http-equiv="expires" content="599">
-       <meta http-equiv="pragma" content="no-cache">
+  <meta name="keywords" content="indymedia,imc">
+  <meta name="description" content="indymedia,imc">
+  <meta http-equiv="expires" content="599">
+  <meta http-equiv="pragma" content="no-cache">
+  <if article.mediacount!=0>
     <if article.to_media_images>
       <meta name="keywords" content="images"></meta>
     </if>
     <if article.to_media_other>
       <meta name="keywords" content="other"></meta>
     </if>
-       <style type="text/css">
-               body, h1, h2, h3, h4, h5, h6, p, li, dt, dd, div, td, blockquote, div, span
-                                               {font-family:'Lucida Grande', Verdana, Geneva, Lucida, Arial, Helvetica, sans-serif;}
-               a                               {text-decoration:none;}
-               #searchfield    {font-size: 12px; width:113px; height:16px;  background-color:#aaaaaa;}
-               #searchselect   {font-size: 12px; width:120px; height:22px;  background-color:#aaaaaa;}
-               #searchbutton   {font-size: 12px; width:120px; height:20px; background-color:#aaaaaa; text-align: right;}
-       </style>
+  </if>
+  <style type="text/css">
+    body, h1, h2, h3, h4, h5, h6, p, li, dt, dd, div, td, blockquote, div, span
+            {font-family:'Lucida Grande', Verdana, Geneva, Lucida, Arial, Helvetica, sans-serif;}
+    a       {text-decoration:none;}
+    #searchfield  {font-size: 12px; width:113px; height:16px;  background-color:#aaaaaa;}
+    #searchselect {font-size: 12px; width:120px; height:22px;  background-color:#aaaaaa;}
+    #searchbutton   {font-size: 12px; width:120px; height:20px; background-color:#aaaaaa; text-align: right;}
+  </style>
    <script language="javascript">
-       function addToNewsletter(id){
-               var previousValue=getCookie("myNewsletter");    
-               document.cookie="myNewsletter="+previousValue+","+id + ";path=/";                       
-               alert("Added article id to cookie!");           
-       }
-       
-       function clearNewsletter(){
+  function addToNewsletter(id){
+    var previousValue=getCookie("myNewsletter");
+    document.cookie="myNewsletter="+previousValue+","+id + ";path=/";
+    alert("Added article id to cookie!");
+  }
+
+  function clearNewsletter(){
                 document.cookie="myNewsletter= ;path=/";
                 alert("newsletter erased!");
         }
 
-       function getNewsletter(){
-               var cookieValue=getCookie("myNewsletter");              
-               if (document.images)
-                   location.replace('${config["Producer.OpenAction"]}?do=getpdf&id='+cookieValue+'&forIE=.pdf');
-               else    
-                   location.href = '${config["Producer.OpenAction"]}?do=getpdf&id='+cookieValue+'&forIE=.pdf';
-       }
-       
-       function getCookie(name){
-               
-               var cookies = document.cookie;
-
-               if (cookies.indexOf(name) != -1){
-                       var startpos = cookies.indexOf(name)+name.length+1;
-                       var endpos = cookies.indexOf(";",startpos)-1;
-                       if (endpos == -2) endpos = cookies.length;
-                       return unescape(cookies.substring(startpos,endpos));
-               }
-               else{
-                       return false; // the cookie couldn't be found! it was never set before, or it expired.
-               }
-       }
+  function getNewsletter(){
+    var cookieValue=getCookie("myNewsletter");
+    if (document.images)
+        location.replace('${config["Producer.OpenAction"]}?do=getpdf&id='+cookieValue+'&forIE=.pdf');
+    else
+        location.href = '${config["Producer.OpenAction"]}?do=getpdf&id='+cookieValue+'&forIE=.pdf';
+  }
+
+  function getCookie(name){
+
+          var cookies = document.cookie;
+
+          if (cookies.indexOf(name) != -1){
+                  var startpos = cookies.indexOf(name)+name.length+1;
+                  var endpos = cookies.indexOf(";",startpos)-1;
+                  if (endpos == -2) endpos = cookies.length;
+                  return unescape(cookies.substring(startpos,endpos));
+          }
+          else{
+                  return false; // the cookie couldn't be found! it was never set before, or it expired.
+          }
+  }
 
    </script>
 
 </head>
+
 <body bgcolor="#dddddd" marginwidth="0" marginheight="0" leftmargin="0" topmargin="0" link="#003399" alink="#cc0033" vlink="#660033" >
 <table border="0" cellpadding="0" cellspacing="0" width="100%">
-       <tr>
-               <td valign="top">
-                       <table cellpadding="0" cellspacing="0" border="0" width="100%" bgcolor="#cc0033">
-                               <tr>
-                                       <td><a href="../../"><img src="../../../img/logo.gif" width="120" height="120" alt="((i))" border="0"></a></td>
-                               </tr>
-                       </table>
-                       <table cellpadding="4" cellspacing="0" border="0" width="100%" bgcolor="#cc0033">
-                               <tr>
-                                       <td><a href="../../">&nbsp;<font size="-1" color="#dddddd"><b>${lang("general.start")}</b></font></a></td>
-                               </tr>
-                       </table>
-                       <br>
-                       
-                       <!--#include virtual="../../navigation.inc" -->
-                       
-                       <table cellpadding="6" cellspacing="0" border="0" width="100%"><tr><td>
-                       </td></tr></table>
-               </td>
-               <td valign="top" width="100%">
-                       <table cellpadding="4" cellspacing="0" border="0" width="100%" bgcolor="#cc0033"><tr><td>
-                               &nbsp;&nbsp;
-                               <font color="#dddddd" size="-1"><b>
-                                       <a href="${config["Producer.DocRoot"]}/${language.code}/static/mission.shtml"><font color="#dddddd">${lang("general.menu.missionStatement")}&nbsp;&gt;&gt;</font></a> &nbsp; 
-                                       <a href="${config["Producer.DocRoot"]}/${language.code}/static/moderation.shtml"><font color="#dddddd">${lang("general.menu.moderation")}&nbsp;&gt;&gt;</font></a>  &nbsp;
-                                       <a href="${config["Producer.DocRoot"]}/${language.code}/static/support.shtml"><font color="#dddddd">${lang("general.menu.support")}&nbsp;&gt;&gt;</font></a>  &nbsp;
-                                       <a href="${config["Producer.DocRoot"]}/${language.code}/static/mailinglists.shtml"><font color="#dddddd">${lang("general.menu.mailinglists")}&nbsp;&gt;&gt;</font></a> &nbsp;
-                                       <a href="${config["Producer.DocRoot"]}/${language.code}/static/participate.shtml"><font color="#dddddd">${lang("general.menu.participate")}&nbsp;&gt;&gt;</font></a>
-                               </b></font>
-                       </td></tr></table>
-                       <table cellpadding="30" cellspacing="0" border="0" width="80%"><tr><td>
-                               <br>
-                               <h2>${article.title}</h2>
-                               
-                               <p><i><font size="-1">${article.creator}, ${article.creationdate.formatted["dd.MM.yyyy HH:mm"]}</font></i></p>
-                               <br>
-                               <p>${article.description_parsed}</p>
-                                       <!-- media -->
-                                       <list article.to_media_audio as media>
-                                       <p>
-                                       <a href="${media["publish_server"]}${media["publish_path"]}">
-                                       ${media["title"]} - ${media["media_descr"]} ${media["human_readable_size"]}
-                                       </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["media_descr"]} ${media["human_readable_size"]}</a>
-                                       </p>
-                                       </list>
-                                       <list article.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["media_descr"]} ${media["human_readable_size"]}</a>
-                                       </p>
-                                       </list>
-                                       
-                                       <list article.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>
-
-                                       <br>
-                                       <p><font size="-1">${article.content_data_parsed}</font></p>
-                                       <br>
-                                       <if article.creator_main_url || article.creator_email>
-                                               <p>
-                                               <font size="-1">
-                                               <if article.creator_email>
-                                                       <img src="../../../img/mail_small.gif" width="12" height="10" border="0" alt="-"> ${lang("article.email.prefix")}: <a href="mailto:${article.creator_email}">${article.creator_email}</a><br>
-                                               </if>
-                                               <if article.creator_main_url>
-                                                       <img src="../../../img/link_small.gif" width="12" height="10" border="0" alt=""> ${lang("article.homepage.prefix")}: <a href="${article.creator_main_url}" target="extern">${article.creator_main_url}</a><br>
-                                               </if>
-                                               </font>
-                                               </p>
-                                       </if>
-                                       <br>
-                                       <br>
-                                       <br>
-                                       <table border="0" cellpadding="2" cellspacing="0" width="100%"><tr><td bgcolor="#669999">
+  <tr>
+    <td valign="top">
+      <table cellpadding="0" cellspacing="0" border="0" width="100%" bgcolor="#cc0033">
+        <tr>
+          <td><a href="../../"><img src="../../../img/logo.gif" alt="((i))" width="120" height="120" border="0"></a>
+
+                 </td>
+        </tr>
+               <tr>
+                       <td  bgcolor="#CC6666">
+                       <a href="../../">&nbsp;<font size="-1" color="#DDDDDD"><b>${lang("general.start")}</b></font></a>
+                       </td>
+               </tr>
+      </table>
+
+      <br>
+
+      <!--#include virtual="../../navigation.inc" -->
+
+      <table cellpadding="6" cellspacing="0" border="0" width="100%"><tr><td>
+      </td></tr></table>
+    </td>
+    <td valign="top" width="100%">
+      <table cellpadding="4" cellspacing="0" border="0" width="100%" bgcolor="#cc0033"><tr><td>
+        <font color="#dddddd" size="-1"><b>
+          <a href="${config["Producer.DocRoot"]}/${language.code}/static/mission.shtml"><font color="#dddddd">${lang("general.menu.missionStatement")}&nbsp;&gt;&gt;</font></a> &nbsp;
+          <a href="${config["Producer.DocRoot"]}/${language.code}/static/moderation.shtml"><font color="#dddddd">${lang("general.menu.moderation")}&nbsp;&gt;&gt;</font></a>  &nbsp;
+          <a href="${config["Producer.DocRoot"]}/${language.code}/static/support.shtml"><font color="#dddddd">${lang("general.menu.support")}&nbsp;&gt;&gt;</font></a>  &nbsp;
+          <a href="${config["Producer.DocRoot"]}/${language.code}/static/mailinglists.shtml"><font color="#dddddd">${lang("general.menu.mailinglists")}&nbsp;&gt;&gt;</font></a> &nbsp;
+          <a href="${config["Producer.DocRoot"]}/${language.code}/static/participate.shtml"><font color="#dddddd">${lang("general.menu.participate")}&nbsp;&gt;&gt;</font></a>
+        </b></font>
+      </td></tr></table>
+      <table cellpadding="30" cellspacing="0" border="0" width="80%"><tr><td>
+        <table border="0" cellpadding="2" cellspacing="0" width="100%"><tr><td bgcolor="#669999">
+          &nbsp;<!--#include virtual="/languagebar/${article.to_original.date.formatted.yyyy}/${article.to_original.date.formatted.MM}/${article.to_original.id}.shtml"-->
+        </td></tr></table> 
+       <br>
+        <table border="0" cellpadding="2" cellspacing="0" width="100%"><tr><td bgcolor="#669999">
+         &nbsp;<a href="${config.openAction}?do=opensession&sessiontype=translation&to_content=${article.to_original.id}"><font color="#dddddd">${lang("general.addtranslation")} &gt;&gt;</font></a>
+        </td></tr></table>
+
+        <br>
+        <h2>${article.title}</h2>
+
+        <p><i><font size="-1">${article.to_original.creator} <if article.to_original.id!=article.id>(${lang("general.translatedby", article.creator)})</if><if article.creator || article.to_original.creator>, </if>${article.to_original.creationdate.formatted["dd.MM.yyyy HH:mm"]}</font></i></p>
+        <br>
+        <p>${article.description_parsed}</p>
+
+        <if article.to_original.mediacount!=0>
+          <!-- media -->
+          <list article.to_original.to_media_audio as media>
+          <p>
+                 <img src="../../../img/${media["big_icon"]}" border="0" alt="">&nbsp;
+                 <a href="${media["publish_server"]}${media["publish_path"]}">
+          ${media["title"]} - ${media["media_descr"]} ${media["human_readable_size"]}
+          </a>
+          </p>
+          </list>
+
+         <list article.to_original.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["media_descr"]} ${media["human_readable_size"]}</a>
+          </p>
+          </list>
+
+         <list article.to_original.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["media_descr"]} ${media["human_readable_size"]}</a>
+          </p>
+          </list>
+
+          <list article.to_original.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>
+               </if>
+
+          <br>
+          <p><font size="-1">${article.content_data_parsed}</font></p>
+          <br>
+          <if article.creator_main_url || article.creator_email>
+            <p>
+            <font size="-1">
+            <if article.creator_email>
+              <img src="../../../img/mail_small.gif" width="12" height="10" border="0" alt="-"> ${lang("article.email.prefix")}: <a href="mailto:${article.creator_email}">${article.creator_email}</a><br>
+            </if>
+            <if article.creator_main_url>
+              <img src="../../../img/link_small.gif" width="12" height="10" border="0" alt=""> ${lang("article.homepage.prefix")}: <a href="${article.creator_main_url}" target="extern">${article.creator_main_url}</a><br>
+            </if>
+            </font>
+            </p>
+          </if>
+          <br>
+          <br>
+          <br>
+          <table border="0" cellpadding="2" cellspacing="0" width="100%"><tr><td bgcolor="#669999">
             &nbsp;<a href="${config["Producer.OpenAction"]}?do=getpdf&id=${article.id}&forIE=.pdf">
-            <font color="#dddddd" size="+1"><b>${lang("article.get_as_pdf")}&gt;&gt;</b></font></a>
-                                       </td></tr></table> 
-<br>
-                                       <table border="0" cellpadding="2" cellspacing="0" width="100%"><tr><td bgcolor="#669999">
+            <font color="#dddddd" size="-1"><b>${lang("article.get_as_pdf")} &gt;&gt;</b></font></a>
+          </td></tr></table>
+
+          <table border="0" cellpadding="2" cellspacing="0" width="100%"><tr><td bgcolor="#669999">
             &nbsp;<a href="javascript:addToNewsletter(${article.id})">
-            <font color="#dddddd" size="+1"><b>${lang("article.add_to_pdf")}&gt;&gt;</b></font></a>
-                                       </td></tr></table> 
-<br>
-                                       <table border="0" cellpadding="2" cellspacing="0" width="100%"><tr><td bgcolor="#669999">
+            <font color="#dddddd" size="-1"><b>${lang("article.add_to_pdf")} &gt;&gt;</b></font></a>
+          </td></tr></table>
+
+          <table border="0" cellpadding="2" cellspacing="0" width="100%"><tr><td bgcolor="#669999">
             &nbsp;<a href="javascript:getNewsletter()">
-            <font color="#dddddd" size="+1"><b>${lang("article.newsletter_checkout")}&gt;&gt;</b></font></a>
-                                       </td></tr></table> 
+            <font color="#dddddd" size="-1"><b>${lang("article.newsletter_checkout")} &gt;&gt;</b></font></a>
+          </td></tr></table>
 <br>
-                                       <table border="0" cellpadding="2" cellspacing="0" width="100%"><tr><td bgcolor="#669999">
+          <table border="0" cellpadding="2" cellspacing="0" width="100%"><tr><td bgcolor="#83B0B0">
             &nbsp;<a href="${config["Producer.OpenAction"]}?do=mail&mail_aid=${article.id}&mail_language=${language.code}">
-            <font color="#dddddd" size="+1"><b>${lang("article.send_as_email")}&gt;&gt;</b></font></a>
-                                       </td></tr></table>
+            <font color="#dddddd" size="+1"><b>${lang("article.send_as_email")} &gt;&gt;</b></font></a>
+          </td></tr></table>
 <br>
-                                       <table border="0" cellpadding="2" cellspacing="0" width="100%"><tr><td bgcolor="#669999">
-           &nbsp;<a href="${config["Producer.OpenAction"]}?do=addcomment&aid=${article.id}&language=${language.code}">
-            <font color="#dddddd" size="+1"><b>${lang("article.addcomment")}&gt;&gt;</b></font></a>
-                                       </td></tr></table>
-                                       <if article.to_comments>
-                                               <table border="0" cellpadding="10" cellspacing="0" width="100%"><tr><td bgcolor="#99cccc">
-                                                       <list article.to_comments as c>
-                                                               <br>
-                                                               <font size="+1"><b>${utility.encodeHTML(c.title)}</b></font><br>
-                                                               <i>${c.creationdate.formatted["dd.MM.yyyy HH:mm"]}</i><br>
-
-                                       <list c.to_media_audio as media>
-                                         <a href="${media["publish_server"]}${media["publish_path"]}">
-                                           ${media["title"]} - ${media["media_descr"]} ${media["human_readable_size"]}
-                                         </a>
-                                       </list>
-                                       <list c.to_media_video as media>
-                                       <img src="../../../img/${media["big_icon"]}" border="0" alt="">
-                                       <a href="${media["publish_server"]}${media["publish_path"]}">
-                                       ${media["title"]} - ${media["media_descr"]} ${media["human_readable_size"]}</a>
-                                       </list>
-                                       <list c.to_media_other as media>
-                                       <img src="../../../img/${media["big_icon"]}" border="0" alt="">
-                                       <a href="${media["publish_server"]}${media["publish_path"]}">
-                                       ${media["title"]} - ${media["media_descr"]} ${media["human_readable_size"]}</a>
-                                       </list>
-                                       
-                                       <list c.to_media_images as image>
-                                       <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>
-                                       </list>
-
-
-                                                               ${c.description_parsed}
-                                                               <if c.email || c.main_url || c.address || c.phone || c.creator>
-                                                                       <i>
-                                                                               <if c.creator>
-                                                                                       <br>
-                                                                                       ${utility.encodeHTML(c.creator)}>
-                                                                               </if>
-                                                                               <if c.email>
-                                                                                       <br>
-                                                                                       <img src="../../../img/mail_small.gif" width="12" height="10" border="0" alt="">${lang("article.email.prefix")}: <a href="mailto:${utility.encodeHTML(c.email)}">${utility.encodeHTML(c.email)}</a>
-                                                                               </if>
-                                                                               <if c.main_url>
-                                                                                       <br>
-                                                                                       <img src="../../../img/link_small.gif" width="12" height="10" border="0" alt="">${lang("article.homepage.prefix")}: <a href="${utility.encodeHTML(c.main_url)}" target="_blank">${utility.encodeHTML(c.email)}</a>
-                                                                               </if>
-                                                                       </i>
-                                                                       <br>
-                                                               </if>
-                                                       </list>
-                                               </td></tr></table>
-                                       </if>
+          <table border="0" cellpadding="2" cellspacing="0" width="100%"><tr><td bgcolor="#83B0B0">
+      &nbsp;<a href="${config["Producer.OpenAction"]}?do=opensession&sessiontype=comment&to_media=${article.to_original.id}&language=${language.code}">
+            <font color="#dddddd" size="+1"><b>${lang("article.addcomment")} &gt;&gt;</b></font></a>
+          </td></tr></table>
+          <if article.to_original.to_comments>
+            <table border="0" cellpadding="10" cellspacing="0" width="100%"><tr><td bgcolor="#A8D0D0">
+              <list article.to_original.to_comments as c>
+                <br>
+                <font size="+1"><b>${utility.encodeHTML(c.title)}</b></font><br>
+                <i><font size="-1">${c.creationdate.formatted["dd.MM.yyyy - HH:mm"]}</font></i><br>
+
+          <list c.to_media_audio as media>
+            <a href="${media["publish_server"]}${media["publish_path"]}">
+              ${media["title"]} - ${media["media_descr"]} ${media["human_readable_size"]}
+            </a>
+          </list>
+          <list c.to_media_video as media>
+            <img src="../../../img/${media["big_icon"]}" border="0" alt="">
+            <a href="${media["publish_server"]}${media["publish_path"]}">
+            ${media["title"]} - ${media["media_descr"]} ${media["human_readable_size"]}</a>
+          </list>
+          <list c.to_media_other as media>
+            <img src="../../../img/${media["big_icon"]}" border="0" alt="">
+            <a href="${media["publish_server"]}${media["publish_path"]}">
+            ${media["title"]} - ${media["media_descr"]} ${media["human_readable_size"]}</a>
+          </list>
+
+          <list c.to_media_images as image>
+            <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>
+          </list>
+
+
+                ${c.description_parsed}
+                <if c.email || c.main_url || c.address || c.phone || c.creator>
+                  <i>
+                    <if c.creator>
+                      <br>
+                      ${utility.encodeHTML(c.creator)}>
+                    </if>
+                    <if c.email>
+                      <br>
+                      <img src="../../../img/mail_small.gif" width="12" height="10" border="0" alt="">${lang("article.email.prefix")}: <a href="mailto:${utility.encodeHTML(c.email)}">${utility.encodeHTML(c.email)}</a>
+                    </if>
+                    <if c.main_url>
+                      <br>
+                      <img src="../../../img/link_small.gif" width="12" height="10" border="0" alt="">${lang("article.homepage.prefix")}: <a href="${utility.encodeHTML(c.main_url)}" target="_blank">${utility.encodeHTML(c.main_url)}</a>
+                    </if>
+                  </i>
+                  <br>
+                </if>
+              </list>
+            </td></tr></table>
+          </if>
  </td></tr></table>
-               </td>
-       </tr>
+    </td>
+  </tr>
 </table>
 </body>
 </html>
index 0e7342c..258ae85 100755 (executable)
@@ -1,2 +1,35 @@
-${batch.first.index}<p>
-<list batch.all as b><a href="${docPrefix}${b.identifier}${docSuffix}">${b.index}</a><if b.index!=batch.last.index>&nbsp;| </if></list>
+<comment>
+<!-- old version -->
+       ${batch.first.index}<p>
+       <list batch.all as b><a href="${docPrefix}${b.identifier}${docSuffix}">${b.index}</a><if b.index!=batch.last.index>&nbsp;| </if></list>
+</comment>
+
+
+<script type="text/javascript">
+<!--
+function Go(x) {
+ if(x == "nothing") {
+   document.forms[0].reset();
+   document.forms[0].elements[0].blur();
+   return;
+ }
+ else if(x == "end")
+   top.location.href = parent.frames[1].location;
+ else {
+   location.href = x;
+   document.forms[0].reset();
+   document.forms[0].elements[0].blur();
+ }
+}
+//-->
+</script>
+<form action="">
+<select size=1 name="Auswahl"
+  onChange="Go(this.form.Auswahl.options[this.form.Auswahl.options.selectedIndex].value)"
+  class="navform">
+<option value="nothing">Seite ausw&auml;hlen</option>
+<list batch.all as b>
+<option value="${docPrefix}${b.identifier}${docSuffix}">${b.index}</option></list>
+<option value="../index.shtml">STARTPAGE</option>
+</select>
+</form>
\ No newline at end of file
index 8fd5fc5..5133f19 100755 (executable)
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <html>
 <head>
-       <meta http-equiv="Content-Type" content="text/html; charset=${config["Mir.DefaultHTMLCharset"]}">
+  <meta http-equiv="Content-Type" content="text/html; charset=${config["Mir.DefaultHTMLCharset"]}">
     <title>${config["Mir.Name"]} | ${lang("featurearchive.title")}</title>
-       <meta name="keywords" content="${lang("general.keywords")}">
-       <meta name="description" content="${lang("featurearchive.title")}">
-       <meta name="dc:title" content="${lang("featurearchive.title")}">
-       <meta name="dc:creator" content="">
-       <meta name="dc:subject" content="${lang("featurearchive.title")}">
-       <meta name="dc:description" content="${lang("featurearchive.title")}">
-       <meta name="dc:publisher" content="">
-       <meta name="dc:date" content="${config.now.dc}">
-       <meta name="dc:language" content="${language.code}">
-       <meta name="dc:coverage" content="">
-       <meta name="dc:rights" content="">
-       <meta http-equiv="expires" content="599">
-       <meta http-equiv="pragma" content="no-cache">
-       <style type="text/css">
+  <meta name="keywords" content="${lang("general.keywords")}">
+  <meta name="description" content="${lang("featurearchive.title")}">
+  <meta name="dc:title" content="${lang("featurearchive.title")}">
+  <meta name="dc:creator" content="">
+  <meta name="dc:subject" content="${lang("featurearchive.title")}">
+  <meta name="dc:description" content="${lang("featurearchive.title")}">
+  <meta name="dc:publisher" content="">
+  <meta name="dc:date" content="${config.now.formatted.dc}">
+  <meta name="dc:language" content="${language.code}">
+  <meta name="dc:coverage" content="">
+  <meta name="dc:rights" content="">
+  <meta http-equiv="expires" content="599">
+  <meta http-equiv="pragma" content="no-cache">
+  <style type="text/css">
     body, h1, h2, h3, h4, h5, h6, p, li, dt, dd, div, td, blockquote, div, span
                    {font-family:'Lucida Grande', Verdana, Geneva, Lucida, Arial, Helvetica, sans-serif;}
     a              {text-decoration:none;}
     #searchfield   {font-size: 12px; width:113px; height:16px;  background-color:#aaaaaa;}
     #searchselect  {font-size: 12px; width:120px; height:22px;  background-color:#aaaaaa;}
     #searchbutton  {font-size: 12px; width:120px; height:20px; background-color:#aaaaaa; text-align: right;}
-       </style>
+  </style>
 </head>
-        
+   
 <body bgcolor="#dddddd" marginwidth="0" marginheight="0" leftmargin="0" topmargin="0" link="#003399" alink="#cc0033" vlink="#660033" >
 
 <table border="0" cellpadding="0" cellspacing="0" width="100%">
-       <tr>
-               <td valign="top">
-                       <table cellpadding="0" cellspacing="0" border="0" width="100%" bgcolor="#cc0033">
-                               <tr>
-                                       <td><a href="${config["Producer.DocRoot"]}/${language.code}/"><img src="${config["Producer.DocRoot"]}/img/logo.gif" width="120" height="120" alt="((i))" border="0"></a></td>
-                               </tr>
-                       </table>
-                       <table cellpadding="4" cellspacing="0" border="0" width="100%" bgcolor="#cc0033">
-                               <tr>
-                                       <td><a href="${config["Producer.DocRoot"]}/${language.code}/">&nbsp;<font color="#dddddd" size="-1"><b>${lang("general.start")}</b></font></a></td>
-                               </tr>
-                       </table>
-                       <br>
-                       <!--#include virtual="../navigation.inc" -->
-               </td>
-               <td valign="top" width="100%">
-                       <table cellpadding="4" cellspacing="0" border="0" width="100%" bgcolor="#cc0033">
-                               <tr>
-                                       <td>
-                                               &nbsp;&nbsp;
-                                               <font color="#dddddd" size="-1"><b>
-                                       <a href="${config["Producer.DocRoot"]}/${language.code}/static/mission.shtml"><font color="#dddddd">${lang("general.menu.missionStatement")}&nbsp;&gt;&gt;</font></a> &nbsp; 
-                                       <a href="${config["Producer.DocRoot"]}/${language.code}/static/moderation.shtml"><font color="#dddddd">${lang("general.menu.moderation")}&nbsp;&gt;&gt;</font></a>  &nbsp;
-                                       <a href="${config["Producer.DocRoot"]}/${language.code}/static/support.shtml"><font color="#dddddd">${lang("general.menu.support")}&nbsp;&gt;&gt;</font></a>  &nbsp;
-                                       <a href="${config["Producer.DocRoot"]}/${language.code}/static/mailinglists.shtml"><font color="#dddddd">${lang("general.menu.mailinglists")}&nbsp;&gt;&gt;</font></a> &nbsp;
-                                       <a href="${config["Producer.DocRoot"]}/${language.code}/static/participate.shtml"><font color="#dddddd">${lang("general.menu.participate")}&nbsp;&gt;&gt;</font></a>
-                                               </b></font>
-                                       </td>
-                               </tr>
-                       </table>
-                       <table cellpadding="0" cellspacing="0" border="0" width="100%">
-                               <tr>
-                                       <td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
-                                       <td width="100%">
-                                               <br>
-                                               <br>
-                                               <font color="#cc0033" size="+2"><b>${lang("featurearchive.title")}</b></font>
-                                               <br>
-                                               <br>
-                                       </td>
-                                       <td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
-                                       <td valign="top"><img src="${config["Producer.DocRoot"]}/img/space.gif" alt="" width="100" height="1">
-                                       </td>
-                                       <td>
-                                       &nbsp;&nbsp;&nbsp;&nbsp;
-                                       </td>
-                               </tr>
-                               <tr>
-                                       <td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
-                                       <td>
-                                               <br>
-                                                       <!--- articles ---> 
-                                                               <list articles as i>
-                                       <p><font size="+1">
+  <tr>
+    <td valign="top">
+      <table cellpadding="0" cellspacing="0" border="0" width="100%" bgcolor="#cc0033">
+        <tr>
+          <td><a href="${config["Producer.DocRoot"]}/${language.code}/"><img src="${config["Producer.DocRoot"]}/img/logo.gif" width="120" height="120" alt="((i))" border="0"></a></td>
+        </tr>
+      </table>
+      <table cellpadding="4" cellspacing="0" border="0" width="100%" bgcolor="#cc0033">
+        <tr>
+          <td><a href="${config["Producer.DocRoot"]}/${language.code}/">&nbsp;<font color="#dddddd" size="-1"><b>${lang("general.start")}</b></font></a></td>
+        </tr>
+      </table>
+      <br>
+      <!--#include virtual="../navigation.inc" -->
+    </td>
+    <td valign="top" width="100%">
+      <table cellpadding="4" cellspacing="0" border="0" width="100%" bgcolor="#cc0033">
+        <tr>
+          <td>
+            &nbsp;&nbsp;
+            <font color="#dddddd" size="-1"><b>
+          <a href="${config["Producer.DocRoot"]}/${language.code}/static/mission.shtml"><font color="#dddddd">${lang("general.menu.missionStatement")}&nbsp;&gt;&gt;</font></a> &nbsp;
+          <a href="${config["Producer.DocRoot"]}/${language.code}/static/moderation.shtml"><font color="#dddddd">${lang("general.menu.moderation")}&nbsp;&gt;&gt;</font></a>  &nbsp;
+          <a href="${config["Producer.DocRoot"]}/${language.code}/static/support.shtml"><font color="#dddddd">${lang("general.menu.support")}&nbsp;&gt;&gt;</font></a>  &nbsp;
+          <a href="${config["Producer.DocRoot"]}/${language.code}/static/mailinglists.shtml"><font color="#dddddd">${lang("general.menu.mailinglists")}&nbsp;&gt;&gt;</font></a> &nbsp;
+          <a href="${config["Producer.DocRoot"]}/${language.code}/static/participate.shtml"><font color="#dddddd">${lang("general.menu.participate")}&nbsp;&gt;&gt;</font></a>
+            </b></font>
+          </td>
+        </tr>
+      </table>
+      <table cellpadding="0" cellspacing="0" border="0" width="100%">
+        <tr>
+          <td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
+          <td width="100%">
+            <br>
+            <br>
+            <font color="#cc0033" size="+2"><b>${lang("featurearchive.title")}</b></font>
+            <br>
+            <br>
+          </td>
+                 <td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
+        </tr>
+        <tr>
+          <td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
+          <td>
+            <br>
+              <!--- articles --->
+                <list articles as a>
+                 <assign aorig=a.to_original>
+                 <if languagepreference>
+                   <assign i=a.to_translation(languagepreference)>
+                 <else>
+                   <assign i=a>
+                 </if>
+
+                  <p><font size="+1">
                   <a href="${config["Producer.DocRoot"]}/${language.code}/${i.date.formatted["yyyy'/'MM"]}/${i.id}.shtml"><b>${i.title}</b></a>
-                                       </font><br>
-                                          <font size="-2">${i.creator}, ${i.webdb_create_formatted}</font></p>
-                                       <p><font size="-1">                      
-                                       <if i.to_media_audio > 
-                                       <img align="left" vspace="4" hspace="8"
-                       src="${config["Producer.DocRoot"]}/img/${i.to_media_audio[0]["big_icon"]}">
-                                       </if> 
-                                       <if i.to_media_video > 
-                                       <img align="left" vspace="4" hspace="8"
-                                            src="${config["Producer.DocRoot"]}/img/${i.to_media_video[0]["big_icon"]}">
-                                       </if> 
-                                       <if i.to_media_other > 
-                                       <img align="left" vspace="4" hspace="8"
-                                            src="${config["Producer.DocRoot"]}/img/${i.to_media_other[0]["big_icon"]}">
-                                       </if> 
-                                       <if i.to_media_images >
-                                       <img align="left" vspace="4" hspace="8"
-                       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}
-                                       <br clear="all">
-                                       <a href="${config["Producer.DocRoot"]}${i.publish_path}${i.id}.shtml"><b>${lang("general.readmore")} &gt;&gt;</b></a>
-                                       </font></p>
-                                       
-                                       <br>
-                                                               </list> 
-                                                       <!--- /articles ---> 
-                                                 <if batch.current.index!=batch.first.index>
-                                               <a href="${docPrefix}${batch.previous.identifier}${docSuffix}"><font size="+1"><b>&lt;&lt; ${lang("general.page.prefix")} ${batch.previous.index}</b></font></a>
-                                               </if> 
-                                                 <if batch.current.index!=batch.first.index && batch.current.index!=batch.last.index>
-                                                   |
-                                                 </if>
-                                                 <if batch.next>
-                                               <a href="${docPrefix}${batch.next.identifier}${docSuffix}"><font size="+1"><b>${lang("general.page.prefix")} ${batch.next.index} &gt;&gt;</b></font></a>
-                                               </if>
-                                                       
-                                                       
-                                       </td>
-                                       <td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
-                                       <td valign="top"><img src="${config["Producer.DocRoot"]}/img/space.gif" alt="" width="100" height="1">
-                                               <br>
-                                           ${lang("general.page.prefix")} <b>${batch.current.index}</b> ${lang("general.page.infix")}
-                               <!--#include virtual="${docPrefix}nav${docSuffix}" -->
-                                       
-                                       </td>
-                                       <td>
-                                       &nbsp;&nbsp;&nbsp;&nbsp;
-                                       </td>
-                               </tr>
-                       </table>
-               </td>
-       </tr>
-  
-<!-- the rest --> 
-       <tr><td colspan="2">&nbsp;</td></tr>
+                  </font><br>
+                     <font size="-2">${aorig.creator} <if aorig.id!=i.id>(${lang("general.translatedby", i.creator)})</if><if i.creator || aorig.creator>, </if> ${aorig.creationdate.formatted["dd-MM-yyyy - HH:mm"]}</font></p> 
+                  <p><font size="-1">
+                  <if aorig.to_media_audio >
+                  <img align="left" vspace="4" hspace="8"
+                       src="${config["Producer.DocRoot"]}/img/${aorig.to_media_audio[0]["big_icon"]}">
+                  </if>
+                  <if aorig.to_media_video >
+                  <img align="left" vspace="4" hspace="8"
+                       src="${config["Producer.DocRoot"]}/img/${aorig.to_media_video[0]["big_icon"]}">
+                  </if>
+                  <if aorig.to_media_other >
+                  <img align="left" vspace="4" hspace="8"
+                       src="${config["Producer.DocRoot"]}/img/${aorig.to_media_other[0]["big_icon"]}">
+                  </if>
+                  <if aorig.to_media_images >
+                  <img align="left" vspace="4" hspace="8"
+                       src="${aorig.to_media_images[0]["icon_path"]}"
+                       width="${aorig.to_media_images[0]["icon_width"]}"
+                       height="${aorig.to_media_images[0]["icon_height"]}"
+                       border=0 alt="${aorig.to_media_images[0]["title"]}">
+                  </if>
+                  ${i.description_parsed}
+                  <br clear="all">
+                  <a href="${config["Producer.DocRoot"]}/${language.code}${i.publish_path}${i.id}.shtml"><b>${lang("general.readmore")} &gt;&gt;</b></a>
+                  </font></p>
+
+                  <br>
+                </list>
+              <!--- /articles --->
+          </td>
+                 <td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
+        </tr>
+
+      </table>
+    </td>
+  </tr>
+
+<!-- the rest -->
+  <tr>
+  <td>&nbsp;</td>
+  <td>
+  <table width="100%">
+                       <!--- Page Navigation --->
+               <tr><td colspan="4" bgcolor="#CCCCCC"><br></td></tr>
+               <tr>
+                       <td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
+                       <td align="left" valign="top">
+                         <if batch.current.index!=batch.first.index>
+                <a href="${docPrefix}${batch.previous.identifier}${docSuffix}"><font><b>&lt;&lt; ${lang("general.page.prefix")} ${batch.previous.index}</b></font></a>
+              </if>
+              <if batch.current.index!=batch.first.index && batch.current.index!=batch.last.index>
+                |
+              </if>
+              <if batch.next>
+                <a href="${docPrefix}${batch.next.identifier}${docSuffix}"><font><b>${lang("general.page.prefix")} ${batch.next.index} &gt;&gt;</b></font></a>
+              </if>
+                       </td>
+                       <td>
+                       &nbsp;
+                       </td>
+                       <td align="right" valign="top">
+                       <!--#include virtual="${docPrefix}nav${docSuffix}" -->
+                       </td>
+                       <td>&nbsp;&nbsp;&nbsp;&nbsp;<br><br><br></td>
+               </tr>
+  </table>
+
+
+  </td>
+  </tr>
 </table>
 </body>
 </html>
index f25b81c..ea273cf 100755 (executable)
@@ -8,7 +8,7 @@ uses to break paragraphs with empty blocks,
 which do the same thing in XSL:FO -->
 
 <xsl:template match="br">
-       <fo:block />    
+  <fo:block />  
 </xsl:template>
 
 <xsl:template match="@*|*|processing-instruction()|comment()">
diff --git a/etc/producer/languagebar.template b/etc/producer/languagebar.template
new file mode 100755 (executable)
index 0000000..000b3dc
--- /dev/null
@@ -0,0 +1,4 @@
+<a href="${config["Producer.DocRoot"]}/${language.code}/${article.to_original.date.formatted["yyyy'/'MM"]}/${article.to_original.id}.shtml"><font color="#dddddd">${article.to_original.languagename}</font></a>
+<list article.to_original.to_translations as a>
+  | <a href="${config["Producer.DocRoot"]}/${language.code}/${a.date.formatted["yyyy'/'MM"]}/${a.id}.shtml"><font color="#dddddd">${a.languagename}</font></a>
+</list>
index 6d88655..f359e16 100755 (executable)
@@ -1,46 +1,61 @@
 
-                       <table cellpadding="8" cellspacing="0" border="0" width="100%" bgcolor="#aaaaaa"><tr><td>
-                               <b>${lang("navigation.languages")}</b>
-                                 <list languages as l> 
-                                   <br><a href="${config["Producer.DocRoot"]}/${l.code}/">${l.name}</a>
-                                 </list> 
-                       </td></tr></table>
+      <table cellpadding="8" cellspacing="0" border="0" width="100%" bgcolor="#aaaaaa"><tr><td>
+        <b>${lang("navigation.languages")}</b>
+          <list languages as l> 
+            <br><a href="${config["Producer.DocRoot"]}/${l.code}/">${l.name}</a>
+          </list> 
+      </td></tr></table>
 
-                       <br>
-                       <form action="${config["Producer.OpenAction"]}" method="post">
-                       <table cellpadding="8" cellspacing="0" border="0" width="100%" bgcolor="#aaaaaa"><tr><td>
-                               <b>${lang("navigation.search.title")}</b><br>
-                               <input type="hidden" name="do" value="search">
-                               <input type="hidden" name="search_boolean" value="or">
-                               <input type="hidden" name="search_sort" value="score">
-                               
-                                       <input type="text" name="search_content" size="10" id="searchfield"><br>
-                                       <input type="checkbox" name="search_hasImages"> ${lang("navigation.search.images")} <br>
-                                       <input type="checkbox" name="search_hasAudio"> ${lang("navigation.search.audio")} <br>
-                                       <input type="checkbox" name="search_hasVideo"> ${lang("navigation.search.video")} <br>
-                                       
-                               <input type="submit" value="${lang("navigation.search.button")}" name="search_submit" size="16">
-                       </td></tr></table>
-                       </form>
-                       
-                       <table cellpadding="8" cellspacing="0" border="0" width="100%" bgcolor="#cc6666"><tr><td>
-                               <b><a href="${config["Producer.OpenAction"]}">${lang("navigation.publish")}&nbsp;&gt;&gt;</a></b>
-                       </td></tr></table>
-                       <br>
-                       <table cellpadding="8" cellspacing="0" border="0" width="100%" bgcolor="#cc6666"><tr><td>
-                               <b><a href="${config["Producer.DocRoot"]}/${language.code}/newswire/archive.shtml">${lang("navigation.newswirearchive")} &gt;&gt;</a>&nbsp;</b>
-                       </td></tr></table>
-                       <br>
-                       <table cellpadding="8" cellspacing="0" border="0" width="100%" bgcolor="#cc6666"><tr><td>
-                               <b><a href="${config["Producer.DocRoot"]}/${language.code}/feature/archive.shtml">${lang("navigation.featurearchive")} &gt;&gt;</a>&nbsp;</b>
-                       </td></tr></table>
-                       <br>
-                       
-                       <table cellpadding="8" cellspacing="0" border="0" width="100%" bgcolor="#cc9999"><tr><td>
-                         <b>${lang("navigation.topics")}</b>
-                                 <list topics as t> 
-                                   <br><a href="${config["Producer.DocRoot"]}/${language.code}/${t.filename}/archive.shtml">${t.title}</a>
-                                 </list> 
-                       </td></tr></table>
-                       <br>
-                       
+      <br>
+      <form action="${config["Producer.OpenAction"]}" method="post">
+      <table cellpadding="8" cellspacing="0" border="0" width="100%" bgcolor="#aaaaaa"><tr><td>
+        <b>${lang("navigation.search.title")}</b><br>
+        <input type="hidden" name="do" value="search">
+        <input type="hidden" name="search_boolean" value="or">
+        <input type="hidden" name="search_sort" value="score">
+               <input type="hidden" name="language" value="${language.code}">
+        
+          <input type="text" name="search_content" size="10" id="searchfield"><br>
+          <input type="checkbox" name="search_hasImages"> ${lang("navigation.search.images")} <br>
+          <input type="checkbox" name="search_hasAudio"> ${lang("navigation.search.audio")} <br>
+          <input type="checkbox" name="search_hasVideo"> ${lang("navigation.search.video")} <br>
+          
+        <input type="submit" value="${lang("navigation.search.button")}" name="search_submit" size="16">
+      </td></tr></table>
+      </form>
+      
+      <table cellpadding="8" cellspacing="0" border="0" width="100%" bgcolor="#cc6666"><tr><td>
+        <b><a href="${config["Producer.OpenAction"]}?do=opensession&sessiontype=article&language=${language.code}">${lang("navigation.publish")}&nbsp;&gt;&gt;</a></b>
+      </td></tr></table>
+      <br>
+      <table cellpadding="8" cellspacing="0" border="0" width="100%" bgcolor="#cc6666"><tr><td>
+               <font size="-1"><b><a href="${config["Producer.DocRoot"]}/${language.code}/feature/archive.shtml">${lang("navigation.featurearchive")} &gt;&gt;</a>&nbsp;</b></font><br><br>
+               <font size="-1"><b><a href="${config["Producer.DocRoot"]}/${language.code}/newswire/archive.shtml">${lang("navigation.newswirearchive")} &gt;&gt;</a>&nbsp;</b></font>
+      </td></tr></table>
+
+      <br>
+      
+      <table cellpadding="8" cellspacing="0" border="0" width="100%" bgcolor="#cc9999"><tr><td>
+        <b>${lang("navigation.topics")}</b>
+          <list topics as t> 
+            <br><a href="${config["Producer.DocRoot"]}/${language.code}/${t.filename}/archive.shtml">${t.title}</a>
+          </list> 
+      </td></tr></table>
+      <br>
+      <table cellpadding="8" cellspacing="0" border="0" width="100%" bgcolor="#cc9999"><tr><td>
+        <b>${lang("navigation.syndication")}</b><br />
+       <font size="-2">
+       <a href="${config["Producer.DocRoot"]}/main-features.rss"><img src="${config["Producer.DocRoot"]}/img/xml.gif" alt="XML" /> ${lang("syndication.features")}</a><br />   
+       <a href="${config["Producer.DocRoot"]}/main-features-content.rss"><img src="${config["Producer.DocRoot"]}/img/xml.gif" alt="XML" /> ${lang("syndication.features")} ${lang("syndication.full")}</a><br />       
+       <a href="${config["Producer.DocRoot"]}/main-newswire.rss"><img src="${config["Producer.DocRoot"]}/img/xml.gif" alt="XML" /> ${lang("syndication.newswire")}</a><br />   
+       <a href="${config["Producer.DocRoot"]}/main-newswire.rss"><img src="${config["Producer.DocRoot"]}/img/xml.gif" alt="XML" /> ${lang("syndication.newswire")} ${lang("syndication.full")}</a><br />       
+       <br />
+       <list topics as t>
+         <a href="${config["Producer.DocRoot"]}/${t.filename}-features.rss"><img src="${config["Producer.DocRoot"]}/img/xml.gif" alt="XML" /> ${t.title}  ${lang("syndication.features")}</a><br />    
+         <a href="${config["Producer.DocRoot"]}/${t.filename}-features-content.rss"><img src="${config["Producer.DocRoot"]}/img/xml.gif" alt="XML" /> ${t.title}  ${lang("syndication.features")} ${lang("syndication.full")}</a><br />        
+         <a href="${config["Producer.DocRoot"]}/${t.filename}-newswire.rss"><img src="${config["Producer.DocRoot"]}/img/xml.gif" alt="XML" /> ${t.title}  ${lang("syndication.newswire")}</a><br />    
+         <a href="${config["Producer.DocRoot"]}/${t.filename}-newswire.rss"><img src="${config["Producer.DocRoot"]}/img/xml.gif" alt="XML" /> ${t.title}  ${lang("syndication.newswire")} ${lang("syndication.full")}</a><br />        
+       </list>
+        </font>
+      </td></tr></table>
+<br />
index 5b9b800..0cca4af 100755 (executable)
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <html>
 <head>
-       <meta http-equiv="Content-Type" content="text/html; charset=${config["Mir.DefaultHTMLCharset"]}">
+  <meta http-equiv="Content-Type" content="text/html; charset=${config["Mir.DefaultHTMLCharset"]}">
     <title>${config["Mir.Name"]} | ${lang("newswirearchive.title")}</title>
-       <meta name="keywords" content="${lang("general.keywords")}">
-       <meta name="description" content="${lang("newswirearchive.title")}">
-       <meta name="dc:title" content="${lang("newswirearchive.title")}">
-       <meta name="dc:creator" content="">
-       <meta name="dc:subject" content="${lang("newswirearchive.title")}">
-       <meta name="dc:description" content="${lang("newswirearchive.title")}">
-       <meta name="dc:publisher" content="">
-       <meta name="dc:date" content="${config.now.dc}">
-       <meta name="dc:language" content="${language.code}">
-       <meta name="dc:coverage" content="">
-       <meta name="dc:rights" content="">
-       <meta http-equiv="expires" content="599">
-       <meta http-equiv="pragma" content="no-cache">
-       <style type="text/css">
+  <meta name="keywords" content="${lang("general.keywords")}">
+  <meta name="description" content="${lang("newswirearchive.title")}">
+  <meta name="dc:title" content="${lang("newswirearchive.title")}">
+  <meta name="dc:creator" content="">
+  <meta name="dc:subject" content="${lang("newswirearchive.title")}">
+  <meta name="dc:description" content="${lang("newswirearchive.title")}">
+  <meta name="dc:publisher" content="">
+  <meta name="dc:date" content="${config.now.formatted.dc}">
+  <meta name="dc:language" content="${language.code}">
+  <meta name="dc:coverage" content="">
+  <meta name="dc:rights" content="">
+  <meta http-equiv="expires" content="599">
+  <meta http-equiv="pragma" content="no-cache">
+  <style type="text/css">
     body, h1, h2, h3, h4, h5, h6, p, li, dt, dd, div, td, blockquote, div, span
                    {font-family:'Lucida Grande', Verdana, Geneva, Lucida, Arial, Helvetica, sans-serif;}
     a              {text-decoration:none;}
     #searchfield   {font-size: 12px; width:113px; height:16px;  background-color:#aaaaaa;}
     #searchselect  {font-size: 12px; width:120px; height:22px;  background-color:#aaaaaa;}
     #searchbutton  {font-size: 12px; width:120px; height:20px; background-color:#aaaaaa; text-align: right;}
-       </style>
+  </style>
 </head>
-        
+   
 <body bgcolor="#dddddd" marginwidth="0" marginheight="0" leftmargin="0" topmargin="0" link="#003399" alink="#cc0033" vlink="#660033" >
 
 <table border="0" cellpadding="0" cellspacing="0" width="100%">
-       <tr>
-               <td valign="top">
-                       <table cellpadding="0" cellspacing="0" border="0" width="100%" bgcolor="#cc0033">
-                               <tr>
-                                       <td><a href="${config["Producer.DocRoot"]}/${language.code}/"><img src="${config["Producer.DocRoot"]}/img/logo.gif" width="120" height="120" alt="((i))" border="0"></a></td>
-                               </tr>
-                       </table>
-                       <table cellpadding="4" cellspacing="0" border="0" width="100%" bgcolor="#cc0033">
-                               <tr>
-                                       <td><a href="${config["Producer.DocRoot"]}/${language.code}/">&nbsp;<font color="#dddddd" size="-1"><b>${lang("general.start")}</b></font></a></td>
-                               </tr>
-                       </table>
-                       <br>
-                       <!--#include virtual="../navigation.inc" -->
-               </td>
-               <td valign="top" width="100%">
-                       <table cellpadding="4" cellspacing="0" border="0" width="100%" bgcolor="#cc0033">
-                               <tr>
-                                       <td>
-                                               &nbsp;&nbsp;
-                                               <font color="#dddddd" size="-1"><b>
-                                       <a href="${config["Producer.DocRoot"]}/${language.code}/static/mission.shtml"><font color="#dddddd">${lang("general.menu.missionStatement")}&nbsp;&gt;&gt;</font></a> &nbsp; 
-                                       <a href="${config["Producer.DocRoot"]}/${language.code}/static/moderation.shtml"><font color="#dddddd">${lang("general.menu.moderation")}&nbsp;&gt;&gt;</font></a>  &nbsp;
-                                       <a href="${config["Producer.DocRoot"]}/${language.code}/static/support.shtml"><font color="#dddddd">${lang("general.menu.support")}&nbsp;&gt;&gt;</font></a>  &nbsp;
-                                       <a href="${config["Producer.DocRoot"]}/${language.code}/static/mailinglists.shtml"><font color="#dddddd">${lang("general.menu.mailinglists")}&nbsp;&gt;&gt;</font></a> &nbsp;
-                                       <a href="${config["Producer.DocRoot"]}/${language.code}/static/participate.shtml"><font color="#dddddd">${lang("general.menu.participate")}&nbsp;&gt;&gt;</font></a>
-                                               </b></font>
-                                       </td>
-                               </tr>
-                       </table>
-                       <table cellpadding="0" cellspacing="0" border="0" width="100%">
-                               <tr>
-                                       <td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
-                                       <td width="100%">
-                                               <br>
-                                               <br>
-                                               <font color="#cc0033" size="+2"><b>${lang("newswirearchive.title")}</b></font>
-                                               <br>
-                                               <br>
-                                       </td>
-                                       <td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
-                                       <td valign="top"><img src="${config["Producer.DocRoot"]}/img/space.gif" alt="" width="100" height="1">
-                                       </td>
-                                       <td>
-                                       &nbsp;&nbsp;&nbsp;&nbsp;
-                                       </td>
-                               </tr>
-                               <tr>
-                                       <td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
-                                       <td>
-                                               <br>
-                                                       <!--- articles ---> 
-                                                               <list articles as i>
-                                       <p><font size="+1">
+  <tr>
+    <td valign="top">
+      <table cellpadding="0" cellspacing="0" border="0" width="100%" bgcolor="#cc0033">
+        <tr>
+          <td><a href="${config["Producer.DocRoot"]}/${language.code}/"><img src="${config["Producer.DocRoot"]}/img/logo.gif" width="120" height="120" alt="((i))" border="0"></a></td>
+        </tr>
+      </table>
+      <table cellpadding="4" cellspacing="0" border="0" width="100%" bgcolor="#cc0033">
+        <tr>
+          <td><a href="${config["Producer.DocRoot"]}/${language.code}/">&nbsp;<font color="#dddddd" size="-1"><b>${lang("general.start")}</b></font></a></td>
+        </tr>
+      </table>
+      <br>
+      <!--#include virtual="../navigation.inc" -->
+    </td>
+    <td valign="top" width="100%">
+      <table cellpadding="4" cellspacing="0" border="0" width="100%" bgcolor="#cc0033">
+        <tr>
+          <td>
+            &nbsp;&nbsp;
+            <font color="#dddddd" size="-1"><b>
+          <a href="${config["Producer.DocRoot"]}/${language.code}/static/mission.shtml"><font color="#dddddd">${lang("general.menu.missionStatement")}&nbsp;&gt;&gt;</font></a> &nbsp; 
+          <a href="${config["Producer.DocRoot"]}/${language.code}/static/moderation.shtml"><font color="#dddddd">${lang("general.menu.moderation")}&nbsp;&gt;&gt;</font></a>  &nbsp;
+          <a href="${config["Producer.DocRoot"]}/${language.code}/static/support.shtml"><font color="#dddddd">${lang("general.menu.support")}&nbsp;&gt;&gt;</font></a>  &nbsp;
+          <a href="${config["Producer.DocRoot"]}/${language.code}/static/mailinglists.shtml"><font color="#dddddd">${lang("general.menu.mailinglists")}&nbsp;&gt;&gt;</font></a> &nbsp;
+          <a href="${config["Producer.DocRoot"]}/${language.code}/static/participate.shtml"><font color="#dddddd">${lang("general.menu.participate")}&nbsp;&gt;&gt;</font></a>
+            </b></font>
+          </td>
+        </tr>
+      </table>
+      <table cellpadding="0" cellspacing="0" border="0" width="100%">
+        <tr>
+          <td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
+          <td width="100%">
+            <br>
+            <br>
+            <font color="#cc0033" size="+2"><b>${lang("newswirearchive.title")}</b></font>
+            <br>
+            <br>
+          </td>
+                 <td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
+        </tr>
+        <tr>
+          <td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
+          <td>
+            <br>
+              <!--- articles --->
+                <list articles as a>
+                 <assign aorig=a.to_original>
+                 <if languagepreference>
+                   <assign i=a.to_translation(languagepreference)>
+                 <else>
+                   <assign i=a>
+                 </if>
+
+
+                  <p><font size="+1">
                   <a href="${config["Producer.DocRoot"]}/${language.code}/${i.date.formatted["yyyy'/'MM"]}/${i.id}.shtml"><b>${i.title}</b></a>
-                                       </font><br>
-                                          <font size="-2">${i.creator}, ${i.webdb_create_formatted}</font></p>
-                                       <p><font size="-1">                      
-                                       <if i.to_media_audio > 
-                                       <img align="left" vspace="4" hspace="8"
-                       src="${config["Producer.DocRoot"]}/img/${i.to_media_audio[0]["big_icon"]}">
-                                       </if> 
-                                       <if i.to_media_video > 
-                                       <img align="left" vspace="4" hspace="8"
-                                            src="${config["Producer.DocRoot"]}/img/${i.to_media_video[0]["big_icon"]}">
-                                       </if> 
-                                       <if i.to_media_other > 
-                                       <img align="left" vspace="4" hspace="8"
-                                            src="${config["Producer.DocRoot"]}/img/${i.to_media_other[0]["big_icon"]}">
-                                       </if> 
-                                       <if i.to_media_images >
-                                       <img align="left" vspace="4" hspace="8"
-                       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}
-                                       <br clear="all">
-                                       <a href="${config["Producer.DocRoot"]}${i.publish_path}${i.id}.shtml"><b>${lang("general.readmore")} &gt;&gt;</b></a>
-                                       </font></p>
-                                       
-                                       <br>
-                                                               </list> 
-                                                       <!--- /articles ---> 
-                                                 <if batch.current.index!=batch.first.index>
-                                               <a href="${docPrefix}${batch.previous.identifier}${docSuffix}"><font size="+1"><b>&lt;&lt; ${lang("general.page.prefix")} ${batch.previous.index}</b></font></a>
-                                               </if> 
-                                                 <if batch.current.index!=batch.first.index && batch.current.index!=batch.last.index>
-                                                   |
-                                                 </if>
-                                                 <if batch.next>
-                                               <a href="${docPrefix}${batch.next.identifier}${docSuffix}"><font size="+1"><b>${lang("general.page.prefix")} ${batch.next.index} &gt;&gt;</b></font></a>
-                                               </if>
-                                                       
-                                                       
-                                       </td>
-                                       <td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
-                                       <td valign="top"><img src="${config["Producer.DocRoot"]}/img/space.gif" alt="" width="100" height="1">
-                                               <br>
-                                           ${lang("general.page.prefix")} <b>${batch.current.index}</b> ${lang("general.page.infix")}
-                               <!--#include virtual="${docPrefix}nav${docSuffix}" -->
-                                       
-                                       </td>
-                                       <td>
-                                       &nbsp;&nbsp;&nbsp;&nbsp;
-                                       </td>
-                               </tr>
-                       </table>
-               </td>
-       </tr>
-  
-<!-- the rest --> 
-       <tr><td colspan="2">&nbsp;</td></tr>
+                  </font><br>
+                     <font size="-2">${aorig.creator} <if aorig.id!=i.id>(${lang("general.translatedby", i.creator)})</if><if i.creator || aorig.creator>, </if> ${aorig.creationdate.formatted["dd-MM-yyyy - HH:mm"]}</font></p>
+                  <p><font size="-1">
+                  <if aorig.to_media_audio >
+                  <img align="left" vspace="4" hspace="8"
+                       src="${config["Producer.DocRoot"]}/img/${aorig.to_media_audio[0]["big_icon"]}">
+                  </if>
+                  <if aorig.to_media_video >
+                  <img align="left" vspace="4" hspace="8"
+                       src="${config["Producer.DocRoot"]}/img/${aorig.to_media_video[0]["big_icon"]}">
+                  </if>
+                  <if aorig.to_media_other >
+                  <img align="left" vspace="4" hspace="8"
+                       src="${config["Producer.DocRoot"]}/img/${aorig.to_media_other[0]["big_icon"]}">
+                  </if>
+                  <if aorig.to_media_images >
+                  <img align="left" vspace="4" hspace="8"
+                       src="${aorig.to_media_images[0]["icon_path"]}"
+                       width="${aorig.to_media_images[0]["icon_width"]}"
+                       height="${aorig.to_media_images[0]["icon_height"]}"
+                       border=0 alt="${aorig.to_media_images[0]["title"]}">
+                  </if>
+                  ${i.description_parsed}
+                  <br clear="all">
+                  <a href="${config["Producer.DocRoot"]}/${language.code}${i.publish_path}${i.id}.shtml"><b>${lang("general.readmore")} &gt;&gt;</b></a>
+                  </font></p>
+
+                  <br>
+                </list>
+              <!--- /articles --->
+          </td>
+                 <td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
+        </tr>
+
+      </table>
+    </td>
+  </tr>
+
+<!-- the rest -->
+  <tr>
+  <td>&nbsp;</td>
+  <td>
+  <table width="100%">
+                       <!--- Page Navigation --->
+               <tr><td colspan="4" bgcolor="#CCCCCC"><br></td></tr>
+               <tr>
+                       <td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
+                       <td align="left" valign="top">
+                         <if batch.current.index!=batch.first.index>
+                <a href="${docPrefix}${batch.previous.identifier}${docSuffix}"><font><b>&lt;&lt; ${lang("general.page.prefix")} ${batch.previous.index}</b></font></a>
+              </if>
+              <if batch.current.index!=batch.first.index && batch.current.index!=batch.last.index>
+                |
+              </if>
+              <if batch.next>
+                <a href="${docPrefix}${batch.next.identifier}${docSuffix}"><font><b>${lang("general.page.prefix")} ${batch.next.index} &gt;&gt;</b></font></a>
+              </if>
+                       </td>
+                       <td>
+                       &nbsp;
+                       </td>
+                       <td align="right" valign="top">
+                       <!--#include virtual="${docPrefix}nav${docSuffix}" -->
+                       </td>
+                       <td>&nbsp;&nbsp;&nbsp;&nbsp;<br><br><br></td>
+               </tr>
+  </table>
+
+
+  </td>
+  </tr>
 </table>
 </body>
 </html>
index ce9c3a7..164ee25 100755 (executable)
@@ -41,7 +41,7 @@
        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">
+  <fo:static-content flow-name="xsl-region-before">
       <!-- this defines a title -->
       <fo:block font-size="24pt" 
             line-height="23pt"
 <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
+  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"
+  <fo:leader leader-pattern="rule" leader-length="18cm"
             rule-thickness="1pt" color="black"/>
 </fo:block>
-       
-       </fo:static-content>
-       
+  
+  </fo:static-content>
+  
       <!-- start fo:flow
            each flow is targeted 
            at one (and only one) of the following:
@@ -83,10 +83,10 @@ an attribution of copyright/left rights, etc.  the possibilities are endless.
       <!-- here is the article title -->
       <fo:block font-size="16pt" 
                 font-family="sans-serif" 
-               font-weight="bold"
+    font-weight="bold"
                 line-height="18pt"
                 space-after.optimum="3pt"
-                text-align="center">           
+                text-align="center">        
       ${article.title}
       </fo:block>
       
@@ -95,7 +95,7 @@ an attribution of copyright/left rights, etc.  the possibilities are endless.
                 font-family="sans-serif" 
                 line-height="13pt"
                 space-after.optimum="3pt"
-                text-align="end">              
+                text-align="end">       
       ${article.creator},  ${article.webdb_create_formatted}
       </fo:block>
 
@@ -103,31 +103,31 @@ an attribution of copyright/left rights, etc.  the possibilities are endless.
       <!-- here is the article summary -->
       <fo:block font-size="11pt" 
                 font-family="sans-serif" 
-               font-weight="bold"
+    font-weight="bold"
                 line-height="13pt"
                 space-after.optimum="3pt"
-                text-align="justify">          
+                text-align="justify">       
       ${article.description_parsed}
       </fo:block>
 
 
-             <!-- here is the header stuff -->
+        <!-- here is the header stuff -->
 <if article.creator_main_url || article.creator_email>
-       <fo:block><fo:leader leader-pattern="rule" leader-length="18cm"
+  <fo:block><fo:leader leader-pattern="rule" leader-length="18cm"
             rule-thickness="1pt" color="black"/></fo:block>
 </if>
       <if article.creator_email>
       <fo:block font-size="10pt" 
                 font-family="sans-serif" 
                 line-height="12pt">
-      Email:           ${article.creator_email}
+      Email:    ${article.creator_email}
       </fo:block>
       </if>
       <if article.creator_main_url>
       <fo:block font-size="10pt" 
                 font-family="sans-serif" 
                 line-height="12pt">
-      URL:     ${article.creator_main_url}
+      URL:    ${article.creator_main_url}
       </fo:block>
       </if> 
       <fo:block><fo:leader leader-pattern="rule" leader-length="18cm"
@@ -166,7 +166,7 @@ an attribution of copyright/left rights, etc.  the possibilities are endless.
 </list>
 
       </fo:block>
-       
+  
 
 
     </fo:flow> <!-- closes the flow element-->
index 8864dbd..b9483af 100755 (executable)
@@ -1,4 +1,4 @@
-<!-- 
+<!--
   This XML file defines a set of producers intended for a typical indymedia 
   site:
     - a start page
@@ -13,7 +13,7 @@
 <producers>
   <nodedefinition name="Language">
     <parameters>
-      <string name="languagecondition" defaultvalue=""/>
+      <string name="languagecondition" defaultvalue="code != 'ot'"/>
       <string name="bundle" defaultvalue="bundles.producer" />
       <node name="sub"/>    
     </parameters>
       <Enumerate key="language" table="language" selection="${languagecondition}" order="code">
         <Resource bundle="${bundle}" key="lang" language="${language.code}"/>
         <Define key="pathprefix" value="${language.code}" />
+        <Define key="languagepreference" value="${language.code}" />
         <sub/>
+        <If condition="language.code=='en'">
+          <then>
+            <Define key="pathprefix" value="or" />
+            <Define key="languagepreference" value="" />
+            <sub/>
+          </then>
+        </If>
       </Enumerate>
     </definition>
   </nodedefinition>
+
+  <nodedefinition name="RSSChannel">
+    <parameters>
+      <string name="articleSelection"/>
+      <string name="extratables" defaultvalue="none" />
+      <integer name="limit" defaultvalue="15"/>
+      <string name="channelidentifier" defaultvalue=""/>
+      <string name="channelfilename"/>
+      <string name="channeltitle"/>
+      <string name="articleprefix" defaultvalue="${config['Producer.PublicationHost']}/or" />
+      <string name="iconprefix" defaultvalue="${config['Producer.PublicationHost']}/icon" />
+      <string name="channelpublisher" defaultvalue="${config['Mir.Name']}" />
+      <string name="encoding" defaultvalue="UTF-8" />
+      <string name="channeldescription" defaultvalue=""/>
+      <string name="generator" defaultvalue="/RSS.template" />
+    </parameters>
+
+    <definition>
+      <If condition="extratables == 'none' ">
+        <then>
+          <List key="articles" table="content c" selection="${articleSelection}" order = "c.webdb_create desc, c.date desc" limit="limit" />
+        </then>
+        <else>
+          <List key="articles" table="content c" selection="${articleSelection}" order = "c.webdb_create desc, c.date desc" limit="limit" extratables="${extratables}" />
+        </else>
+      </If>
+      <If condition="channeldescription==''">
+        <then>
+         <Define key="channeldescription" value="${channeltitle}"/>
+       </then>
+      </If>
+      <If condition="channelidentifier==''">
+        <then>
+          <Define key="channelidentifier" value="${config['Producer.PublicationHost']}/or/${channelfilename}"/>
+        </then>
+      </If>
+
+      <Generate
+         parameters="${encoding}"
+         generator="${generator}"
+        destination="${config.storageRoot}/${channelfilename}"/>
+    </definition>
+  </nodedefinition>
+
+  <nodedefinition name="RSSChannelBundle">
+    <parameters>
+      <string name="extratables" defaultvalue="none" />
+      <string name="selection" defaultvalue="c.is_published='1'" />  
+      <string name="basefilename" defaultvalue="main" />
+    </parameters>
+    <definition>
+      <!-- newswire -->
+      <RSSChannel
+        articleSelection="(c.to_article_type in (${articletype.newswire}) or (c.to_article_type=${articletype.translation} and c.to_original.to_articletype in (${articletype.newswire}))) and ${selection}"
+        channelfilename="${basefilename}-newswire.rss"
+        channeltitle="${config['Mir.Name']} ${basefilename} newswire"
+        limit="20"
+       extratables="${extratables}"
+      />
+      <RSSChannel
+        articleSelection="(c.to_article_type in (${articletype.newswire}) or (c.to_article_type=${articletype.translation} and c.to_original.to_articletype in (${articletype.newsire}))) and ${selection}"
+        channelfilename="${basefilename}-newswire-content.rss"
+        channeltitle="${config['Mir.Name']} ${basefilename} newswire"
+        limit="20"
+        generator="RSS-full.template"
+       extratables="${extratables}"
+      />    
+      <!-- features -->
+      <RSSChannel
+        articleSelection="(c.to_article_type in (${articletype.feature},${articletype.startspecial},${articletype.topicspecial}) or (c.to_article_type=${articletype.translation} and c.to_original.to_articletype in (${articletype.feature},${articletype.startspecial},${articletype.topicspecial}))) and ${selection}"
+        channelfilename="${basefilename}-features.rss"
+        channeltitle="${config['Mir.Name']} ${basefilename} features"
+        limit="20"
+       extratables="${extratables}"
+      />
+      <RSSChannel
+        articleSelection="(c.to_article_type in (${articletype.feature},${articletype.startspecial},${articletype.topicspecial}) or (c.to_article_type=${articletype.translation} and c.to_original.to_articletype in (${articletype.feature},${articletype.startspecial},${articletype.topicspecial}))) and ${selection}"
+        channelfilename="${basefilename}-features-content.rss"
+        channeltitle="${config['Mir.Name']} ${basefilename} features"
+        limit="20"
+        generator="RSS-full.template"
+       extratables="${extratables}"
+      />
+    </definition>
+  </nodedefinition>
+
  
   <producer name="articles">
     <verbs>
     <body>
       <Enumerate key="article" table="content" selection="${verbcondition}"
                   limit="limit" order="webdb_create desc">
+        <Enumerate 
+            key="media" table="image" 
+            selection="exists (select * from content_x_media where media_id=images.id and content_id=${article.id})
+               or      exists (select * from comment_x_media, comment
+                           where comment_id = comment.id and media_id=images.id and comment.to_media=${article.id})"
+            order="id desc">
+            
+           <GenerateMedia key="media" />
+        </Enumerate>
+        <Enumerate 
+            key="media" table="video" 
+            selection="exists (select * from content_x_media where media_id=video.id and content_id=${article.id})
+               or      exists (select * from comment_x_media, comment
+                           where comment_id = comment.id and media_id=video.id and comment.to_media=${article.id})"
+            order="id desc">
+           <GenerateMedia key="media" />
+        </Enumerate>
+        <Enumerate 
+            key="media" table="audio" 
+            selection="exists (select * from content_x_media where media_id=audio.id and content_id=${article.id})
+               or      exists (select * from comment_x_media, comment
+                                       where comment_id = comment.id and media_id=audio.id and comment.to_media=${article.id})"
+            order="id desc">
+            
+           <GenerateMedia key="media" />
+        </Enumerate>
+        <Enumerate 
+            key="media" table="otherMedia" 
+            selection="exists (select * from content_x_media where media_id=other_media.id and content_id=${article.id})
+               or      exists (select * from comment_x_media, comment
+                                       where comment_id = comment.id and media_id=other_media.id and comment.to_media=${article.id})"
+            order="id desc">
+            
+           <GenerateMedia key="media" />
+        </Enumerate>
+
         <If condition="article.is_published == '1'">
           <then>
             <Language>
               <Generate 
                 generator="/article.template" 
                 destination="${config.storageRoot}/${pathprefix}/${article.date.formatted.yyyy}/${article.date.formatted.MM}/${article.id}.shtml"/>
-
-               <!--
-              <PDFPreFormat 
-                key="article" 
-                numLinesBetweenImages="3" 
-                charWidthCM="0.19" 
-                pixelWidthCM="0.035"
-                contentAreaWidthCM="16" 
-                lineHeightCM="0.5" />
-              <Generate 
-                generator="/printablecontent.template" 
-                destination="${config.storageRoot}/${pathprefix}/${article.date.formatted.yyyy}/${article.date.formatted.MM}/${article.id}.fo"
-                parameters="UTF-8" />
-              <PDFGenerate
-                generator="${config.storageRoot}/${pathprefix}/${article.date.formatted.yyyy}/${article.date.formatted.MM}/${article.id}.fo"
-                destination="${config.storageRoot}/${pathprefix}/${article.date.formatted.yyyy}/${article.date.formatted.MM}/${article.id}.pdf"
-                stylesheet="${config['Producer.HTML2FOStyleSheet']}" /> -->
              </Language>
+            <Generate 
+                generator="/languagebar.template" 
+                destination="${config.storageRoot}/languagebar/${article.to_original.date.formatted.yyyy}/${article.to_original.date.formatted.MM}/${article.to_original.id}.shtml"/>  
              <IndexContent key="article" pathToIndex="${config['IndexPath']}"/>
           </then>
           <else>
       </verb>
       <verb name="all">
         <Set key="pages" value="-1"/>
-      </verb> 
+      </verb>
     </verbs>
     <body>
         <Define key="docSuffix" value=".shtml"/>
         <Define key="storageSuffix" value=".shtml"/>
-        
-        <Batch key="articles" infokey="batch" table="content" 
+
+        <Batch key="articles" infokey="batch" table="content"
                process="pages" batchsize="20" minbatchsize="10"
                selection="is_published='1' and to_article_type = ${articletype.newswire}"
                order="webdb_create asc">
               <Define key="storagePrefix" value="${config[&quot;Producer.StorageRoot&quot;]}/${pagePrefix}"/>
               <Define key="docPrefix" value="${config[&quot;Producer.DocRoot&quot;]}/${pagePrefix}"/>
 
-              <Generate 
-                  generator="newswirearchive.template" 
+              <Generate
+                  generator="newswirearchive.template"
                   destination="${storagePrefix}${batch.current.identifier}${storageSuffix}"/>
 
             </Language>
               <Define key="pagePrefix" value="${pathprefix}/newswire/archive"/>
               <Define key="storagePrefix" value="${config[&quot;Producer.StorageRoot&quot;]}/${pagePrefix}"/>
               <Define key="docPrefix" value="${config[&quot;Producer.DocRoot&quot;]}/${pagePrefix}"/>
-              <Generate 
-                  generator="batchnav.template" 
+              <Generate
+                  generator="batchnav.template"
                   destination="${storagePrefix}nav${storageSuffix}"/>
             </Language>
           </batchlist>
         <Define key="docSuffix" value=".shtml"/>
         <Define key="storageSuffix" value=".shtml"/>
         
-        <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" limit="1"/>
+        <List key="special" table="content c" 
+          selection="c.is_published='1' and c.to_article_type = ${articletype.topicspecial} and c.id=cxt.content_id and cxt.topic_id = ${topic.id}"
+          order = "webdb_create desc" limit="1"
+          extratables="content_x_topic cxt"/>
       
-        <Batch key="articles" infokey="batch" table="content" 
+        <Batch key="articles" infokey="batch" table="content c
                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">
+               selection="c.is_published='1' and c.to_article_type in (${articletype.newswire}, ${articletype.feature}) and c.id=cxt.content_id and cxt.topic_id = ${topic.id}"
+               order="webdb_create asc" extratables="content_x_topic cxt">
           <batches>
             <Language>
               <Define key="pagePrefix" value="${pathprefix}/${topic.filename}/archive"/>
       </Enumerate>
     </body>
   </producer>  
+
+  <producer name="syndication">
+    <verbs>
+      <verb name="generate" />
+    </verbs>
+    <body>
+      <!-- the main features and newswire -->
+      <RSSChannelBundle />
+      
+      <!-- the topic features and newswires -->
+      <Enumerate key="topic" table="topic">
+        <RSSChannelBundle
+          basefilename="${topic.filename}"
+         selection="c.id=cxt.content_id and cxt.topic_id = ${topic.id}"
+          extratables="content_x_topic cxt"
+        />
+      </Enumerate>
+      
+      
+
+    </body>
+
+  </producer>
+
+
+
   
 </producers>
 
index ed337b7..750dceb 100755 (executable)
@@ -86,7 +86,7 @@
 <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>                         
+    <p>      
         <call showArticleMediaIcons(anArticle)>
         ${anArticle.description_parsed} \r
     </p>
index 0cf6fbd..afdd74b 100755 (executable)
@@ -1,4 +1,4 @@
-<comment>  
+<comment>
   Template file for the front page.  
   - virtually no CSS functions
   - all paths relative to /
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <html>
 <head>
-       <meta http-equiv="Content-Type" content="text/html; charset=${config["Mir.DefaultHTMLCharset"]}">       
-       <title>${config["Mir.Name"]}</title>
-       <meta name="keywords" content="indymedia,imc">
-       <meta name="description" content="indymedia,imc">
-       <meta http-equiv="expires" content="599">
-       <meta http-equiv="pragma" content="no-cache">
-       <style type="text/css">
-               body, h1, h2, h3, h4, h5, h6, p, li, dt, dd, div, td, blockquote, div, span
-                                               {font-family:'Lucida Grande', Verdana, Geneva, Lucida, Arial, Helvetica, sans-serif;}
-               a                               {text-decoration:none;}
-               #searchfield    {font-size: 12px; width:113px; height:16px;  background-color:#aaaaaa;}
-               #searchselect   {font-size: 12px; width:120px; height:22px;  background-color:#aaaaaa;}
-               #searchbutton   {font-size: 12px; width:120px; height:20px; background-color:#aaaaaa; text-align: right;}
-       </style>
+  <meta http-equiv="Content-Type" content="text/html; charset=${config["Mir.DefaultHTMLCharset"]}"> 
+  <title>${config["Mir.Name"]}</title>
+  <meta name="keywords" content="indymedia,imc">
+  <meta name="description" content="indymedia,imc">
+  <meta http-equiv="expires" content="599">
+  <meta http-equiv="pragma" content="no-cache">
+  <style type="text/css">
+    body, h1, h2, h3, h4, h5, h6, p, li, dt, dd, div, td, blockquote, div, span
+            {font-family:'Lucida Grande', Verdana, Geneva, Lucida, Arial, Helvetica, sans-serif;}
+    a       {text-decoration:none;}
+    #searchfield  {font-size: 12px; width:113px; height:16px;  background-color:#aaaaaa;}
+    #searchselect {font-size: 12px; width:120px; height:22px;  background-color:#aaaaaa;}
+    #searchbutton   {font-size: 12px; width:120px; height:20px; background-color:#aaaaaa; text-align: right;}
+  </style>
 </head>
-                                        
+           
 <body bgcolor="#dddddd" marginwidth="0" marginheight="0" leftmargin="0" topmargin="0" link="#003399" alink="#cc0033" vlink="#660033" >
 
 <table border="0" cellpadding="0" cellspacing="0" width="100%">
-       <tr>
-               <td bgcolor="#cc0033"><img src="/img/logo.gif" width="120" height="120" alt="((i))"></td>
-               <td colspan="4" valign="top" background="/img/background2.jpg">
-                       <table cellpadding="4" cellspacing="0" border="0" width="100%" bgcolor="#cc0033"><tr><td>
-                               &nbsp;&nbsp;
-                               <font color="#dddddd" size="-1"><b>
-                                       <a href="${config["Producer.DocRoot"]}/${language.code}/static/mission.shtml"><font color="#dddddd">${lang("general.menu.missionStatement")}&nbsp;&gt;&gt;</font></a> &nbsp; 
-                                       <a href="${config["Producer.DocRoot"]}/${language.code}/static/moderation.shtml"><font color="#dddddd">${lang("general.menu.moderation")}&nbsp;&gt;&gt;</font></a>  &nbsp;
-                                       <a href="${config["Producer.DocRoot"]}/${language.code}/static/support.shtml"><font color="#dddddd">${lang("general.menu.support")}&nbsp;&gt;&gt;</font></a>  &nbsp;
-                                       <a href="${config["Producer.DocRoot"]}/${language.code}/static/mailinglists.shtml"><font color="#dddddd">${lang("general.menu.mailinglists")}&nbsp;&gt;&gt;</font></a> &nbsp;
-                                       <a href="${config["Producer.DocRoot"]}/${language.code}/static/participate.shtml"><font color="#dddddd">${lang("general.menu.participate")}&nbsp;&gt;&gt;</font></a>
-                               </b></font>
-                       </td></tr></table>
-                       <br>
-                       <br>
-                       <font color="#cc0033" size="+3">&nbsp;&nbsp;&nbsp;<b><span id="indy">${config["Mir.Name"]}</span></b></font>
-               </td>
-       </tr>
-       <tr>
-               <td></td>
-               <td colspan="3">
-               </td>
-       </tr>   
-       <tr>
-               <td width="120"></td>
-               <td rowspan="100">&nbsp;&nbsp;&nbsp;&nbsp;</td>
-               <td width="100%">&nbsp;</td>
-               <td rowspan="100">&nbsp;&nbsp;&nbsp;&nbsp;</td>
-               <td width="200"><img src="/img/space.gif" alt="" width="200" height="1"></td>
-       </tr>
-       
-       <tr>
-               <td valign="top">
-               
-               
-                       <!--#include virtual="navigation.inc" -->
-                       
-                       
-                       <table cellpadding="8" cellspacing="0" border="0" width="100%">
-                               <tr>
-                                       <td bgcolor="#cc0033">
-                                               <b><font color="#dddddd" size="+1">${lang("startpage.imcs")}</font></b>
-                                       </td>
-                               </tr>
-                               <tr>
-                                       <td>
-                                               <font size="-1">
-                                                       <include "cities.inc"> 
-                                               </font>
-                                       </td>
-                               </tr>
-                       </table>
-                       <br>
-                               
-
-       </td>
-       
-       <td  valign="top" width="100%"><a name="features"></a>
-       
-               <!-- breaking news -->
-                       <if breakingnews && breakingnews[0].text!="."> 
-                               <table cellpadding="10" cellspacing="0" border="0" width="100%" bgcolor="#cccccc"><tr><td>
-                                       <font color="#cc0033" size="-1"><b>${lang("startpage.breakingnews")}</b></font> <font size="-2"><b>+++</b></font>
-                                               <assign stop="0">
-                                               <list breakingnews as bn>
-                                                       <if bn.text=="."><assign stop="1"></if>
-                                                       <if stop=="0">
-                                                               <font color="#cc0033" size="-2">${bn.creationdate.formatted["dd-MM-yyyy HH:mm"]}:</font> <font size="-1">${bn.text}</font> <font size="-2"><b>+++</b></font>
-                                                       </if>
-                                               </list>
-                               </td></tr></table>
-                               <br>
-                       </if>
-               <!-- /breaking news -->
-
-               <!--- start-special ---> <comment></comment>
-                       <list startspecial as s> 
-                                <table width="100%" border="0" cellspacing="0" cellpadding="10" bgcolor="#eeeeee"><tr><td> 
-                              <p><font size="+2">
+  <tr>
+    <td bgcolor="#cc0033"><img src="${config["Producer.DocRoot"]}/img/logo.gif" width="120" height="120" alt="((i))"></td>
+    <td colspan="4" valign="top" background="${config["Producer.DocRoot"]}/img/background2.jpg">
+      <table cellpadding="4" cellspacing="0" border="0" width="100%" bgcolor="#cc0033"><tr><td>
+        <font color="#dddddd" size="-1"><b>
+          <a href="${config["Producer.DocRoot"]}/${language.code}/static/mission.shtml"><font color="#dddddd">${lang("general.menu.missionStatement")}&nbsp;&gt;&gt;</font></a> &nbsp; 
+          <a href="${config["Producer.DocRoot"]}/${language.code}/static/moderation.shtml"><font color="#dddddd">${lang("general.menu.moderation")}&nbsp;&gt;&gt;</font></a>  &nbsp;
+          <a href="${config["Producer.DocRoot"]}/${language.code}/static/support.shtml"><font color="#dddddd">${lang("general.menu.support")}&nbsp;&gt;&gt;</font></a>  &nbsp;
+          <a href="${config["Producer.DocRoot"]}/${language.code}/static/mailinglists.shtml"><font color="#dddddd">${lang("general.menu.mailinglists")}&nbsp;&gt;&gt;</font></a> &nbsp;
+          <a href="${config["Producer.DocRoot"]}/${language.code}/static/participate.shtml"><font color="#dddddd">${lang("general.menu.participate")}&nbsp;&gt;&gt;</font></a>
+        </b></font>
+      </td></tr></table>
+      <br>
+      <br>
+      <font color="#cc0033" size="+3">&nbsp;&nbsp;&nbsp;<b><span id="indy">${config["Mir.Name"]}</span></b></font>
+    </td>
+  </tr>
+  <tr>
+    <td></td>
+    <td colspan="3">
+    </td>
+  </tr> 
+  <tr>
+    <td width="120"></td>
+    <td rowspan="100">&nbsp;&nbsp;&nbsp;&nbsp;</td>
+    <td width="100%">&nbsp;</td>
+    <td rowspan="100">&nbsp;&nbsp;&nbsp;&nbsp;</td>
+    <td width="200"><img src="${config["Producer.DocRoot"]}/img/space.gif" alt="" width="200" height="1"></td>
+  </tr>
+  
+  <tr>
+    <td valign="top">
+    
+    
+      <!--#include virtual="navigation.inc" -->
+      
+      
+      <table cellpadding="8" cellspacing="0" border="0" width="100%">
+        <tr>
+          <td bgcolor="#cc0033">
+            <b><font color="#dddddd" size="+1">${lang("startpage.imcs")}</font></b>
+          </td>
+        </tr>
+        <tr>
+          <td>
+            <font size="-1">
+              <include "cities.inc">
+            </font>
+          </td>
+        </tr>
+      </table>
+      <br>
+        
+
+  </td>
+  
+  <td  valign="top" width="100%"><a name="features"></a>
+  
+      <!-- breaking news -->
+      <if breakingnews && breakingnews[0].text!=".">
+        <table cellpadding="10" cellspacing="0" border="0" width="100%" bgcolor="#cccccc"><tr><td>
+          <font color="#cc0033" size="-1"><b>${lang("startpage.breakingnews")}</b></font> <font size="-2"><b>+++</b></font>
+            <assign stop="0">
+            <list breakingnews as bn>
+              <if bn.text=="."><assign stop="1"></if>
+              <if stop=="0">
+                <font color="#cc0033" size="-2">${bn.creationdate.formatted["dd-MM-yyyy HH:mm"]}:</font> <font size="-1">${bn.text}</font> <font size="-2"><b>+++</b></font>
+              </if>
+            </list>
+        </td></tr></table>
+        <br>
+      </if>
+      <!-- /breaking news -->
+
+    <!--- start-special --->
+      <list startspecial as ss>
+        <assign sorig=ss.to_original>
+        <if languagepreference>
+          <assign s=ss.to_translation(languagepreference)>
+        <else>
+          <assign s=ss>
+        </if>
+        <table width="100%" border="0" cellspacing="0" cellpadding="10" bgcolor="#eeeeee"><tr><td>
+             <p><font size="+2">
              <a href="${config["Producer.DocRoot"]}/${language.code}/${s.date.formatted["yyyy'/'MM"]}/${s.id}.shtml"><b>${s.title}</b></a>
-                              </font><br>
-                                 <font size="-2">${s.creator}, ${s.webdb_create_formatted}</font></p>
-                              <p><font size="-1">                       
-                               <if s.to_media_audio > 
-                                 <img align="left" vspace="4" hspace="8"
-                                   src="/img/${s.to_media_audio[0]["big_icon"]}">
-                               </if> 
-                               <if s.to_media_video > 
-                                 <img align="left" vspace="4" hspace="8"
-                                   src="/img/${s.to_media_video[0]["big_icon"]}">
-                               </if> 
-                               <if s.to_media_other > 
-                                 <img align="left" vspace="4" hspace="8"
-                                    src="/img/${s.to_media_other[0]["big_icon"]}">
-                               </if> 
-                               <if s.to_media_images >
-                                 <img align="left" vspace="4" hspace="8"
-                                   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} 
-                                       <br clear="all">
+             </font><br>
+                <font size="-2">${sorig.creator} <if sorig.id!=s.id>(${lang("general.translatedby", s.creator)})</if><if s.creator || sorig.creator>, </if>  ${sorig.creationdate.formatted["dd.MM.yyyy - HH:mm"]}</font></p>
+             <p><font size="-1">
+              <if sorig.to_media_audio >
+                <img align="left" vspace="4" hspace="8"
+                  src="${config["Producer.DocRoot"]}/img/${sorig.to_media_audio[0]["big_icon"]}">
+              </if>
+              <if sorig.to_media_video >
+                <img align="left" vspace="4" hspace="8"
+                  src="${config["Producer.DocRoot"]}/img/${sorig.to_media_video[0]["big_icon"]}">
+              </if>
+              <if sorig.to_media_other >
+                <img align="left" vspace="4" hspace="8"
+                   src="${config["Producer.DocRoot"]}/img/${sorig.to_media_other[0]["big_icon"]}">
+              </if>
+              <if sorig.to_media_images >
+                <img align="left" vspace="4" hspace="8"
+                  src="${sorig.to_media_images[0]["icon_path"]}"
+                  width="${sorig.to_media_images[0]["icon_width"]}"
+                  height="${sorig.to_media_images[0]["icon_height"]}"
+                  border=0 alt="${sorig.to_media_images[0]["title"]}">
+              </if>
+              ${s.description_parsed}
+          <br clear="all">
           <a href="${config["Producer.DocRoot"]}/${language.code}/${s.date.formatted["yyyy'/'MM"]}/${s.id}.shtml"><b>${lang("general.readmore")} &gt;&gt;</b></a>
-                                       </font></p>
-                               
-                                </td></tr></table>
-                       </list> 
-               <!--- /start-special ---> 
+          </font></p>
+
+         </td></tr></table>
+      </list>
+    <!--- /start-special --->
 
 
-               <!--- features ---> <comment></comment>  
-                       <list features as i>
-                               <p><font size="+1">
+    <!--- features ---> <comment></comment>
+      <list features as f>
+       <assign forig=f.to_original>
+        <if languagepreference>
+          <assign i=f.to_translation(languagepreference)>
+        <else>
+          <assign i=f>
+        </if>
+
+        <p><font size="+1">
         <a href="${config["Producer.DocRoot"]}/${language.code}/${i.date.formatted["yyyy'/'MM"]}/${i.id}.shtml"><b>${i.title}</b></a>
-                               </font><br>
-                                  <font size="-2">${i.creator}, ${i.creationdate.formatted["dd-MM-yyyy HH:mm"]}</font></p>
-                               <p><font size="-1">                      
-                               <if i.to_media_audio > 
-                               <img align="left" vspace="4" hspace="8"
-             src="/img/${i.to_media_audio[0]["big_icon"]}">
-                               </if> 
-                               <if i.to_media_video > 
-                               <img align="left" vspace="4" hspace="8"
-                                    src="/img/${i.to_media_video[0]["big_icon"]}">
-                               </if> 
-                               <if i.to_media_other > 
-                               <img align="left" vspace="4" hspace="8"
-                                    src="/img/${i.to_media_other[0]["big_icon"]}">
-                               </if> 
-                               <if i.to_media_images >
-                               <img align="left" vspace="4" hspace="8"
-             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}
-                               <br clear="all">
+        </font><br>
+           <font size="-2">${forig.creator} <if forig.id!=i.id>(${lang("general.translatedby", i.creator)})</if><if i.creator || forig.creator>, </if> ${forig.creationdate.formatted["dd.MM.yyyy -  HH:mm"]}</font></p>
+        <p><font size="-1">
+        <if forig.to_media_audio >
+        <img align="left" vspace="4" hspace="8"
+             src="${config["Producer.DocRoot"]}/img/${forig.to_media_audio[0]["big_icon"]}">
+        </if>
+        <if forig.to_media_video >
+        <img align="left" vspace="4" hspace="8"
+             src="${config["Producer.DocRoot"]}/img/${forig.to_media_video[0]["big_icon"]}">
+        </if>
+        <if forig.to_media_other >
+        <img align="left" vspace="4" hspace="8"
+             src="${config["Producer.DocRoot"]}/img/${forig.to_media_other[0]["big_icon"]}">
+        </if>
+        <if forig.to_media_images >
+        <img align="left" vspace="4" hspace="8"
+             src="${forig.to_media_images[0]["icon_path"]}"
+             width="${forig.to_media_images[0]["icon_width"]}"
+             height="${forig.to_media_images[0]["icon_height"]}"
+             border=0 alt="${forig.to_media_images[0]["title"]}">
+        </if>
+        ${i.description_parsed}
+        <br clear="all">
           <a href="${config["Producer.DocRoot"]}/${language.code}/${i.date.formatted["yyyy'/'MM"]}/${i.id}.shtml"><b>${lang("general.readmore")} &gt;&gt; &gt;&gt;</b></a>
-                               </font></p>
-                               
-                               <br>
-                       </list> 
-               <!--- /features ---> 
-
-       </td>
-       
-       <td valign="top">
-                       
-               <table cellpadding="8" cellspacing="0" border="0" width="100%">
-                       <tr>
-                               <td bgcolor="#cc0033">
-                                       <font size="+1" color="#dddddd"><b><a name="newswire">${lang("startpage.newswire")}</a></b></font>
-                               </td>
-                       </tr>
-                       <tr>
-                               <td>
-                                       
-                                       <!-- newswire -->
-                                       <font size="-1">
-                                               <list newswire as n>
-              <img alt=${n.to_media_icon.icon_alt} border="0" height="10" src="${n.to_media_icon.tiny_icon}" width="12"> 
+        </font></p>
+
+        <br>
+      </list>
+    <!--- /features --->
+
+  </td>
+
+  <td valign="top">
+
+    <table cellpadding="8" cellspacing="0" border="0" width="100%">
+      <tr>
+        <td bgcolor="#cc0033">
+          <font size="+1" color="#dddddd"><b><a name="newswire">${lang("startpage.newswire")}</a></b></font>
+        </td>
+      </tr>
+      <tr>
+        <td>
+
+          <!-- newswire -->
+          <font size="-1">
+            <list newswire as nn>
+             <assign norig=nn.to_original>
+             <if languagepreference>
+               <assign n=nn.to_translation(languagepreference)>
+             <else>
+                <assign n=nn>
+             </if>
+           
+
+             <img src="${norig.to_media_icon.tiny_icon}" alt="${norig.to_media_icon.icon_alt}" height="10" width="12">
               <a href="${config["Producer.DocRoot"]}/${language.code}/${n.date.formatted.yyyy}/${n.date.formatted.MM}/${n.id}.shtml">${n.title}</a>
               <br>
               <font size="-2">${n.creationdate.formatted["dd-MM-yyyy HH:mm"]}</font><br>
-                                                       <br>
-                                               </list>
-                                       </font>
-                                       <!-- /newswire -->      
+              <br>
+            </list>
+          </font>
+          <!-- /newswire -->
           <img src="/img/space.gif" width="184" height="1" border="0">
-                                                       
-                               </td>
-                       </tr>
-               </table>
-               <br>
-                       
-                       
-               </td>
-       </tr>
-  
-<!-- the rest --> 
-       <tr><td colspan="5">&nbsp;</td></tr>
-       
-       <tr>
-               <td>&nbsp;</td>
-               <td valign="top">
-                       <p>
-                       
-                       </p>
-               </td>
-               <td>&nbsp;</td>
-       </tr>
+
+        </td>
+      </tr>
+    </table>
+    <br>
+
+
+    </td>
+  </tr>
+
+<!-- the rest -->
+  <tr><td colspan="5">&nbsp;</td></tr>
+
+  <tr>
+    <td>&nbsp;</td>
+    <td valign="top">
+      <p>
+
+      </p>
+    </td>
+    <td>&nbsp;</td>
+  </tr>
 </table>
 </body>
 </html>
index e372834..d30b89f 100755 (executable)
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <html>
 <head>
-       <meta http-equiv="Content-Type" content="text/html; charset=${config["Mir.DefaultHTMLCharset"]}">
+  <meta http-equiv="Content-Type" content="text/html; charset=${config["Mir.DefaultHTMLCharset"]}">
     <title>${config["Mir.Name"]} | ${topic.title}</title>
-       <meta name="keywords" content="${lang("general.keywords")}">
-       <meta name="description" content="${topic.description}">
-       <meta name="dc:title" content="${topic.title}">
-       <meta name="dc:creator" content="">
-       <meta name="dc:subject" content="${topic.title}">
-       <meta name="dc:description" content="${topic.title}">
-       <meta name="dc:publisher" content="">
-       <meta name="dc:date" content="${config.now.dc}">
-       <meta name="dc:language" content="${language.code}">
-       <meta name="dc:coverage" content="">
-       <meta name="dc:rights" content="">
-       <meta http-equiv="expires" content="599">
-       <meta http-equiv="pragma" content="no-cache">
-       <style type="text/css">
+  <meta name="keywords" content="${lang("general.keywords")}">
+  <meta name="description" content="${topic.description}">
+  <meta name="dc:title" content="${topic.title}">
+  <meta name="dc:creator" content="">
+  <meta name="dc:subject" content="${topic.title}">
+  <meta name="dc:description" content="${topic.title}">
+  <meta name="dc:publisher" content="">
+  <meta name="dc:date" content="${config.now.formatted.dc}">
+  <meta name="dc:language" content="${language.code}">
+  <meta name="dc:coverage" content="">
+  <meta name="dc:rights" content="">
+  <meta http-equiv="expires" content="599">
+  <meta http-equiv="pragma" content="no-cache">
+  <style type="text/css">
     body, h1, h2, h3, h4, h5, h6, p, li, dt, dd, div, td, blockquote, div, span
                    {font-family:'Lucida Grande', Verdana, Geneva, Lucida, Arial, Helvetica, sans-serif;}
     a              {text-decoration:none;}
     #searchfield   {font-size: 12px; width:113px; height:16px;  background-color:#aaaaaa;}
     #searchselect  {font-size: 12px; width:120px; height:22px;  background-color:#aaaaaa;}
     #searchbutton  {font-size: 12px; width:120px; height:20px; background-color:#aaaaaa; text-align: right;}
-       </style>
+  </style>
 </head>
-        
+
 <body bgcolor="#dddddd" marginwidth="0" marginheight="0" leftmargin="0" topmargin="0" link="#003399" alink="#cc0033" vlink="#660033" >
 
 <table border="0" cellpadding="0" cellspacing="0" width="100%">
-       <tr>
-               <td valign="top">
-                       <table cellpadding="0" cellspacing="0" border="0" width="100%" bgcolor="#cc0033">
-                               <tr>
-                                       <td><a href="${config["Producer.DocRoot"]}/${language.code}/"><img src="${config["Producer.DocRoot"]}/img/logo.gif" width="120" height="120" alt="((i))" border="0"></a></td>
-                               </tr>
-                       </table>
-                       <table cellpadding="4" cellspacing="0" border="0" width="100%" bgcolor="#cc0033">
-                               <tr>
-                                       <td><a href="${config["Producer.DocRoot"]}/${language.code}/">&nbsp;<font color="#dddddd" size="-1"><b>${lang("general.start")}</b></font></a></td>
-                               </tr>
-                       </table>
-                       <br>
-                       <!--#include virtual="../navigation.inc" -->
-               </td>
-               <td valign="top" width="100%">
-                       <table cellpadding="4" cellspacing="0" border="0" width="100%" bgcolor="#cc0033">
-                               <tr>
-                                       <td>
-                                               &nbsp;&nbsp;
-                                               <font color="#dddddd" size="-1"><b>
-                                       <a href="${config["Producer.DocRoot"]}/${language.code}/static/mission.shtml"><font color="#dddddd">${lang("general.menu.missionStatement")}&nbsp;&gt;&gt;</font></a> &nbsp; 
-                                       <a href="${config["Producer.DocRoot"]}/${language.code}/static/moderation.shtml"><font color="#dddddd">${lang("general.menu.moderation")}&nbsp;&gt;&gt;</font></a>  &nbsp;
-                                       <a href="${config["Producer.DocRoot"]}/${language.code}/static/support.shtml"><font color="#dddddd">${lang("general.menu.support")}&nbsp;&gt;&gt;</font></a>  &nbsp;
-                                       <a href="${config["Producer.DocRoot"]}/${language.code}/static/mailinglists.shtml"><font color="#dddddd">${lang("general.menu.mailinglists")}&nbsp;&gt;&gt;</font></a> &nbsp;
-                                       <a href="${config["Producer.DocRoot"]}/${language.code}/static/participate.shtml"><font color="#dddddd">${lang("general.menu.participate")}&nbsp;&gt;&gt;</font></a>
-                                               </b></font>
-                                       </td>
-                               </tr>
-                       </table>
-                       <table cellpadding="0" cellspacing="0" border="0" width="100%">
-                               <tr>
-                                       <td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
-                                       <td width="100%">
-                                               <br>
-                                               <br>
-                                               <font color="#cc0033" size="+2"><b>${topic.title}</b></font>
-                                               <br>
-                                               <br>
-                                       </td>
-                                       <td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
-                                       <td valign="top"><img src="${config["Producer.DocRoot"]}/img/space.gif" alt="" width="100" height="1">
-                                       </td>
-                                       <td>
-                                       &nbsp;&nbsp;&nbsp;&nbsp;
-                                       </td>
-                               </tr>
-                               <tr>
-                                       <td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
-                                       <td>
-                                               <br>
-                                                       <!--- topic-special ---> <comment></comment>
-                                                               <list special as s>
-                                        <table width="100%" border="0" cellspacing="0" cellpadding="10" bgcolor="#eeeeee"><tr><td> 
-                                      <p><font size="+2">
+  <tr>
+    <td valign="top">
+      <table cellpadding="0" cellspacing="0" border="0" width="100%" bgcolor="#cc0033">
+        <tr>
+          <td><a href="${config["Producer.DocRoot"]}/${language.code}/"><img src="${config["Producer.DocRoot"]}/img/logo.gif" width="120" height="120" alt="((i))" border="0"></a></td>
+        </tr>
+      </table>
+      <table cellpadding="4" cellspacing="0" border="0" width="100%" bgcolor="#cc0033">
+        <tr>
+          <td><a href="${config["Producer.DocRoot"]}/${language.code}/">&nbsp;<font color="#dddddd" size="-1"><b>${lang("general.start")}</b></font></a></td>
+        </tr>
+      </table>
+      <br>
+      <!--#include virtual="../navigation.inc" -->
+    </td>
+    <td valign="top" width="100%">
+      <table cellpadding="4" cellspacing="0" border="0" width="100%" bgcolor="#cc0033">
+        <tr>
+          <td>
+            &nbsp;&nbsp;
+            <font color="#dddddd" size="-1"><b>
+          <a href="${config["Producer.DocRoot"]}/${language.code}/static/mission.shtml"><font color="#dddddd">${lang("general.menu.missionStatement")}&nbsp;&gt;&gt;</font></a> &nbsp;
+          <a href="${config["Producer.DocRoot"]}/${language.code}/static/moderation.shtml"><font color="#dddddd">${lang("general.menu.moderation")}&nbsp;&gt;&gt;</font></a>  &nbsp;
+          <a href="${config["Producer.DocRoot"]}/${language.code}/static/support.shtml"><font color="#dddddd">${lang("general.menu.support")}&nbsp;&gt;&gt;</font></a>  &nbsp;
+          <a href="${config["Producer.DocRoot"]}/${language.code}/static/mailinglists.shtml"><font color="#dddddd">${lang("general.menu.mailinglists")}&nbsp;&gt;&gt;</font></a> &nbsp;
+          <a href="${config["Producer.DocRoot"]}/${language.code}/static/participate.shtml"><font color="#dddddd">${lang("general.menu.participate")}&nbsp;&gt;&gt;</font></a>
+            </b></font>
+          </td>
+        </tr>
+      </table>
+      <table cellpadding="0" cellspacing="0" border="0" width="100%">
+        <tr>
+          <td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
+          <td width="100%">
+            <br>
+            <br>
+            <font color="#cc0033" size="+2"><b>${topic.title}</b></font>
+            <br>
+            <br>
+          </td>
+          <td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
+          <td valign="top">&nbsp;
+          </td>
+          <td>
+          &nbsp;&nbsp;&nbsp;&nbsp;
+          </td>
+        </tr>
+        <tr>
+          <td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
+          <td>
+            <br>
+              <!--- topic-special ---> <comment></comment>
+                               <if (batch.current.index==batch.first.index)>
+                               <list special as ss>
+                                 <assign sorig=ss.to_original> 
+                                 <if languagepreference>
+                                   <assign s=ss.to_translation(languagepreference)>
+                                 <else>
+                                   <assign s=ss>
+                                 </if>
+
+                   <table width="100%" border="0" cellspacing="0" cellpadding="10" bgcolor="#eeeeee"><tr><td>
+                       <p><font size="+2">
                        <a href="${config["Producer.DocRoot"]}/${language.code}/${s.date.formatted["yyyy'/'MM"]}/${s.id}.shtml"><b>${s.title}</b></a>
-                                      </font><br>
-                                         <font size="-2">${s.creator}, ${s.webdb_create_formatted}</font></p>
-                                      <p><font size="-1">                       
-                                       <if s.to_media_audio > 
-                                         <img align="left" vspace="4" hspace="8"
-                                           src="${config["Producer.DocRoot"]}/img/${s.to_media_audio[0]["big_icon"]}">
-                                       </if> 
-                                       <if s.to_media_video > 
-                                         <img align="left" vspace="4" hspace="8"
-                                           src="${config["Producer.DocRoot"]}/img/${s.to_media_video[0]["big_icon"]}">
-                                       </if> 
-                                       <if s.to_media_other > 
-                                         <img align="left" vspace="4" hspace="8"
-                                            src="${config["Producer.DocRoot"]}/img/${s.to_media_other[0]["big_icon"]}">
-                                       </if> 
-                                       <if s.to_media_images >
-                                         <img align="left" vspace="4" hspace="8"
-                                           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} 
-                                               <br clear="all">
-                                               <a href="${config["Producer.DocRoot"]}${s.publish_path}${s.id}.shtml"><b>${lang("general.readmore")} &gt;&gt;</b></a>
-                                               </font></p>
-                                       
-                                        </td></tr></table>
-                                                         </list>
-                                                       <!--- /topic-special --->               
-                                       
-                                                       <!--- articles ---> <comment></comment>  
-                                                               <list articles as i>
-                                       <p><font size="+1">
+                       </font><br>
+                          <font size="-2">${sorig.creator} <if sorig.id!=s.id>(${lang("general.translatedby", s.creator)})</if><if s.creator || sorig.creator>, </if> ${sorig.creationdate.formatted["dd-MM-yyyy - HH:mm"]}</font></p>
+                       <p><font size="-1">
+                        <if sorig.to_media_audio >
+                          <img align="left" vspace="4" hspace="8"
+                            src="${config["Producer.DocRoot"]}/img/${sorig.to_media_audio[0]["big_icon"]}">
+                        </if>
+                        <if sorig.to_media_video >
+                          <img align="left" vspace="4" hspace="8"
+                            src="${config["Producer.DocRoot"]}/img/${sorig.to_media_video[0]["big_icon"]}">
+                        </if>
+                        <if sorig.to_media_other >
+                          <img align="left" vspace="4" hspace="8"
+                             src="${config["Producer.DocRoot"]}/img/${sorig.to_media_other[0]["big_icon"]}">
+                        </if>
+                        <if sorig.to_media_images >
+                          <img align="left" vspace="4" hspace="8"
+                            src="${sorig.to_media_images[0]["icon_path"]}"
+                            width="${sorig.to_media_images[0]["icon_width"]}"
+                            height="${sorig.to_media_images[0]["icon_height"]}"
+                            border=0 alt="${sorig.to_media_images[0]["title"]}">
+                        </if>
+                        ${s.description_parsed}
+                    <br clear="all">
+                    <a href="${config["Producer.DocRoot"]}/${language.code}${s.publish_path}${s.id}.shtml"><b>${lang("general.readmore")} &gt;&gt;</b></a>
+                    </font></p>
+
+                   </td></tr></table>
+                </list>
+                               </if>
+              <!--- /topic-special --->
+
+              <!--- articles ---> <comment></comment>
+                <list articles as a>
+                 <assign aorig=a.to_original>
+               <if languagepreference>
+                 <assign i=a.to_translation(languagepreference)>
+               <else>
+                 <assign i=a>
+               </if>
+
+                  <p><font size="+1">
                   <a href="${config["Producer.DocRoot"]}/${language.code}/${i.date.formatted["yyyy'/'MM"]}/${i.id}.shtml"><b>${i.title}</b></a>
-                                       </font><br>
-                                          <font size="-2">${i.creator}, ${i.webdb_create_formatted}</font></p>
-                                       <p><font size="-1">                      
-                                       <if i.to_media_audio > 
-                                       <img align="left" vspace="4" hspace="8"
-                       src="${config["Producer.DocRoot"]}/img/${i.to_media_audio[0]["big_icon"]}">
-                                       </if> 
-                                       <if i.to_media_video > 
-                                       <img align="left" vspace="4" hspace="8"
-                                            src="${config["Producer.DocRoot"]}/img/${i.to_media_video[0]["big_icon"]}">
-                                       </if> 
-                                       <if i.to_media_other > 
-                                       <img align="left" vspace="4" hspace="8"
-                                            src="${config["Producer.DocRoot"]}/img/${i.to_media_other[0]["big_icon"]}">
-                                       </if> 
-                                       <if i.to_media_images >
-                                       <img align="left" vspace="4" hspace="8"
-                       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}
-                                       <br clear="all">
-                                       <a href="${config["Producer.DocRoot"]}${i.publish_path}${i.id}.shtml"><b>${lang("general.readmore")} &gt;&gt;</b></a>
-                                       </font></p>
-                                       
-                                       <br>
-                                                               </list> 
-                                                       <!--- /articles ---> 
-                                                 <if batch.current.index!=batch.first.index>
-                                               <a href="${docPrefix}${batch.previous.identifier}${docSuffix}"><font size="+1"><b>&lt;&lt; ${lang("general.page.prefix")} ${batch.previous.index}</b></font></a>
-                                               </if> 
-                                                 <if batch.current.index!=batch.first.index && batch.current.index!=batch.last.index>
-                                                   |
-                                                 </if>
-                                                 <if batch.next>
-                                               <a href="${docPrefix}${batch.next.identifier}${docSuffix}"><font size="+1"><b>${lang("general.page.prefix")} ${batch.next.index} &gt;&gt;</b></font></a>
-                                               </if>
-                                                       
-                                                       
-                                       </td>
-                                       <td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
-                                       <td valign="top"><img src="${config["Producer.DocRoot"]}/img/space.gif" alt="" width="100" height="1">
-                                               <br>
-                                           ${lang("general.page.prefix")} <b>${batch.current.index}</b> ${lang("general.page.infix")}
-                               <!--#include virtual="${docPrefix}nav${docSuffix}" -->
-                                       
-                                       </td>
-                                       <td>
-                                       &nbsp;&nbsp;&nbsp;&nbsp;
-                                       </td>
-                               </tr>
-                       </table>
-               </td>
-       </tr>
-  
-<!-- the rest --> 
-       <tr><td colspan="2">&nbsp;</td></tr>
+                  </font><br>
+                     <font size="-2">${aorig.creator} <if aorig.id!=i.id>(${lang("general.translatedby", i.creator)})</if><if i.creator || aorig.creator>, </if> ${aorig.creationdate.formatted["dd-MM-yyyy - HH:mm"]}</font></p>
+                  <p><font size="-1">
+                  <if aorig.to_media_audio >
+                  <img align="left" vspace="4" hspace="8"
+                       src="${config["Producer.DocRoot"]}/img/${aorig.to_media_audio[0]["big_icon"]}">
+                  </if>
+                  <if aorig.to_media_video >
+                  <img align="left" vspace="4" hspace="8"
+                       src="${config["Producer.DocRoot"]}/img/${aorig.to_media_video[0]["big_icon"]}">
+                  </if>
+                  <if aorig.to_media_other >
+                  <img align="left" vspace="4" hspace="8"
+                       src="${config["Producer.DocRoot"]}/img/${aorig.to_media_other[0]["big_icon"]}">
+                  </if>
+                  <if aorig.to_media_images >
+                  <img align="left" vspace="4" hspace="8"
+                       src="${aorig.to_media_images[0]["icon_path"]}"
+                       width="${aorig.to_media_images[0]["icon_width"]}"
+                       height="${aorig.to_media_images[0]["icon_height"]}"
+                       border=0 alt="${aorig.to_media_images[0]["title"]}">
+                  </if>
+                  ${i.description_parsed}
+                  <br clear="all">
+                  <a href="${config["Producer.DocRoot"]}/${language.code}${i.publish_path}${i.id}.shtml"><b>${lang("general.readmore")} &gt;&gt;</b></a>
+                  </font></p>
+
+                  <br>
+                </list>
+              <!--- /articles --->
+
+
+          </td>
+          <td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
+          <td valign="top">
+                       &nbsp;
+          </td>
+          <td>
+          &nbsp;&nbsp;&nbsp;&nbsp;
+          </td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+
+<!-- the rest -->
+  <tr>
+  <td>&nbsp;</td>
+  <table width="100%">
+                       <!--- Page Navigation --->
+               <tr><td colspan="4" bgcolor="#CCCCCC"><br></td></tr>
+               <tr>
+                       <td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
+                       <td align="left" valign="top">
+                         <if batch.current.index!=batch.first.index>
+                <a href="${docPrefix}${batch.previous.identifier}${docSuffix}"><font><b>&lt;&lt; ${lang("general.page.prefix")} ${batch.previous.index}</b></font></a>
+              </if>
+              <if batch.current.index!=batch.first.index && batch.current.index!=batch.last.index>
+                |
+              </if>
+              <if batch.next>
+                <a href="${docPrefix}${batch.next.identifier}${docSuffix}"><font><b>${lang("general.page.prefix")} ${batch.next.index} &gt;&gt;</b></font></a>
+              </if>
+                       </td>
+                       <td>
+                       &nbsp;
+                       </td>
+                       <td align="right" valign="top">
+                       <!--#include virtual="${docPrefix}nav${docSuffix}" -->
+                       </td>
+                       <td>&nbsp;<br><br><br></td>
+               </tr>
+  </table>
+
+
+  </tr>
 </table>
 </body>
 </html>
diff --git a/etc/scripts/bundletool.sh b/etc/scripts/bundletool.sh
new file mode 100755 (executable)
index 0000000..88b0d51
--- /dev/null
@@ -0,0 +1,20 @@
+#!/bin/sh
+
+HOME=`dirname $0`
+
+for j in $HOME/../../bin/mir/WEB-INF/lib/*.jar; do
+  if [ "$CLASSPATH" ] ; then
+    CLASSPATH="$CLASSPATH:$j"
+  else
+    CLASSPATH="$j"
+  fi
+done
+export CLASSPATH
+
+if [ "$JAVA_HOME" ] ; then
+  if [ -z "$JAVACMD" ]; then
+    JAVACMD="$JAVA_HOME/bin/java"
+  fi
+fi
+
+$JAVACMD tool.BundleTool  $*
diff --git a/etc/scripts/produce.sh b/etc/scripts/produce.sh
new file mode 100755 (executable)
index 0000000..535c289
--- /dev/null
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+echo -e "http://your.mir.home/yourmirwebapp/servlet/Mir?login=youruser&password=yourpassword&module=Producer&do=produce&producer=$1&verb=$2\n-accept_all_cookies\n-dump" | lynx -
diff --git a/etc/scripts/reload.sh b/etc/scripts/reload.sh
new file mode 100755 (executable)
index 0000000..2737590
--- /dev/null
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+echo -e "http://your.mir.home/yourmirwebapp/servlet/Mir?login=youruser&password=yourpassword&module=Admin&do=reload\n-accept_all_cookies \n-dump" | lynx -