removed some debugs
[citadel.git] / citadel / modules / wiki / serv_wiki.c
index 9851bf537eb769f7b457c08c91e482ea3f0fd092..ebbb3292554c9141dee3b608dad3aabce2c6f384 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Server-side module for Wiki rooms.  This handles things like version control. 
  * 
- * Copyright (c) 2009-2018 by the citadel.org team
+ * Copyright (c) 2009-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.
 #include <errno.h>
 #include <ctype.h>
 #include <sys/types.h>
-
-#if TIME_WITH_SYS_TIME
-# include <sys/time.h>
-# include <time.h>
-#else
-# if HAVE_SYS_TIME_H
-#  include <sys/time.h>
-# else
-#  include <time.h>
-# endif
-#endif
-
+#include <time.h>
 #include <sys/wait.h>
 #include <string.h>
 #include <limits.h>
@@ -70,8 +59,7 @@ char *wwm = "9999999999.WikiWaybackMachine";
  * Before allowing a wiki page save to execute, we have to perform version control.
  * This involves fetching the old version of the page if it exists.
  */
-int wiki_upload_beforesave(struct CtdlMessage *msg, recptypes *recp) {
-       struct CitContext *CCC = CC;
+int wiki_upload_beforesave(struct CtdlMessage *msg, struct recptypes *recp) {
        long old_msgnum = (-1L);
        struct CtdlMessage *old_msg = NULL;
        long history_msgnum = (-1L);
@@ -93,11 +81,10 @@ int wiki_upload_beforesave(struct CtdlMessage *msg, recptypes *recp) {
        long newmsgid;
        StrBuf *msgidbuf;
 
-       if (!CCC->logged_in) return(0); /* Only do this if logged in. */
+       if (!CC->logged_in) return(0);  /* Only do this if logged in. */
 
        /* Is this a room with a Wiki in it, don't run this hook. */
-       if ((CCC->room.QRdefaultview != VIEW_WIKI) &&
-           (CCC->room.QRdefaultview != VIEW_WIKIMD)) {
+       if (CC->room.QRdefaultview != VIEW_WIKI) {
                return(0);
        }
 
@@ -138,9 +125,9 @@ int wiki_upload_beforesave(struct CtdlMessage *msg, recptypes *recp) {
        CM_CopyField(msg, eMsgSubject, eExclusiveID);
 
        /* See if we can retrieve the previous version. */
-       old_msgnum = CtdlLocateMessageByEuid(msg->cm_fields[eExclusiveID], &CCC->room);
+       old_msgnum = CtdlLocateMessageByEuid(msg->cm_fields[eExclusiveID], &CC->room);
        if (old_msgnum > 0L) {
-               old_msg = CtdlFetchMessage(old_msgnum, 1, 1);
+               old_msg = CtdlFetchMessage(old_msgnum, 1);
        }
        else {
                old_msg = NULL;
@@ -218,10 +205,10 @@ int wiki_upload_beforesave(struct CtdlMessage *msg, recptypes *recp) {
 
        /* Now look for the existing edit history */
 
-       history_msgnum = CtdlLocateMessageByEuid(history_page, &CCC->room);
+       history_msgnum = CtdlLocateMessageByEuid(history_page, &CC->room);
        history_msg = NULL;
        if (history_msgnum > 0L) {
-               history_msg = CtdlFetchMessage(history_msgnum, 1, 1);
+               history_msg = CtdlFetchMessage(history_msgnum, 1);
        }
 
        /* Create a new history message if necessary */
@@ -235,8 +222,8 @@ int wiki_upload_beforesave(struct CtdlMessage *msg, recptypes *recp) {
                history_msg->cm_anon_type = MES_NORMAL;
                history_msg->cm_format_type = FMT_RFC822;
                CM_SetField(history_msg, eAuthor, HKEY("Citadel"));
-               if (!IsEmptyStr(CCC->room.QRname)){
-                       CM_SetField(history_msg, eRecipient, CCC->room.QRname, strlen(CCC->room.QRname));
+               if (!IsEmptyStr(CC->room.QRname)){
+                       CM_SetField(history_msg, eRecipient, CC->room.QRname, strlen(CC->room.QRname));
                }
                CM_SetField(history_msg, eExclusiveID, history_page, history_page_len);
                CM_SetField(history_msg, eMsgSubject, history_page, history_page_len);
@@ -317,7 +304,7 @@ int wiki_upload_beforesave(struct CtdlMessage *msg, recptypes *recp) {
                        memolen = snprintf(memo, sizeof(memo), "%s|%ld|%s|%s", 
                                           uuid,
                                           Now,
-                                          CCC->user.fullname,
+                                          CC->user.fullname,
                                           CtdlGetConfigStr("c_nodename"));
 
                        memolen = CtdlEncodeBase64(encoded_memo, memo, memolen, 0);
@@ -352,7 +339,7 @@ int wiki_upload_beforesave(struct CtdlMessage *msg, recptypes *recp) {
 
                CM_SetFieldLONG(history_msg, eTimestamp, Now);
        
-               CtdlSubmitMsg(history_msg, NULL, "", 0);
+               CtdlSubmitMsg(history_msg, NULL, "");
        }
        else {
                syslog(LOG_ALERT, "Empty boundary string in history message.  No history!\n");
@@ -405,7 +392,7 @@ void wiki_history(char *pagename) {
        snprintf(history_page_name, sizeof history_page_name, "%s_HISTORY_", pagename);
        msgnum = CtdlLocateMessageByEuid(history_page_name, &CC->room);
        if (msgnum > 0L) {
-               msg = CtdlFetchMessage(msgnum, 1, 1);
+               msg = CtdlFetchMessage(msgnum, 1);
        }
        else {
                msg = NULL;
@@ -502,7 +489,6 @@ void wiki_rev_callback(char *name, char *filename, char *partnum, char *disp,
  */
 void wiki_rev(char *pagename, char *rev, char *operation)
 {
-       struct CitContext *CCC = CC;
        int r;
        char history_page_name[270];
        long msgnum;
@@ -535,9 +521,9 @@ void wiki_rev(char *pagename, char *rev, char *operation)
        /* Begin by fetching the current version of the page.  We're going to patch
         * backwards through the diffs until we get the one we want.
         */
-       msgnum = CtdlLocateMessageByEuid(pagename, &CCC->room);
+       msgnum = CtdlLocateMessageByEuid(pagename, &CC->room);
        if (msgnum > 0L) {
-               msg = CtdlFetchMessage(msgnum, 1, 1);
+               msg = CtdlFetchMessage(msgnum, 1);
        }
        else {
                msg = NULL;
@@ -569,9 +555,9 @@ void wiki_rev(char *pagename, char *rev, char *operation)
        /* Get the revision history */
 
        snprintf(history_page_name, sizeof history_page_name, "%s_HISTORY_", pagename);
-       msgnum = CtdlLocateMessageByEuid(history_page_name, &CCC->room);
+       msgnum = CtdlLocateMessageByEuid(history_page_name, &CC->room);
        if (msgnum > 0L) {
-               msg = CtdlFetchMessage(msgnum, 1, 1);
+               msg = CtdlFetchMessage(msgnum, 1);
        }
        else {
                msg = NULL;
@@ -633,7 +619,7 @@ void wiki_rev(char *pagename, char *rev, char *operation)
                else if (!strcasecmp(operation, "fetch")) {
                        CM_SetField(msg, eAuthor, HKEY("Citadel"));
                        CtdlCreateRoom(wwm, 5, "", 0, 1, 1, VIEW_BBS);  /* Not an error if already exists */
-                       msgnum = CtdlSubmitMsg(msg, NULL, wwm, 0);      /* Store the revision here */
+                       msgnum = CtdlSubmitMsg(msg, NULL, wwm);         /* Store the revision here */
 
                        /*
                         * WARNING: VILE SLEAZY HACK
@@ -641,36 +627,36 @@ void wiki_rev(char *pagename, char *rev, char *operation)
                         * but only if the client fetches the message we just generated immediately
                         * without first trying to perform other fetch operations.
                         */
-                       if (CCC->cached_msglist != NULL) {
-                               free(CCC->cached_msglist);
-                               CCC->cached_msglist = NULL;
-                               CCC->cached_num_msgs = 0;
+                       if (CC->cached_msglist != NULL) {
+                               free(CC->cached_msglist);
+                               CC->cached_msglist = NULL;
+                               CC->cached_num_msgs = 0;
                        }
-                       CCC->cached_msglist = malloc(sizeof(long));
-                       if (CCC->cached_msglist != NULL) {
-                               CCC->cached_num_msgs = 1;
-                               CCC->cached_msglist[0] = msgnum;
+                       CC->cached_msglist = malloc(sizeof(long));
+                       if (CC->cached_msglist != NULL) {
+                               CC->cached_num_msgs = 1;
+                               CC->cached_msglist[0] = msgnum;
                        }
 
                }
                else if (!strcasecmp(operation, "revert")) {
                        CM_SetFieldLONG(msg, eTimestamp, time(NULL));
-                       if (!IsEmptyStr(CCC->user.fullname)) {
-                               CM_SetField(msg, eAuthor, CCC->user.fullname, strlen(CCC->user.fullname));
+                       if (!IsEmptyStr(CC->user.fullname)) {
+                               CM_SetField(msg, eAuthor, CC->user.fullname, strlen(CC->user.fullname));
                        }
 
-                       if (!IsEmptyStr(CCC->cs_inet_email)) {
-                               CM_SetField(msg, erFc822Addr, CCC->cs_inet_email, strlen(CCC->cs_inet_email));
+                       if (!IsEmptyStr(CC->cs_inet_email)) {
+                               CM_SetField(msg, erFc822Addr, CC->cs_inet_email, strlen(CC->cs_inet_email));
                        }
 
-                       if (!IsEmptyStr(CCC->room.QRname)) {
-                               CM_SetField(msg, eOriginalRoom, CCC->room.QRname, strlen(CCC->room.QRname));
+                       if (!IsEmptyStr(CC->room.QRname)) {
+                               CM_SetField(msg, eOriginalRoom, CC->room.QRname, strlen(CC->room.QRname));
                        }
 
                        if (!IsEmptyStr(pagename)) {
                                CM_SetField(msg, eExclusiveID, pagename, strlen(pagename));
                        }
-                       msgnum = CtdlSubmitMsg(msg, NULL, "", 0);       /* Replace the current revision */
+                       msgnum = CtdlSubmitMsg(msg, NULL, "");          /* Replace the current revision */
                }
                else {
                        /* Theoretically it is impossible to get here, but throw an error anyway */