Update unread message support

- also tweaked listmail string
- still cannot send messages yet
This commit is contained in:
zefie
2022-01-11 01:21:30 -05:00
parent 75a5266b9d
commit ee0b2fb09d
2 changed files with 35 additions and 7 deletions

View File

@@ -55,6 +55,19 @@ if (!intro_seen && !request_headers.query.intro_seen) {
} }
var message_list = ssid_sessions[socket.ssid].mailstore.listMessages(mailbox, limit, reverse_sort, (page * limit)) var message_list = ssid_sessions[socket.ssid].mailstore.listMessages(mailbox, limit, reverse_sort, (page * limit))
var total_message_count = ssid_sessions[socket.ssid].mailstore.countMessages(mailbox); var total_message_count = ssid_sessions[socket.ssid].mailstore.countMessages(mailbox);
var total_unread_message_count = ssid_sessions[socket.ssid].mailstore.countUnreadMessages(mailbox);
var message_list_string = null;
if (total_message_count == 0) {
message_list_string = "No new mail messages for ";
} else {
if (total_unread_message_count > 0) {
message_list_string = total_unread_message_count + " new mail message" + ((total_message_count != 1) ? 's' : '') + ", " + total_message_count + " mail message" + ((total_message_count != 1) ? 's' : '') + " for ";
} else {
message_list_string = total_message_count + " mail message" + ((total_message_count != 1) ? 's' : '') + " for ";
}
}
var username = ssid_sessions[socket.ssid].getSessionData("subscriber_username"); var username = ssid_sessions[socket.ssid].getSessionData("subscriber_username");
var notImplementedAlert = new clientShowAlert({ var notImplementedAlert = new clientShowAlert({
'image': minisrv_config.config.service_logo, 'image': minisrv_config.config.service_logo,
@@ -245,7 +258,7 @@ label="View saved e-mail messages">
if (message_list) { if (message_list) {
data += ` data += `
<font sizerange=medium> ${total_message_count} e-mail message${(total_message_count != 1) ? 's' : ''} for <font sizerange=medium> ${message_list_string}
<table cellspacing=0 cellpadding=0 border=0> <table cellspacing=0 cellpadding=0 border=0>
<TR><TD maxlines="1"> <TR><TD maxlines="1">
${username}@${minisrv_config.config.service_name} ${username}@${minisrv_config.config.service_name}
@@ -267,7 +280,13 @@ ${username}@${minisrv_config.config.service_name}
`; `;
Object.keys(message_list).forEach(function (k) { Object.keys(message_list).forEach(function (k) {
var message = message_list[k]; var message = message_list[k];
var message_font_open = "<font color=#7A9FCC>";
var message_font_close = "</font>";
console.log(message); console.log(message);
if (message.unread) {
message_font_open = `<b><font color=#99E6FF>`;
message_font_close = "</font></b>"
}
data += `<spacer type=vertical size=5> data += `<spacer type=vertical size=5>
<table cellspacing=0 cellpadding=0 border=0> <table cellspacing=0 cellpadding=0 border=0>
<tr> <tr>
@@ -276,22 +295,22 @@ ${username}@${minisrv_config.config.service_name}
<tr> <tr>
<td abswidth=20 align=center valign=middle>${(message.known_sender) ? '<img height=10 width=10 src="wtv-mail:/content/images/dot.gif">' : ''} <td abswidth=20 align=center valign=middle>${(message.known_sender) ? '<img height=10 width=10 src="wtv-mail:/content/images/dot.gif">' : ''}
<td abswidth=130 maxlines=1> <td abswidth=130 maxlines=1>
<font color=#7A9FCC> ${message_font_open}
${(message.from_name) ? message.from_name : message.from_addr} ${(message.from_name) ? message.from_name : message.from_addr}
</font> ${message_font_close}
<td abswidth=5> <td abswidth=5>
<td abswidth=225 maxlines=1> <td abswidth=225 maxlines=1>
<font color=#7A9FCC> ${message_font_open}
${(message.subject) ? message.subject : "(No Subject)"} ${(message.subject) ? message.subject : "(No Subject)"}
</font> ${message_font_close}
<td abswidth=5> <td abswidth=5>
<td abswidth=47 maxlines=1> <td abswidth=47 maxlines=1>
<font color=#7A9FCC> ${message_font_open}
`; `;
var message_date = new Date(message.date * 1000); var message_date = new Date(message.date * 1000);
data += (message_date.getMonth() + 1) + "/" + message_date.getDate() + "\n"; data += (message_date.getMonth() + 1) + "/" + message_date.getDate() + "\n";
data += ` data += `
</font> ${message_font_close}
</table> </table>
<tr> <tr>
<td height=5>`; <td height=5>`;

View File

@@ -248,6 +248,15 @@ class WTVMail {
return (messages.length) ? messages.length : 0; return (messages.length) ? messages.length : 0;
} }
countUnreadMessages(mailboxid) {
var messages = this.listMessages(mailboxid, false);
var unread = 0;
Object.keys(messages).forEach(function (k) {
if (k.unread) unread++;
});
return unread;
}
getMailboxIcon() { getMailboxIcon() {
var icon_image = null; var icon_image = null;
switch (this.countMessages(0)) { switch (this.countMessages(0)) {