]> code.citadel.org Git - citadel.git/blobdiff - citadel/server/modules/wiki/serv_wiki.c
dammit, learn to spell
[citadel.git] / citadel / server / modules / wiki / serv_wiki.c
index 427c8a2c45abb71fcb53ac354fd299872ebe2714..e2cbd355e362035ca42b533f039dbe7be824fa9d 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Server-side module for Wiki rooms.  This handles things like version control. 
  * 
- * Copyright (c) 2009-2022 by the citadel.org team
+ * Copyright (c) 2009-2023 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.
@@ -27,7 +27,7 @@
 #include <string.h>
 #include <limits.h>
 #include <libcitadel.h>
-#include "../../citadel.h"
+#include "../../citadel_defs.h"
 #include "../../server.h"
 #include "../../citserver.h"
 #include "../../support.h"
@@ -119,7 +119,7 @@ int wiki_upload_beforesave(struct CtdlMessage *msg, struct recptypes *recp) {
        }
 
        /* If there's no message text, obviously this is all b0rken and shouldn't happen at all */
-       if (CM_IsEmpty(msg, eMesageText)) return(0);
+       if (CM_IsEmpty(msg, eMessageText)) return(0);
 
        /* Set the message subject identical to the page name */
        CM_CopyField(msg, eMsgSubject, eExclusiveID);
@@ -133,13 +133,13 @@ int wiki_upload_beforesave(struct CtdlMessage *msg, struct recptypes *recp) {
                old_msg = NULL;
        }
 
