Skip to content
Snippets Groups Projects
Commit 76b7688c authored by runemaster's avatar runemaster
Browse files

Return link on deleting message(s) now goes back to message

list instead of using http_request.header.referer.  This stops
incorrectly going back to message that has just been deleted on
the message read page.
parent f279d747
No related branches found
No related tags found
No related merge requests found
......@@ -5,57 +5,58 @@ template.title="No action taken";
template.detail="No action taken";
if(msgbase.open!=undefined && msgbase.open()==false) {
error(msgbase.last_error);
error(msgbase.last_error);
}
if(http_request.query.Action=="Delete") {
var hdr;
var deleted=0;
var errors=0;
errorlist=new Array;
var hdr;
var deleted=0;
var errors=0;
errorlist=new Array;
for(num in http_request.query.number) {
var mnum=parseInt(http_request.query.number[num]);
for(num in http_request.query.number) {
var mnum=parseInt(http_request.query.number[num]);
if(sub=='mail' && ((idx=msgbase.get_msg_index(false,mnum))==null || idx.to!=user.number)) {
errors++;
errorlist.push("Cannot delete message "+mnum);
continue;
}
if(sub!='mail' && !msg_area.sub[sub].is_operator) {
if(!msg_area.sub[sub].settings&SUB_DEL) {
errorlist.push("Only operators can delete messages!");
errors++;
continue;
}
if(msg_area.sub[sub].settings&SUB_DELLAST) {
if(msgbase.last_msg!=mnum) {
errorlist.push("You can only delete the last post!");
errors++;
continue;
}
}
if((hdr=msgbase.get_msg_header(false,mnum))==null || hdr.from_ext!=user.number) {
errorlist.push("You can only delete your own messages!");
errors++;
continue;
}
}
if(sub=='mail' && ((idx=msgbase.get_msg_index(false,mnum))==null || idx.to!=user.number)) {
errors++;
errorlist.push("Cannot delete message "+mnum);
continue;
}
if(sub!='mail' && !msg_area.sub[sub].is_operator) {
if(!msg_area.sub[sub].settings&SUB_DEL) {
errorlist.push("Only operators can delete messages!");
errors++;
continue;
}
if(msg_area.sub[sub].settings&SUB_DELLAST) {
if(msgbase.last_msg!=mnum) {
errorlist.push("You can only delete the last post!");
errors++;
continue;
}
}
if((hdr=msgbase.get_msg_header(false,mnum))==null || hdr.from_ext!=user.number) {
errorlist.push("You can only delete your own messages!");
errors++;
continue;
}
}
if(msgbase.remove_msg(false,mnum))
deleted++;
else {
errors++;
errorlist.push(msgbase.last_error);
}
}
template.title=deleted+" Messages Deleted";
template.detail=deleted+" Messages Deleted ("+errors+" errors";
if(errors)
template.detail+=": "+errorlist;
template.detail+=")";
if(msgbase.remove_msg(false,mnum))
deleted++;
else {
errors++;
errorlist.push(msgbase.last_error);
}
}
template.title=deleted+" Messages Deleted";
template.detail=deleted+" Messages Deleted ("+errors+" errors";
if(errors)
template.detail+=": "+errorlist;
template.detail+=")";
}
template.backurl=http_request.header.referer;
template.sub_code=sub;
write_template("header.inc");
load("../web/lib/topnav_html.ssjs");
......
......@@ -6,7 +6,7 @@
<center>
%%detail%%<br>
<a href="@@backurl@@">Back to previous page</a>
<a href="msgs.ssjs?msg_sub=^^sub_code^^">Back to message index.</a>
</center>
<!-- end Main Content -->
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment