<!--
- This XML file defines a set of producers intended for a typical indymedia
- site:
+ This XML file defines a set of producers intended for a typical indymedia site:
- a start page
- a navigational bar
- topic pages
<definition>
<If condition="extratables == 'none' ">
<then>
- <List key="articles" table="content c" selection="${articleSelection}" order = "c.webdb_create desc, c.date desc" limit="limit" />
+ <List key="articles" table="content" selection="${articleSelection}" order = "webdb_create desc, 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}" />
+ <List key="articles" table="content" selection="${articleSelection}" order = "webdb_create desc, date desc" limit="limit" extratables="${extratables}" />
</else>
</If>
<If condition="channeldescription==''">
<nodedefinition name="RSSChannelBundle">
<parameters>
<string name="extratables" defaultvalue="none" />
- <string name="selection" defaultvalue="c.is_published='1'" />
+ <string name="selection" defaultvalue="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}"
+ articleSelection="(to_article_type in (${articletype.newswire}) or (to_article_type=${articletype.translation} and 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}"
+ articleSelection="(to_article_type in (${articletype.newswire}) or (to_article_type=${articletype.translation} and to_original.to_articletype in (${articletype.newsire}))) and ${selection}"
channelfilename="${basefilename}-newswire-content.rss"
channeltitle="${config['Mir.Name']} ${basefilename} newswire"
limit="20"
/>
<!-- 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}"
+ articleSelection="(to_article_type 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}"
+ articleSelection="(to_article_type in (${articletype.feature},${articletype.startspecial},${articletype.topicspecial})) and ${selection}"
channelfilename="${basefilename}-features-content.rss"
channeltitle="${config['Mir.Name']} ${basefilename} features"
limit="20"
<producer name="articles">
<verbs>
<verb name="changed" default="1">
- <Define key="verbcondition" value="(not is_produced)"/>
+ <Define key="verbcondition" value="(not is_produced) and to_article_type != ${articletype.static}"/>
<Set key="limit" value="10"/>
</verb>
<verb name="all">
- <Define key="verbcondition" value=""/>
+ <Define key="verbcondition" value="to_article_type != ${articletype.static}"/>
<Set key="limit" value="-1"/>
</verb>
<verb name="sample">
- <Define key="verbcondition" value=""/>
+ <Define key="verbcondition" value="to_article_type != ${articletype.static}"/>
<Set key="limit" value="10"/>
</verb>
+
+ <verb name="test" >
+ <Define key="verbcondition" value="(id>=5000 and id<7500 ) and to_article_type != ${articletype.static}"/>
+ <Set key="limit" value="2500"/>
+ </verb>
+
+
</verbs>
<body>
<Enumerate key="article" table="content" selection="${verbcondition}"
<producer name="staticpages">
<verbs>
<verb name="changed" default="1">
- <Define key="verbcondition" value="(not is_produced)"/>
+ <Define key="verbcondition" value="(not is_produced) and to_article_type = ${articletype.static}"/>
<Set key="limit" value="10"/>
</verb>
<verb name="all">
- <Define key="verbcondition" value=""/>
+ <Define key="verbcondition" value="to_article_type = ${articletype.static}"/>
<Set key="limit" value="-1"/>
</verb>
</verbs>
<body>
- <Enumerate key="article" table="content" selection="${verbcondition} and to_article_type = ${articletype.static}"
+ <Enumerate key="article" table="content" selection="${verbcondition}"
limit="limit" order="webdb_create desc">
<Enumerate
key="media" table="image"
<GenerateMedia key="media" />
</Enumerate>
+ <List key="topics" table="topic t" extratables="content_x_topic ctx"
+ selection="ctx.content_id = ${article.id} AND ctx.topic_id = t.id" />
<If condition="article.is_published == '1'">
<then>
<Language>
<Generate
- generator="/article.template"
+ generator="/staticpage.template"
destination="${config.storageRoot}/${pathprefix}/static/${article.edittitle}.html"/>
</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}.html"/>
</body>
</producer>
+
+ <producer name="staticfiles">
+ <verbs>
+ <verb name="generate" default="1" description="copies all the static image files into place"/>
+ </verbs>
+ <body>
+ <CopyDir destination="js" source="etc/producer/js"/>
+ </body>
+ </producer>
+
<producer name="newswirearchive">
<verbs>
<verb name="new">
</verbs>
<body>
<Set key="whichnewswire" value="Open Publishing News" />
- <List key="newswire" table="content" limit="20"
+ <List key="newswire" table="content" limit="50"
selection="is_published=true and to_article_type=${articletype.newswire}"
order="webdb_create desc"/>
<Language>
<verb name="generate" default="1" description="Generates the startpage"/>
</verbs>
+
<body>
<List key="startspecial" table="content" limit="1"
selection="is_published=true and to_article_type=${articletype.startspecial}"
order="webdb_create desc"/>
+
+ <Enumerate key="ssimage" table="image" selection="to_media_folder=9 and is_published=true" >
+ <Define key="ssimagepath" value="${ssimage.publish_server}/${ssimage.publish_path}" />
+ <Define key="sstitle" value="${ssimage.title}" />
+ </Enumerate>
+
<List key="features" table="content" limit="5"
selection="is_published=true and to_article_type in (${articletype.feature},${articletype.promotedcommunityarticle},${articletype.promotednewswire})"
<List key="mostcomments"
table="content c"
extratables="comment cm"
- selection="c.webdb_create > NOW()-'2 years'::interval and c.is_published=true and c.id=cm.to_media group by c.id,c.title,
+ selection="c.webdb_create > NOW()-'1 week'::interval and c.is_published=true and cm.is_published=true and c.id=cm.to_media group by c.id,c.title,
c.subtitle,c.edittitle,c.date,c.creator,c.creator_main_url,c.creator_email,c.creator_address,c.creator_phone,c.description,
c.comment,c.source,c.is_published,c.is_produced,c.to_publisher,c.to_language,c.to_rights,c.webdb_create,c.webdb_lastchange,
c.content_data,c.is_html,c.to_article_type,c.to_content,c.keywords,c.to_locking_user"
- order="count(cm.id) desc"
+ order="count(cm.id) desc, c.webdb_create desc "
limit="3"
/>
<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"
+ selection="id=cxt.content_id and cxt.topic_id = ${topic.id}"
+ extratables="content_x_topic as cxt"
/>
</Enumerate>
<body>
<FreeQuery key="topicCounts" query=" SELECT count(x.content_id) as count, t.title, t.filename FROM topic as t LEFT OUTER JOIN content_x_topic
as x ON (t.id=x.topic_id) LEFT OUTER JOIN content as c ON (c.id=x.content_id)
- WHERE t.archiv_url = 'Category' GROUP BY t.title , t.filename ORDER BY length(t.title)"
+ WHERE c.webdb_create > NOW()-'1 day'::interval AND t.archiv_url = 'Category' GROUP BY t.title , t.filename ORDER BY t.title"
type="set"/>
<Language>
<Generate generator="/topiccount.template"
<Define key="topicfile" value="${category.filename}" />
<List key="randomarticles" table="content"
- selection ="id in (select content_id from content_x_topic where topic_id = ${category.id})" order="date DESC"
+ selection ="id in (select content_id from content_x_topic where topic_id = ${category.id}) AND is_published=true" order="date DESC"
limit="3" />
<Language>
<Generate
<Language>
<Generate
generator="/footer.template"
- destination="${config.storageRoot}/${pathprefix}/footer.inc"/>
+ destination="${config.storageRoot}/${pathprefix}/footer.html"/>
</Language>
</body>
</producer>
+
+ <producer name="headArticle">
+ <verbs>
+ <verb name="generate" default="1" description="generates the article html head"/>
+ </verbs>
+ <body>
+ <Language>
+ <Generate
+ generator="/head.article.template"
+ destination="${config.storageRoot}/${pathprefix}/head.article.html"/>
+ </Language>
+ </body>
+ </producer>
</producers>