From 0d178d00a567d62d8fb462b94a309cfb9c1b02aa Mon Sep 17 00:00:00 2001 From: theli Date: Thu, 8 Mar 2007 08:10:36 +0000 Subject: [PATCH] *) adding RSS feed for peer messages git-svn-id: https://svn.berlios.de/svnroot/repos/yacy/trunk@3448 6c8d7289-2bf4-0310-a012-ef5d649a1542 --- htroot/Messages_p.html | 1 + htroot/Messages_p.java | 16 ++++++++++++++++ htroot/Messages_p.rss | 24 ++++++++++++++++++++++++ 3 files changed, 41 insertions(+) create mode 100644 htroot/Messages_p.rss diff --git a/htroot/Messages_p.html b/htroot/Messages_p.html index 70805390a..88c2e2166 100644 --- a/htroot/Messages_p.html +++ b/htroot/Messages_p.html @@ -2,6 +2,7 @@ YaCy '#[clientname]#': Messages + #%env/templates/metas.template%# diff --git a/htroot/Messages_p.java b/htroot/Messages_p.java index 5644bc192..79f115bea 100644 --- a/htroot/Messages_p.java +++ b/htroot/Messages_p.java @@ -75,6 +75,11 @@ public class Messages_p { plasmaSwitchboard switchboard = (plasmaSwitchboard) env; serverObjects prop = new serverObjects(); + // set peer address / name + final String peerAddress = yacyCore.seedDB.mySeed.getAddress(); + final String peerName = yacyCore.seedDB.mySeed.getName(); + prop.put("peerAddress", peerAddress); + prop.put("peerName", peerName); // List known hosts for message sending (from Blacklist_p.java) if (yacyCore.seedDB != null && yacyCore.seedDB.sizeConnected() > 0) { @@ -143,6 +148,17 @@ public class Messages_p { prop.put("mode_messages_"+count+"_subject", wikiCode.replaceHTML(message.subject())); prop.put("mode_messages_"+count+"_key", key); prop.put("mode_messages_"+count+"_hash", message.authorHash()); + + // also write out the message body (needed for the RSS feed) + if (((String)header.get(httpHeader.CONNECTION_PROP_PATH)).endsWith(".rss")) { + prop.put("mode_messages_"+count+"_peerAddress", peerAddress); + try { + prop.put("mode_messages_"+count+"_body",new String(message.message(), "UTF-8")); + } catch (UnsupportedEncodingException e) { + // can not happen, because UTF-8 must be supported by every JVM + } + } + dark = !dark; count++; } diff --git a/htroot/Messages_p.rss b/htroot/Messages_p.rss new file mode 100644 index 000000000..b8182e328 --- /dev/null +++ b/htroot/Messages_p.rss @@ -0,0 +1,24 @@ + + + + <![CDATA[YaCy '#[peerName]#': Messages]]> + http://#[peerAddress]#/Messages_p.html + + http://#[peerAddress]#/env/grafics/yacy.png + YaCy + http://#[peerAddress]#/ + +#(mode)# +#{messages}# + + + <![CDATA[#[subject]#]]> + http://#[peerAddress]#/Messages_p.html?action=view&object=#[key]# + #[date]# + #[key]# + + +#{/messages}# +::#(/mode)# + + \ No newline at end of file