From: Art Cancro Date: Mon, 13 Mar 2023 17:30:08 +0000 (-0400) Subject: Learn from the Citadel Server whether a room is the user's trash folder. X-Git-Tag: v976~74 X-Git-Url: https://code.citadel.org/?a=commitdiff_plain;h=26ca93d20c6251e48b7a75c36f59d34a45f06ef9;p=citadel.git Learn from the Citadel Server whether a room is the user's trash folder. --- diff --git a/webcit-ng/server/room_functions.c b/webcit-ng/server/room_functions.c index 4abf0dbea..92ed577e8 100644 --- a/webcit-ng/server/room_functions.c +++ b/webcit-ng/server/room_functions.c @@ -512,6 +512,7 @@ void get_the_room_itself(struct http_transaction *h, struct ctdlsession *c) { JsonObjectAppend(j, NewJsonNumber(HKEY("current_view"), c->room_current_view)); JsonObjectAppend(j, NewJsonNumber(HKEY("default_view"), c->room_default_view)); JsonObjectAppend(j, NewJsonNumber(HKEY("is_room_aide"), c->is_room_aide)); + JsonObjectAppend(j, NewJsonNumber(HKEY("is_trash_folder"), c->is_trash_folder)); JsonObjectAppend(j, NewJsonNumber(HKEY("can_delete_messages"), c->can_delete_messages)); JsonObjectAppend(j, NewJsonNumber(HKEY("new_messages"), c->new_messages)); JsonObjectAppend(j, NewJsonNumber(HKEY("total_messages"), c->total_messages)); @@ -644,7 +645,7 @@ void ctdl_r(struct http_transaction *h, struct ctdlsession *c) { // 10 (int)CC->room.QRfloor The floor number this room resides on c->room_current_view = extract_int(&buf[4], 11); c->room_default_view = extract_int(&buf[4], 12); - // 13 (int)is_trash Boolean flag: 1 if this is the user's Trash folder, 0 otherwise. + c->is_trash_folder = extract_int(&buf[4], 13); // Boolean flag: 1 if this is the user's Trash folder, 0 otherwise. room_flags2 = extract_long(&buf[4], 14); // More flags associated with this room. c->room_mtime = extract_long(&buf[4], 15); // Timestamp of the last write activity in this room diff --git a/webcit-ng/server/webcit.h b/webcit-ng/server/webcit.h index d8009ddca..32939d286 100644 --- a/webcit-ng/server/webcit.h +++ b/webcit-ng/server/webcit.h @@ -83,6 +83,7 @@ struct ctdlsession { char room[128]; // What room we are currently in int room_current_view; int room_default_view; + int is_trash_folder; // Nonzero if this room is the user's Trash folder int is_room_aide; // nonzero if the user has aide rights to THIS room int can_delete_messages; // nonzeri if the user is permitted to delete messages in THIS room long last_seen; diff --git a/webcit-ng/static/js/defs.js b/webcit-ng/static/js/defs.js index 33ed987fa..67d93874c 100644 --- a/webcit-ng/static/js/defs.js +++ b/webcit-ng/static/js/defs.js @@ -19,6 +19,7 @@ var current_user = _("Not logged in."); var serv_info; var last_seen = 0; var is_room_aide = 0; +var is_trash_folder = 0; var room_mtime = 0; var can_delete_messages = 0; var messages_per_page = 20; diff --git a/webcit-ng/static/js/main.js b/webcit-ng/static/js/main.js index 57b6744ac..6b5537d53 100644 --- a/webcit-ng/static/js/main.js +++ b/webcit-ng/static/js/main.js @@ -69,6 +69,9 @@ function update_banner() { detect_logged_in(); if (current_room) { document.getElementById("ctdl_banner_title").innerHTML = current_room; + if (is_trash_folder) { + document.getElementById("ctdl_banner_title").innerHTML += " "; + } if (is_room_aide) { document.getElementById("ctdl_banner_title").innerHTML += " "; } @@ -104,6 +107,7 @@ function gotoroom(roomname) { default_view = data.default_view; last_seen = data.last_seen; is_room_aide = data.is_room_aide; + is_trash_folder = data.is_trash_folder; room_mtime = data.room_mtime; can_delete_messages = data.can_delete_messages; update_banner();