From 28df542bf064dae08dfd76d70d081932958c3ab6 Mon Sep 17 00:00:00 2001 From: garvinhicking Date: Sun, 24 Jul 2005 12:11:14 +0000 Subject: [PATCH] Add frontend_rss hook to change RSS metadata. Freetag plugin will use this. --- rss.php | 81 +++++++++++++++++++++++++++++++++------------------------ 1 file changed, 47 insertions(+), 34 deletions(-) diff --git a/rss.php b/rss.php index d20f909..55d8f7a 100644 --- a/rss.php +++ b/rss.php @@ -89,8 +89,18 @@ if (!empty($serendipity['GET']['category'])) { } $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(); @@ -100,14 +110,17 @@ if (is_array($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 ''; if (strstr($version, 'atom')) { @@ -120,11 +133,11 @@ case '0.91': print << -$title -{$serendipity['baseURL']} -$description -{$serendipity['lang']} -{$additional_fields['image']} +{$metadata['title']} +{$metadata['link']} +{$metadata['description']} +{$metadata['language']} +{$metadata['additional_fields']['image']} HEAD; break; @@ -143,7 +156,7 @@ case '1.0': } if ($showMail) { - $head_mail = ""; + $head_mail = ""; } else { $head_mail = ''; } @@ -158,20 +171,20 @@ case '1.0': xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns="http://my.netscape.com/rdf/simple/0.9/"> - $title - {$serendipity['baseURL']} - $description - {$serendipity['lang']} + {$metadata['title']} + {$metadata['link']} + {$metadata['description']} + {$metadata['language']} $head_mail - {$additional_fields['image_rss1.0_channel']} + {$metadata['additional_fields']['image_rss1.0_channel']} {$rdf_seq_li} -{$additional_fields['image_rss1.0_rdf']} +{$metadata['additional_fields']['image_rss1.0_rdf']} HEAD; break; @@ -185,7 +198,7 @@ case '2.0': } if ($showMail) { - $head_mail = ""; + $head_mail = ""; } else { $head_mail = ''; } @@ -200,14 +213,14 @@ case '2.0': xmlns:content="http://purl.org/rss/1.0/modules/content/" {$entries['display_dat']}> - $title - {$serendipity['baseURL']} - $description - {$serendipity['lang']} + {$metadata['title']} + {$metadata['link']} + {$metadata['description']} + {$metadata['language']} $head_mail Serendipity {$serendipity['version']} - http://www.s9y.org/ - {$additional_fields['channel']} - {$additional_fields['image']} + {$metadata['additional_fields']['channel']} + {$metadata['additional_fields']['image']} HEAD; break; @@ -220,7 +233,7 @@ case 'atom0.3': } if ($showMail) { - $head_mail = ""; + $head_mail = ""; } else { $head_mail = ''; } @@ -233,15 +246,15 @@ case 'atom0.3': xmlns:admin="http://webns.net/mvcb/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"> - - - - $title - $description - {$serendipity['baseURL']} + + + + {$metadata['title']} + {$metadata['description']} + {$metadata['link']} $modified Serendipity {$serendipity['version']} - http://www.s9y.org/ - {$serendipity['lang']} + {$metadata['language']} $head_mail
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 Atomenabled.org
@@ -259,7 +272,7 @@ case 'opml1.0': print << - $title + {$metadata['title']} $modified Serendipity {$serendipity['version']} - http://www.s9y.org/ @@ -272,7 +285,7 @@ default: } 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': -- 2.39.5