Added template element THISROOM:FEED:RSS to offer an RSS feed button for a room,...
authorArt Cancro <ajc@citadel.org>
Thu, 9 Sep 2010 16:48:05 +0000 (12:48 -0400)
committerArt Cancro <ajc@citadel.org>
Thu, 9 Sep 2010 16:48:05 +0000 (12:48 -0400)
Added THISROOM:FEED:RSS to the room banner template.

webcit/feed_generator.c
webcit/static/t/roombanner.html

index b1ca932526fb17e3725bdc053cabbd930b2170b8..a739067639b58c82ba30b7de5cc25760faac840c 100644 (file)
@@ -170,13 +170,33 @@ void feed_rss(void) {
        );
 
        wDumpContent(0);
-       end_webcit_session();
 }
 
 
+/*
+ * Offer the RSS feed button for this room
+ */
+void tmplput_rssbutton(StrBuf *Target, WCTemplputParams *TP) 
+{
+       wcsession *WCC = WC;
+       char feed_link[1024];
+       char encoded_link[1024];
+
+       strcpy(feed_link, "/feed_rss?gotofirst=");
+       urlesc(&feed_link[20], sizeof(feed_link) - 20, (char *)ChrPtr(WCC->CurRoom.name) );
+       CtdlEncodeBase64(encoded_link, feed_link, strlen(feed_link), 0);
+
+       StrBufAppendPrintf(Target, "<a href=\"/B64%s\">", encoded_link);
+       StrBufAppendPrintf(Target, "<img border=\"0\" src=\"static/rss_16x.png\">");
+       StrBufAppendPrintf(Target, "</a>");
+}
+
+
+
 void 
 InitModule_RSS
 (void)
 {
        WebcitAddUrlHandler(HKEY("feed_rss"), "", 0, feed_rss, ANONYMOUS|COOKIEUNNEEDED|FORCE_SESSIONCLOSE);
+       RegisterNamespace("THISROOM:FEED:RSS", 0, 0, tmplput_rssbutton, NULL, CTX_NONE);
 }
index 8e083d32771365ca46f0334cca1f3ab02761e0e5..0d211663477c23aba5310f3fa381ad976abb567d 100644 (file)
@@ -5,6 +5,7 @@
 
                <td>
                        <h1 id="rmname"><?ROOM:INFO:PRINT_NAME("X")></h1>
+                       <?THISROOM:FEED:RSS>
                        <?!("COND:ROOM:TYPE_IS", 7, #"VIEW_WIKI")><h2><?BSTR("page")></h2><?!("X", 7)>
                        <??("COND:ROOM:TYPE_IS", 8, #"VIEW_WIKI")><p id="nummsgs"><?THISROOM:MSGS:NEW> <?_("new of")> <?THISROOM:MSGS:TOTAL> <?_("messages")></p>
                                <?!("COND:THISROOM:FLAG:QR", 9, #"QR_DIRECTORY")><?!("COND:THISROOM:FLAG:QR", 10, #"QR_VISDIR")>