X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=webcit%2Fsitemap.c;h=f4b67805fc23e8f8b557734424b5718d16f23dd4;hb=HEAD;hp=34b92f46e4e912d3777af2d7b2e9709b766b1ede;hpb=c6aec42f213ec284e34648f3d69bcf927dccddb1;p=citadel.git diff --git a/webcit/sitemap.c b/webcit/sitemap.c index 34b92f46e..a0fec9ad7 100644 --- a/webcit/sitemap.c +++ b/webcit/sitemap.c @@ -1,4 +1,3 @@ - /* * XML sitemap generator * @@ -14,7 +13,7 @@ */ #include "webcit.h" -#include "webserver.h" + /* @@ -31,10 +30,9 @@ void sitemap_do_bbs(void) { 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; + if (num_msgs < 1) return; - for (i = 0; i < num_msgs; i += 20) { + for (i=0; isumm); if (Msg != NULL) { wc_printf("%s/readfwd", ChrPtr(site_prefix)); @@ -62,27 +60,25 @@ void sitemap_do_wiki(void) { 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; + if (num_msgs < 1) return; - for (i = 0; i < num_msgs; ++i) { + for (i=0; isumm); 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("%s/wiki", ChrPtr(site_prefix)); - wc_printf("?go="); - urlescputs(ChrPtr(WC->CurRoom.name)); - wc_printf("?page=%s", &buf[5]); - wc_printf("\r\n"); - } + if (buf[0] == '1') while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) { + if ( (!strncasecmp(buf, "exti=", 5)) + && (!bmstrcasestr(buf, "_HISTORY_")) + ) { + wc_printf("%s/wiki", ChrPtr(site_prefix)); + wc_printf("?go="); + urlescputs(ChrPtr(WC->CurRoom.name)); + wc_printf("?page=%s", &buf[5]); + wc_printf("\r\n"); } + } } } } @@ -105,17 +101,16 @@ struct sitemap_room_list *sitemap_load_roomlist(void) { 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; - } + 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); + return(roomlist); } extern void sitemap_do_blog(void); @@ -127,8 +122,12 @@ 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) - ); + hprintf( + "Server: %s / %s\r\n" + "Connection: close\r\n" + , + PACKAGE_STRING, ChrPtr(WC->serv_info->serv_software) + ); begin_burst(); wc_printf("\r\n"); @@ -136,13 +135,14 @@ void sitemap(void) { roomlist = sitemap_load_roomlist(); - while (roomlist != NULL) { + 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) { + switch(roomlist->defview) { case VIEW_BBS: sitemap_do_bbs(); break; @@ -167,7 +167,10 @@ void sitemap(void) { } -void InitModule_SITEMAP(void) { - WebcitAddUrlHandler(HKEY("sitemap"), "", 0, sitemap, ANONYMOUS | COOKIEUNNEEDED); - WebcitAddUrlHandler(HKEY("sitemap.xml"), "", 0, sitemap, ANONYMOUS | COOKIEUNNEEDED); +void +InitModule_SITEMAP +(void) +{ + WebcitAddUrlHandler(HKEY("sitemap"), "", 0, sitemap, ANONYMOUS|COOKIEUNNEEDED); + WebcitAddUrlHandler(HKEY("sitemap.xml"), "", 0, sitemap, ANONYMOUS|COOKIEUNNEEDED); }