From d0b00867490474e927029246ec42ab54f9b75dd9 Mon Sep 17 00:00:00 2001 From: Art Cancro Date: Fri, 9 Dec 2005 19:41:03 +0000 Subject: [PATCH] * Deleting a message from the Trash folder now actually deletes it instead of trying to move it to the Trash. Requires Citadel server 6.63. --- webcit/ChangeLog | 4 ++++ webcit/messages.c | 12 +++++++----- webcit/roomops.c | 8 ++++++++ webcit/static/wclib.js | 26 +++++++++++++++++++------- webcit/webcit.h | 3 ++- 5 files changed, 40 insertions(+), 13 deletions(-) diff --git a/webcit/ChangeLog b/webcit/ChangeLog index 56dcd36cc..7d00b88e2 100644 --- a/webcit/ChangeLog +++ b/webcit/ChangeLog @@ -1,5 +1,9 @@ $Id$ +Fri Dec 9 14:40:21 EST 2005 ajc +* Deleting a message from the Trash folder now actually deletes it instead + of trying to move it to the Trash. Requires Citadel server 6.63. + Fri Dec 9 13:45:31 EST 2005 ajc * Slightly more intelligent language detection. diff --git a/webcit/messages.c b/webcit/messages.c index 6fb26541e..f91bb406a 100644 --- a/webcit/messages.c +++ b/webcit/messages.c @@ -2709,10 +2709,6 @@ DONE: wDumpContent(1); - - - - void delete_msg(void) { long msgid; @@ -2722,7 +2718,13 @@ void delete_msg(void) output_headers(1, 1, 1, 0, 0, 0); - serv_printf("MOVE %ld|_TRASH_|0", msgid); + if (WC->wc_is_trash) { /* Delete from Trash is a real delete */ + serv_printf("DELE %ld", msgid); + } + else { /* Otherwise move it to Trash */ + serv_printf("MOVE %ld|_TRASH_|0", msgid); + } + serv_getln(buf, sizeof buf); wprintf("%s
\n", &buf[4]); diff --git a/webcit/roomops.c b/webcit/roomops.c index 29687f105..81ac71a88 100644 --- a/webcit/roomops.c +++ b/webcit/roomops.c @@ -341,6 +341,13 @@ void embed_room_banner(char *got, int navbar_style) { got = fakegot; } + /* The browser needs some information for its own use */ + wprintf("\n", + WC->wc_is_trash + ); + /* If the user happens to select the "make this my start page" link, * we want it to remember the URL as a "/dotskip" one instead of * a "skip" or "gotonext" or something like that. @@ -587,6 +594,7 @@ int gotoroom(char *gname) WC->wc_floor = extract_int(&buf[4], 10); WC->wc_view = extract_int(&buf[4], 11); WC->wc_default_view = extract_int(&buf[4], 12); + WC->wc_is_trash = extract_int(&buf[4], 13); if (WC->is_aide) WC->is_room_aide = WC->is_aide; diff --git a/webcit/static/wclib.js b/webcit/static/wclib.js index e04cc1395..8eedfcde1 100644 --- a/webcit/static/wclib.js +++ b/webcit/static/wclib.js @@ -7,6 +7,7 @@ var browserType; +var room_is_trash = 0; if (document.layers) {browserType = "nn4"} if (document.all) {browserType = "ie"} @@ -162,13 +163,24 @@ function CtdlDeleteSelectedMessages(evt) { return false; } for (i=0; i 0) { + new Ajax.Request( + 'ajax_servcmd', { + method: 'post', + parameters: 'g_cmd=DELE ' + CtdlMsgsSelected[i], + onComplete: CtdlClearDeletedMsg(CtdlMsgsSelected[i]) + } + ); + } + else { + new Ajax.Request( + 'ajax_servcmd', { + method: 'post', + parameters: 'g_cmd=MOVE ' + CtdlMsgsSelected[i] + '|_TRASH_|0', + onComplete: CtdlClearDeletedMsg(CtdlMsgsSelected[i]) + } + ); + } } CtdlNumMsgsSelected = 0; diff --git a/webcit/webcit.h b/webcit/webcit.h index d61fef65a..d7a3f403a 100644 --- a/webcit/webcit.h +++ b/webcit/webcit.h @@ -123,7 +123,7 @@ #define DEVELOPER_ID 0 #define CLIENT_ID 4 #define CLIENT_VERSION 640 /* This version of WebCit */ -#define MINIMUM_CIT_VERSION 661 /* min required Citadel ver. */ +#define MINIMUM_CIT_VERSION 663 /* min required Citadel ver. */ #define DEFAULT_HOST "localhost" /* Default Citadel server */ #define DEFAULT_PORT "504" #define LB (1) /* Internal escape chars */ @@ -321,6 +321,7 @@ struct wcsession { unsigned room_flags; int wc_view; int wc_default_view; + int wc_is_trash; int wc_floor; char ugname[128]; long uglsn; -- 2.39.2