}
$description = serendipity_utf8_encode(htmlspecialchars($description));
-$fullFeed = false;
-$showMail = true;
+
+$metadata = array(
+ 'title' => $title,
+ 'description' => $description,
+ 'language' => $serendipity['lang'],
+ 'additional_fields' => $additional_fields,
+ 'link' => $serendipity['baseURL'],
+ 'email' => $serendipity['email'],
+ 'fullFeed' => false,
+ 'showMail' => showMail,
+ 'version' => $version
+);
include_once(S9Y_INCLUDE_PATH . 'include/plugin_api.inc.php');
$plugins = serendipity_plugin_api::enum_plugins();
foreach ($plugins as $plugin_data) {
if (preg_match('|@serendipity_syndication_plugin|', $plugin_data['name'])) {
$plugin =& serendipity_plugin_api::load_plugin($plugin_data['name'], $plugin_data['authorid']);
- $additional_fields = $plugin->generate_rss_fields($title, $description, $entries);
- $fullFeed = $plugin->get_config('fullfeed', false);
- $showMail = serendipity_db_bool($plugin->get_config('show_mail', $showMail));
+
+ $metadata['additional_fields'] = $plugin->generate_rss_fields($metadata['title'], $metadata['description'], $entries);
+ $metadata['fullFeed'] = $plugin->get_config('fullfeed', false);
+ $metadata['showMail'] = serendipity_db_bool($plugin->get_config('show_mail', $metadata['showMail']));
break;
}
}
}
+serendipity_plugin_api::hook_event('frontend_rss', $metadata);
+
echo '<?xml version="1.0" encoding="utf-8" ?>';
if (strstr($version, 'atom')) {
print <<<HEAD
<rss version="0.91">
<channel>
-<title>$title</title>
-<link>{$serendipity['baseURL']}</link>
-<description>$description</description>
-<language>{$serendipity['lang']}</language>
-{$additional_fields['image']}
+<title>{$metadata['title']}</title>
+<link>{$metadata['link']}</link>
+<description>{$metadata['description']}</description>
+<language>{$metadata['language']}</language>
+{$metadata['additional_fields']['image']}
HEAD;
break;
}
if ($showMail) {
- $head_mail = "<admin:errorReportsTo rdf:resource=\"mailto:{$serendipity['email']}\" />";
+ $head_mail = "<admin:errorReportsTo rdf:resource=\"mailto:{$metadata['email']}\" />";
} else {
$head_mail = '';
}
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns="http://my.netscape.com/rdf/simple/0.9/">
<channel>
- <title>$title</title>
- <link>{$serendipity['baseURL']}</link>
- <description>$description</description>
- <dc:language>{$serendipity['lang']}</dc:language>
+ <title>{$metadata['title']}</title>
+ <link>{$metadata['link']}</link>
+ <description>{$metadata['description']}</description>
+ <dc:language>{$metadata['language']}</dc:language>
$head_mail
- {$additional_fields['image_rss1.0_channel']}
+ {$metadata['additional_fields']['image_rss1.0_channel']}
<items>
<rdf:Seq>{$rdf_seq_li}</rdf:Seq>
</items>
</channel>
-{$additional_fields['image_rss1.0_rdf']}
+{$metadata['additional_fields']['image_rss1.0_rdf']}
HEAD;
break;
}
if ($showMail) {
- $head_mail = "<admin:errorReportsTo rdf:resource=\"mailto:{$serendipity['email']}\" />";
+ $head_mail = "<admin:errorReportsTo rdf:resource=\"mailto:{$metadata['email']}\" />";
} else {
$head_mail = '';
}
xmlns:content="http://purl.org/rss/1.0/modules/content/"
{$entries['display_dat']}>
<channel>
- <title>$title</title>
- <link>{$serendipity['baseURL']}</link>
- <description>$description</description>
- <dc:language>{$serendipity['lang']}</dc:language>
+ <title>{$metadata['title']}</title>
+ <link>{$metadata['link']}</link>
+ <description>{$metadata['description']}</description>
+ <dc:language>{$metadata['language']}</dc:language>
$head_mail
<generator>Serendipity {$serendipity['version']} - http://www.s9y.org/</generator>
- {$additional_fields['channel']}
- {$additional_fields['image']}
+ {$metadata['additional_fields']['channel']}
+ {$metadata['additional_fields']['image']}
HEAD;
break;
}
if ($showMail) {
- $head_mail = "<admin:errorReportsTo rdf:resource=\"mailto:{$serendipity['email']}\" />";
+ $head_mail = "<admin:errorReportsTo rdf:resource=\"mailto:{$metadata['email']}\" />";
} else {
$head_mail = '';
}
xmlns:admin="http://webns.net/mvcb/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/">
- <link href="{$serendipity['baseURL']}rss.php?version=atom0.3" rel="service.feed" title="$title" type="application/x.atom+xml" />
- <link href="{$serendipity['baseURL']}" rel="alternate" title="$title" type="text/html" />
- <link href="{$serendipity['baseURL']}rss.php?version=2.0" rel="alternate" title="$title" type="application/rss+xml" />
- <title mode="escaped" type="text/html">$title</title>
- <tagline mode="escaped" type="text/html">$description</tagline>
- <id>{$serendipity['baseURL']}</id>
+ <link href="{$serendipity['baseURL']}rss.php?version=atom0.3" rel="service.feed" title="{$metadata['title']}" type="application/x.atom+xml" />
+ <link href="{$serendipity['baseURL']}" rel="alternate" title="{$metadata['title']}" type="text/html" />
+ <link href="{$serendipity['baseURL']}rss.php?version=2.0" rel="alternate" title="{$metadata['title']}" type="application/rss+xml" />
+ <title mode="escaped" type="text/html">{$metadata['title']}</title>
+ <tagline mode="escaped" type="text/html">{$metadata['description']}</tagline>
+ <id>{$metadata['link']}</id>
<modified>$modified</modified>
<generator url="http://www.s9y.org/" version="{$serendipity['version']}">Serendipity {$serendipity['version']} - http://www.s9y.org/</generator>
- <dc:language>{$serendipity['lang']}</dc:language>
+ <dc:language>{$metadata['language']}</dc:language>
$head_mail
<info mode="xml" type="text/html">
<div xmlns="http://www.w3.org/1999/xhtml">You are viewing an ATOM formatted XML site feed. Usually this file is inteded to be viewed in an aggregator or syndication software. If you want to know more about ATOM, please visist <a href="http://atomenabled.org/">Atomenabled.org</a></div>
print <<<HEAD
<opml version="{$version}">
<head>
- <title>$title</title>
+ <title>{$metadata['title']}</title>
<dateModified>$modified</dateModified>
<ownerName>Serendipity {$serendipity['version']} - http://www.s9y.org/</ownerName>
</head>
}
unset($entries['display_dat']); // Only needed for headers.
-serendipity_printEntries_rss($entries, $version, $comments, $fullFeed, $showMail);
+serendipity_printEntries_rss($entries, $version, $comments, $metadata['fullFeed'], $metadata['showMail']);
switch ($version) {
case '0.91':