-       if ((old_msg != NULL) && (CM_IsEmpty(old_msg, eMesageText))) {  /* old version is corrupt? */
+       if ((old_msg != NULL) && (CM_IsEmpty(old_msg, eMessageText))) { /* old version is corrupt? */
                CM_Free(old_msg);
                old_msg = NULL;
        }
        
        /* If no changes were made, don't bother saving it again */
-       if ((old_msg != NULL) && (!strcmp(msg->cm_fields[eMesageText], old_msg->cm_fields[eMesageText]))) {
+       if ((old_msg != NULL) && (!strcmp(msg->cm_fields[eMessageText], old_msg->cm_fields[eMessageText]))) {
                CM_Free(old_msg);
                return(1);
        }
@@ -153,13 +153,13 @@ int wiki_upload_beforesave(struct CtdlMessage *msg, struct recptypes *recp) {
 
        if (old_msg != NULL) {
                fp = fopen(diff_old_filename, "w");
-               rv = fwrite(old_msg->cm_fields[eMesageText], old_msg->cm_lengths[eMesageText], 1, fp);
+               rv = fwrite(old_msg->cm_fields[eMessageText], old_msg->cm_lengths[eMessageText], 1, fp);
                fclose(fp);
                CM_Free(old_msg);
        }
 
        fp = fopen(diff_new_filename, "w");
-       rv = fwrite(msg->cm_fields[eMesageText], msg->cm_lengths[eMesageText], 1, fp);
+       rv = fwrite(msg->cm_fields[eMessageText], msg->cm_lengths[eMessageText], 1, fp);
        fclose(fp);
 
        snprintf(diff_cmd, sizeof diff_cmd,
@@ -221,13 +221,13 @@ int wiki_upload_beforesave(struct CtdlMessage *msg, struct recptypes *recp) {
                history_msg->cm_magic = CTDLMESSAGE_MAGIC;
                history_msg->cm_anon_type = MES_NORMAL;
                history_msg->cm_format_type = FMT_RFC822;
-               CM_SetField(history_msg, eAuthor, HKEY("Citadel"));
+               CM_SetField(history_msg, eAuthor, "Citadel");
                if (!IsEmptyStr(CC->room.QRname)){
-                       CM_SetField(history_msg, eRecipient, CC->room.QRname, strlen(CC->room.QRname));
+                       CM_SetField(history_msg, eRecipient, CC->room.QRname);
                }
-               CM_SetField(history_msg, eExclusiveID, history_page, history_page_len);
-               CM_SetField(history_msg, eMsgSubject, history_page, history_page_len);
-               CM_SetField(history_msg, eSuppressIdx, HKEY("1")); /* suppress full text indexing */
+               CM_SetField(history_msg, eExclusiveID, history_page);
+               CM_SetField(history_msg, eMsgSubject, history_page);
+               CM_SetField(history_msg, eSuppressIdx, "1"); /* suppress full text indexing */
                snprintf(boundary, sizeof boundary, "Citadel--Multipart--%04x--%08lx", getpid(), time(NULL));
                buf = (char*) malloc(1024);
                len = snprintf(buf, 1024,
@@ -238,7 +238,7 @@ int wiki_upload_beforesave(struct CtdlMessage *msg, struct recptypes *recp) {
                               "--%s--\n",
                               boundary, boundary
                );
-               CM_SetAsField(history_msg, eMesageText, &buf, len);
+               CM_SetAsField(history_msg, eMessageText, &buf, len);
        }
 
        /* Update the history message (regardless of whether it's new or existing) */
@@ -253,11 +253,11 @@ int wiki_upload_beforesave(struct CtdlMessage *msg, struct recptypes *recp) {
         */
        *boundary = '\0';
 
-       ptr = history_msg->cm_fields[eMesageText];
+       ptr = history_msg->cm_fields[eMessageText];
        do {
                ptr = memreadline(ptr, buf, sizeof buf);
                if (*ptr != 0) {
-                       striplt(buf);
+                       string_trim(buf);
                        if (!IsEmptyStr(buf) && (!strncasecmp(buf, "Content-type:", 13))) {
                                if (
                                        (bmstrcasestr(buf, "multipart") != NULL)
@@ -288,7 +288,7 @@ int wiki_upload_beforesave(struct CtdlMessage *msg, struct recptypes *recp) {
 
                snprintf(prefixed_boundary, sizeof(prefixed_boundary), "--%s", boundary);
                
-               CM_GetAsField(history_msg, eMesageText, &MsgText, &MsgTextLen);
+               CM_GetAsField(history_msg, eMessageText, &MsgText, &MsgTextLen);
 
                ptr = bmstrcasestr(MsgText, prefixed_boundary);
                if (ptr != NULL) {
@@ -307,7 +307,7 @@ int wiki_upload_beforesave(struct CtdlMessage *msg, struct recptypes *recp) {
                                           CC->user.fullname,
                                           CtdlGetConfigStr("c_nodename"));
 
-                       memolen = CtdlEncodeBase64(encoded_memo, memo, memolen, 0);
+                       memolen = CtdlEncodeBase64(encoded_memo, memo, memolen, BASE64_YES_LINEBREAKS);
 
                        StrBufAppendBufPlain(NewMsgText, HKEY("--"), 0);
                        StrBufAppendBufPlain(NewMsgText, boundary, -1, 0);
@@ -330,11 +330,10 @@ int wiki_upload_beforesave(struct CtdlMessage *msg, struct recptypes *recp) {
 
                        StrBufAppendBufPlain(NewMsgText, ptr, MsgTextLen - (ptr - MsgText), 0);
                        free(MsgText);
-                       CM_SetAsFieldSB(history_msg, eMesageText, &NewMsgText); 
+                       CM_SetAsFieldSB(history_msg, eMessageText, &NewMsgText); 
                }
-               else
-               {
-                       CM_SetAsField(history_msg, eMesageText, &MsgText, MsgTextLen); 
+               else {
+                       CM_SetAsField(history_msg, eMessageText, &MsgText, MsgTextLen); 
                }
 
                CM_SetFieldLONG(history_msg, eTimestamp, Now);
@@ -398,7 +397,7 @@ void wiki_history(char *pagename) {
                msg = NULL;
        }
 
-       if ((msg != NULL) && CM_IsEmpty(msg, eMesageText)) {
+       if ((msg != NULL) && CM_IsEmpty(msg, eMessageText)) {
                CM_Free(msg);
                msg = NULL;
        }
@@ -410,7 +409,7 @@ void wiki_history(char *pagename) {
 
        
        cprintf("%d Revision history for '%s'\n", LISTING_FOLLOWS, pagename);
-       mime_parser(CM_RANGE(msg, eMesageText), *wiki_history_callback, NULL, NULL, NULL, 0);
+       mime_parser(CM_RANGE(msg, eMessageText), *wiki_history_callback, NULL, NULL, NULL, 0);
        cprintf("000\n");
 
        CM_Free(msg);
@@ -446,7 +445,7 @@ void wiki_rev_callback(char *name, char *filename, char *partnum, char *disp,
 
        CtdlDecodeBase64(memo, filename, strlen(filename));
        extract_token(this_rev, memo, 0, '|', sizeof this_rev);
-       striplt(this_rev);
+       string_trim(this_rev);
 
        /* Perform the patch */
        fp = popen("patch -f -s -p0 -r /dev/null >/dev/null 2>/dev/null", "w");
@@ -529,7 +528,7 @@ void wiki_rev(char *pagename, char *rev, char *operation)
                msg = NULL;
        }
 
-       if ((msg != NULL) && CM_IsEmpty(msg, eMesageText)) {
+       if ((msg != NULL) && CM_IsEmpty(msg, eMessageText)) {
                CM_Free(msg);
                msg = NULL;
        }
@@ -544,7 +543,7 @@ void wiki_rev(char *pagename, char *rev, char *operation)
        CtdlMakeTempFileName(temp, sizeof temp);
        fp = fopen(temp, "w");
        if (fp != NULL) {
-               r = fwrite(msg->cm_fields[eMesageText], msg->cm_lengths[eMesageText], 1, fp);
+               r = fwrite(msg->cm_fields[eMessageText], msg->cm_lengths[eMessageText], 1, fp);
                fclose(fp);
        }
        else {
@@ -563,7 +562,7 @@ void wiki_rev(char *pagename, char *rev, char *operation)
                msg = NULL;
        }
 
-       if ((msg != NULL) && CM_IsEmpty(msg, eMesageText)) {
+       if ((msg != NULL) && CM_IsEmpty(msg, eMessageText)) {
                CM_Free(msg);
                msg = NULL;
        }
@@ -580,9 +579,9 @@ void wiki_rev(char *pagename, char *rev, char *operation)
        memset(&hecbd, 0, sizeof(struct HistoryEraserCallBackData));
        hecbd.tempfilename = temp;
        hecbd.stop_when = rev;
-       striplt(hecbd.stop_when);
+       string_trim(hecbd.stop_when);
 
-       mime_parser(CM_RANGE(msg, eMesageText), *wiki_rev_callback, NULL, NULL, (void *)&hecbd, 0);
+       mime_parser(CM_RANGE(msg, eMessageText), *wiki_rev_callback, NULL, NULL, (void *)&hecbd, 0);
        CM_Free(msg);
 
        /* Were we successful? */
@@ -610,14 +609,14 @@ void wiki_rev(char *pagename, char *rev, char *operation)
                        rv = fread(msgbuf, len, 1, fp);
                        syslog(LOG_DEBUG, "did %d blocks of %ld bytes\n", rv, len);
                        msgbuf[len] = '\0';
-                       CM_SetAsField(msg, eMesageText, &msgbuf, len);
+                       CM_SetAsField(msg, eMessageText, &msgbuf, len);
                        fclose(fp);
                }
                if (len <= 0) {
                        msgnum = (-1L);
                }
                else if (!strcasecmp(operation, "fetch")) {
-                       CM_SetField(msg, eAuthor, HKEY("Citadel"));
+                       CM_SetField(msg, eAuthor, "Citadel");
                        CtdlCreateRoom(wwm, 5, "", 0, 1, 1, VIEW_BBS);  /* Not an error if already exists */
                        msgnum = CtdlSubmitMsg(msg, NULL, wwm);         /* Store the revision here */
 
@@ -642,19 +641,19 @@ void wiki_rev(char *pagename, char *rev, char *operation)
                else if (!strcasecmp(operation, "revert")) {
                        CM_SetFieldLONG(msg, eTimestamp, time(NULL));
                        if (!IsEmptyStr(CC->user.fullname)) {
-                               CM_SetField(msg, eAuthor, CC->user.fullname, strlen(CC->user.fullname));
+                               CM_SetField(msg, eAuthor, CC->user.fullname);
                        }
 
                        if (!IsEmptyStr(CC->cs_inet_email)) {
-                               CM_SetField(msg, erFc822Addr, CC->cs_inet_email, strlen(CC->cs_inet_email));
+                               CM_SetField(msg, erFc822Addr, CC->cs_inet_email);
                        }
 
                        if (!IsEmptyStr(CC->room.QRname)) {
-                               CM_SetField(msg, eOriginalRoom, CC->room.QRname, strlen(CC->room.QRname));
+                               CM_SetField(msg, eOriginalRoom, CC->room.QRname);
                        }
 
                        if (!IsEmptyStr(pagename)) {
-                               CM_SetField(msg, eExclusiveID, pagename, strlen(pagename));
+                               CM_SetField(msg, eExclusiveID, pagename);
                        }
                        msgnum = CtdlSubmitMsg(msg, NULL, "");          /* Replace the current revision */
                }