serv_rssclient.c: style update
[citadel.git] / webcit / sitemap.c
diff --git a/webcit/sitemap.c b/webcit/sitemap.c
deleted file mode 100644 (file)
index 50618e6..0000000
+++ /dev/null
@@ -1,176 +0,0 @@
-/*
- * XML sitemap generator
- *
- * Copyright (c) 2010-2021 by the citadel.org team
- *
- * This program is open source software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License, version 3.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- */
-
-#include "webcit.h"
-#include "webserver.h"
-
-
-/*
- * XML sitemap generator -- go through the message list for a BBS room
- */
-void sitemap_do_bbs(void) {
-       int num_msgs = 0;
-       int i;
-       SharedMessageStatus Stat;
-       message_summary *Msg = NULL;
-
-       memset(&Stat, 0, sizeof Stat);
-       Stat.maxload = INT_MAX;
-       Stat.lowest_found = (-1);
-       Stat.highest_found = (-1);
-       num_msgs = load_msg_ptrs("MSGS ALL", NULL, NULL, &Stat, NULL, NULL, NULL, NULL, 0);
-       if (num_msgs < 1) return;
-
-       for (i=0; i<num_msgs; i+=20) {
-               Msg = GetMessagePtrAt(i, WC->summ);
-               if (Msg != NULL) {
-                       wc_printf("<url><loc>%s/readfwd", ChrPtr(site_prefix));
-                       wc_printf("?go=");
-                       urlescputs(ChrPtr(WC->CurRoom.name));
-                       wc_printf("?start_reading_at=%ld", Msg->msgnum);
-                       wc_printf("</loc></url>\r\n");
-               }
-       }
-}
-
-
-/*
- * XML sitemap generator -- go through the message list for a wiki room
- */
-void sitemap_do_wiki(void) {
-       int num_msgs = 0;
-       int i;
-       SharedMessageStatus Stat;
-       message_summary *Msg = NULL;
-       char buf[256];
-
-       memset(&Stat, 0, sizeof Stat);
-       Stat.maxload = INT_MAX;
-       Stat.lowest_found = (-1);
-       Stat.highest_found = (-1);
-       num_msgs = load_msg_ptrs("MSGS ALL", NULL, NULL, &Stat, NULL, NULL, NULL, NULL, 0);
-       if (num_msgs < 1) return;
-
-       for (i=0; i<num_msgs; ++i) {
-               Msg = GetMessagePtrAt(i, WC->summ);
-               if (Msg != NULL) {
-
-                       serv_printf("MSG0 %ld|3", Msg->msgnum);
-                       serv_getln(buf, sizeof buf);
-                       if (buf[0] == '1') while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
-                               if (    (!strncasecmp(buf, "exti=", 5))
-                                       && (!bmstrcasestr(buf, "_HISTORY_"))
-                               ) {
-                                       wc_printf("<url><loc>%s/wiki", ChrPtr(site_prefix));
-                                       wc_printf("?go=");
-                                       urlescputs(ChrPtr(WC->CurRoom.name));
-                                       wc_printf("?page=%s", &buf[5]);
-                                       wc_printf("</loc></url>\r\n");
-                               }
-                       }
-               }
-       }
-}
-
-
-struct sitemap_room_list {
-       struct sitemap_room_list *next;
-       StrBuf *roomname;
-       int defview;
-};
-
-
-/*
- * Load the room list for the sitemap
- */
-struct sitemap_room_list *sitemap_load_roomlist(void) {
-       char buf[SIZ];
-       char roomname_plain[SIZ];
-       struct sitemap_room_list *roomlist = NULL;
-
-       serv_puts("LKRA");
-       serv_getln(buf, sizeof buf);
-       if (buf[0] == '1') while(serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
-               struct sitemap_room_list *ptr = malloc(sizeof(struct sitemap_room_list));
-               extract_token(roomname_plain, buf, 0, '|', sizeof roomname_plain);
-               ptr->roomname = NewStrBufPlain(roomname_plain, -1);
-               ptr->defview = extract_int(buf, 6);
-               ptr->next = roomlist;
-               roomlist = ptr;
-       }
-
-       return(roomlist);
-}
-
-extern void sitemap_do_blog(void);
-
-/*
- * Entry point for RSS feed generator
- */
-void sitemap(void) {
-       struct sitemap_room_list *roomlist = NULL;
-       output_headers(0, 0, 0, 0, 1, 0);
-       hprintf("Content-type: text/xml\r\n");
-       hprintf(
-               "Server: %s / %s\r\n"
-               "Connection: close\r\n"
-       ,
-               PACKAGE_STRING, ChrPtr(WC->serv_info->serv_software)
-       );
-       begin_burst();
-
-       wc_printf("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n");
-       wc_printf("<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">\r\n");
-
-       roomlist = sitemap_load_roomlist();
-
-       while (roomlist != NULL)
-       {
-               struct sitemap_room_list *ptr;
-
-               gotoroom(roomlist->roomname);
-
-               /* Output the messages in this room only if it's a room type we can make sense of */
-               switch(roomlist->defview) {
-               case VIEW_BBS:
-                       sitemap_do_bbs();
-                       break;
-               case VIEW_WIKI:
-                       sitemap_do_wiki();
-                       break;
-               case VIEW_BLOG:
-                       sitemap_do_blog();
-                       break;
-               default:
-                       break;
-               }
-
-               ptr = roomlist;
-               roomlist = roomlist->next;
-               FreeStrBuf(&ptr->roomname);
-               free(ptr);
-       }
-
-       wc_printf("</urlset>\r\n");
-       wDumpContent(0);
-}
-
-
-void 
-InitModule_SITEMAP
-(void)
-{
-       WebcitAddUrlHandler(HKEY("sitemap"), "", 0, sitemap, ANONYMOUS|COOKIEUNNEEDED);
-       WebcitAddUrlHandler(HKEY("sitemap.xml"), "", 0, sitemap, ANONYMOUS|COOKIEUNNEEDED);
-}