]> code.citadel.org Git - citadel.git/blobdiff - citadel/serv_notes.c
Continue phase 2 of modules stuff.
[citadel.git] / citadel / serv_notes.c
diff --git a/citadel/serv_notes.c b/citadel/serv_notes.c
deleted file mode 100644 (file)
index 47e968b..0000000
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * $Id$
- *
- * Handles functions related to yellow sticky notes.
- *
- */
-
-#include "sysdep.h"
-#include <stdlib.h>
-#include <unistd.h>
-#include <stdio.h>
-#include <fcntl.h>
-#include <signal.h>
-#include <pwd.h>
-#include <errno.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 <sys/wait.h>
-#include <string.h>
-#include <limits.h>
-#include "citadel.h"
-#include "server.h"
-#include "citserver.h"
-#include "support.h"
-#include "config.h"
-#include "room_ops.h"
-#include "user_ops.h"
-#include "policy.h"
-#include "database.h"
-#include "msgbase.h"
-#include "tools.h"
-
-#include "ctdl_module.h"
-
-
-
-/*
- * If we are in a "notes" view room, and the client has sent an RFC822
- * message containing an X-KOrg-Note-Id: field (Aethera does this, as
- * do some Kolab clients) then set both the Subject and the Exclusive ID
- * of the message to that.  It's going to be a UUID so we want to replace
- * any existing message containing that UUID.
- */
-int serv_notes_beforesave(struct CtdlMessage *msg)
-{
-       char *p;
-       int a, i;
-       char uuid[SIZ];
-
-       /* First determine if this room has the "notes" view set */
-
-       if (CC->room.QRdefaultview != VIEW_NOTES) {
-               return(0);                      /* not notes; do nothing */
-       }
-
-       /* It must be an RFC822 message! */
-       if (msg->cm_format_type != 4) {
-               return(0);      /* You tried to save a non-RFC822 message! */
-       }
-       
-       /* Find the X-KOrg-Note-Id: header */
-       strcpy(uuid, "");
-       p = msg->cm_fields['M'];
-       a = strlen(p);
-       while (--a > 0) {
-               if (!strncasecmp(p, "X-KOrg-Note-Id: ", 16)) {  /* Found it */
-                       safestrncpy(uuid, p + 16, sizeof(uuid));
-                       for (i = 0; i<strlen(uuid); ++i) {
-                               if ( (uuid[i] == '\r') || (uuid[i] == '\n') ) {
-                                       uuid[i] = 0;
-                               }
-                       }
-
-                       lprintf(9, "UUID of note is: %s\n", uuid);
-                       if (strlen(uuid) > 0) {
-
-                               if (msg->cm_fields['E'] != NULL) {
-                                       free(msg->cm_fields['E']);
-                               }
-                               msg->cm_fields['E'] = strdup(uuid);
-
-                               if (msg->cm_fields['U'] != NULL) {
-                                       free(msg->cm_fields['U']);
-                               }
-                               msg->cm_fields['U'] = strdup(uuid);
-                       }
-               }
-               p++;
-       }
-       
-       return(0);
-}
-
-
-CTDL_MODULE_INIT(notes)
-{
-       CtdlRegisterMessageHook(serv_notes_beforesave, EVT_BEFORESAVE);
-
-       /* return our Subversion id for the Log */
-       return "$Id$";
-}