Skip to content
Snippets Groups Projects
Commit 1f9a87dc authored by echicken's avatar echicken :chicken:
Browse files

Break out spam attribute/subject check into a function for use

in the mail and forum pages.

If modopts -> [web] -> forum_no_spam, then filter spam messages
in the forum.  (Maybe make this more advanced in the future so
users can see these messages if they want to.)
parent 002a885e
No related branches found
No related tags found
1 merge request!463MRC mods by Codefenix (2024-10-20)
...@@ -312,6 +312,10 @@ function getMailHeaders(sent, ascending) { ...@@ -312,6 +312,10 @@ function getMailHeaders(sent, ascending) {
return headers; return headers;
} }
function is_spam(header) {
return (header.attr&MSG_SPAM || (header.subject.search(/^SPAM:/) > -1));
}
function get_mail_headers(filter, ascending) { function get_mail_headers(filter, ascending) {
const ret = { const ret = {
headers: [], headers: [],
...@@ -330,7 +334,7 @@ function get_mail_headers(filter, ascending) { ...@@ -330,7 +334,7 @@ function get_mail_headers(filter, ascending) {
if (filter == 'sent') ret.headers.push(h); if (filter == 'sent') ret.headers.push(h);
} }
if (h.to_ext == user.number) { if (h.to_ext == user.number) {
if ((h.attr&MSG_SPAM) || (h.subject.search(/^SPAM:/) > -1)) { if (is_spam(h)) {
h.attr&MSG_READ ? ret.spam.read++ : (ret.spam.unread++); h.attr&MSG_READ ? ret.spam.read++ : (ret.spam.unread++);
if (filter == 'spam') ret.headers.push(h); if (filter == 'spam') ret.headers.push(h);
} else { } else {
...@@ -998,6 +1002,7 @@ function getMessageThreads(sub, max) { ...@@ -998,6 +1002,7 @@ function getMessageThreads(sub, max) {
for (var m = start; m <= msgBase.last_msg; m++) { for (var m = start; m <= msgBase.last_msg; m++) {
var header = msgBase.get_msg_header(m); var header = msgBase.get_msg_header(m);
if (header === null || header.attr&MSG_DELETE) continue; if (header === null || header.attr&MSG_DELETE) continue;
if (settings.forum_no_spam && is_spam(header)) continue;
headers[header.number] = header; headers[header.number] = header;
c++; c++;
if (c >= count) break; if (c >= count) break;
...@@ -1024,6 +1029,11 @@ function getMessageThreads(sub, max) { ...@@ -1024,6 +1029,11 @@ function getMessageThreads(sub, max) {
return; return;
} }
if (settings.forum_no_spam && is_spam(header)) {
delete headers[h];
return;
}
if (sub === 'mail' && if (sub === 'mail' &&
headers[h].to !== user.alias && headers[h].to !== user.alias &&
headers[h].to !== user.name && headers[h].to !== user.name &&
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment