* add message ID to the notification template; not used for funnambol, but for possib...
authorWilfried Göesgens <willi@citadel.org>
Mon, 11 May 2009 23:01:04 +0000 (23:01 +0000)
committerWilfried Göesgens <willi@citadel.org>
Mon, 11 May 2009 23:01:04 +0000 (23:01 +0000)
citadel/modules/extnotify/extnotify.h
citadel/modules/extnotify/extnotify_main.c
citadel/modules/extnotify/funambol65.c

index 5cecb46e2e701e4a8f4bd6d9e7f666a18d1fc0d3..eab3e343a3e9b57e637b8313312eeba4f514883c 100644 (file)
@@ -15,7 +15,7 @@ extern "C" {
 
 #define FUNAMBOL_WS "/funambol/services/admin"
 
-int notify_funambol_server(char *user);
+int notify_funambol_server(char *user, char *msgid);
 
 void extNotify_getPrefs(long configMsgNum, char *configMsg);
 long extNotify_getConfigMessage(char *username);
index 1da02aac339b4ccc5ce9ab6fabad2e3b81dd681d..51a0f6febf403f3a07685af8ae24c8b698b0b774 100644 (file)
@@ -134,16 +134,17 @@ void process_notify(long msgnum, void *usrdata) {
     int fnblAllowed = strncasecmp(configMsg, FUNAMBOL_CONFIG_TEXT, strlen(FUNAMBOL_CONFIG_TEXT));
     int extPagerAllowed = strncasecmp(configMsg, PAGER_CONFIG_TEXT, strlen(PAGER_CONFIG_TEXT)); 
     if (fnblAllowed == 0) {
-        notify_funambol_server(msg->cm_fields['W']);
+           notify_funambol_server(msg->cm_fields['W'], 
+                                  msg->cm_fields['I']);
     } else if (extPagerAllowed == 0) {
-       char *number = strtok(configMsg, "textmessage\n");
-       int commandSiz = sizeof(config.c_pager_program) + strlen(number) + strlen(msg->cm_fields['W']) + 5;
-       char *command = malloc(commandSiz);
-       snprintf(command, commandSiz, "%s %s -u %s", config.c_pager_program, number, msg->cm_fields['W']);
-       system(command);
-       free(command);
+           char *number = strtok(configMsg, "textmessage\n");
+           int commandSiz = sizeof(config.c_pager_program) + strlen(number) + strlen(msg->cm_fields['W']) + 5;
+           char *command = malloc(commandSiz);
+           snprintf(command, commandSiz, "%s %s -u %s", config.c_pager_program, number, msg->cm_fields['W']);
+           system(command);
+           free(command);
     }
-    nuke:
+nuke:
     CtdlFreeMessage(msg);
     memset(configMsg, 0, sizeof(configMsg));
     long todelete[1];
index cebed9a05d2fda83a06d8c11ad2e893b9163bfea..53a0487bbe45314967ec41aa45e6d4b8092efac1 100644 (file)
@@ -33,7 +33,7 @@
 * of new mail for a user
 * Returns 0 if unsuccessful
 */
-int notify_funambol_server(char *user) {
+int notify_funambol_server(char *user, char *msgid) {
        char port[1024];
        int sock = -1;
        char *buf = NULL;
@@ -105,6 +105,7 @@ int notify_funambol_server(char *user) {
        // Do substitutions
        help_subst(SOAPMessage, "^notifyuser", user);
        help_subst(SOAPMessage, "^syncsource", config.c_funambol_source);
+       help_subst(SOAPMessage, "^msgid", msgid);
        
        /* Build the HTTP request header */