Bring in new dkim code
[citadel.git] / webcit / sitemap.c
index c5aad6b37a2e3880a49017156d4bba484d39fd81..a0fec9ad7537c791b15c6bd9d7f5fc87f4782a52 100644 (file)
@@ -1,32 +1,25 @@
 /*
  * XML sitemap generator
  *
- * Copyright (c) 2010-2012 by the citadel.org team
+ * 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) {
-       wcsession *WCC = WC;
        int num_msgs = 0;
        int i;
        SharedMessageStatus Stat;
@@ -36,11 +29,11 @@ void sitemap_do_bbs(void) {
        Stat.maxload = INT_MAX;
        Stat.lowest_found = (-1);
        Stat.highest_found = (-1);
-       num_msgs = load_msg_ptrs("MSGS ALL", NULL, &Stat, NULL);
+       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, WCC->summ);
+               Msg = GetMessagePtrAt(i, WC->summ);
                if (Msg != NULL) {
                        wc_printf("<url><loc>%s/readfwd", ChrPtr(site_prefix));
                        wc_printf("?go=");
@@ -52,44 +45,10 @@ void sitemap_do_bbs(void) {
 }
 
 
-/*
- * XML sitemap generator -- go through the message list for a Blog room
- */
-void sitemap_do_blog(void) {
-       wcsession *WCC = WC;
-       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, &Stat, NULL);
-       if (num_msgs < 1) return;
-
-       for (i=0; i<num_msgs; ++i) {
-               Msg = GetMessagePtrAt(i, WCC->summ);
-               if (Msg != NULL) {
-                       struct bltr bltr = blogview_learn_thread_references(Msg->msgnum);
-                       /* Show only top level posts, not comments */
-                       if ((bltr.id != 0) && (bltr.refs == 0)) {
-                               WC->bptlid = bltr.id;
-                               wc_printf("<url><loc>%s", ChrPtr(site_prefix));
-                               tmplput_blog_permalink(NULL, NULL);
-                               wc_printf("</loc></url>\r\n");
-                       }
-               }
-       }
-}
-
-
 /*
  * XML sitemap generator -- go through the message list for a wiki room
  */
 void sitemap_do_wiki(void) {
-       wcsession *WCC = WC;
        int num_msgs = 0;
        int i;
        SharedMessageStatus Stat;
@@ -100,11 +59,11 @@ void sitemap_do_wiki(void) {
        Stat.maxload = INT_MAX;
        Stat.lowest_found = (-1);
        Stat.highest_found = (-1);
-       num_msgs = load_msg_ptrs("MSGS ALL", NULL, &Stat, NULL);
+       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, WCC->summ);
+               Msg = GetMessagePtrAt(i, WC->summ);
                if (Msg != NULL) {
 
                        serv_printf("MSG0 %ld|3", Msg->msgnum);
@@ -154,6 +113,7 @@ struct sitemap_room_list *sitemap_load_roomlist(void) {
        return(roomlist);
 }
 
+extern void sitemap_do_blog(void);
 
 /*
  * Entry point for RSS feed generator
@@ -177,24 +137,26 @@ void sitemap(void) {
 
        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;
+               case VIEW_BBS:
+                       sitemap_do_bbs();
+                       break;
+               case VIEW_WIKI:
+                       sitemap_do_wiki();
+                       break;
+               case VIEW_BLOG:
+                       sitemap_do_blog();
+                       break;
+               default:
+                       break;
                }
 
-               struct sitemap_room_list *ptr = roomlist;
+               ptr = roomlist;
                roomlist = roomlist->next;
                FreeStrBuf(&ptr->roomname);
                free(ptr);