Skip to content
Snippets Groups Projects
Commit ec8712f1 authored by Eric Oulashin's avatar Eric Oulashin Committed by Rob Swindell
Browse files

DD Msg Reader: Permission check optimizations

parent 41540513
No related branches found
No related tags found
2 merge requests!463MRC mods by Codefenix (2024-10-20),!346DD Msg Reader: Permission check optimizations
......@@ -172,11 +172,6 @@
 
"use strict";
 
// TODO: To make the new-to-you scan faster, Digital Man said checking messagebase.last_msg against the user's new
// scan pointer for that sub is the optimization to do
// TODO: In the message list, add the ability to search with / similar to my area chooser.
 
/* Command-line arguments (in -arg=val format, or -arg format to enable an
option):
......@@ -8877,7 +8872,11 @@ function DigDistMsgReader_EditExistingMessageOldWay(pMsgbase, pOrigMsgHdr, pMsgI
// their last message).
function DigDistMsgReader_CanDelete()
{
// Deleting messages is allowed if the user is the sysop or reading personal email.
// If not, check the sub-board configuration.
var canDelete = user.is_sysop || this.readingPersonalEmail;
if (!canDelete)
{
var msgbase = new MsgBase(this.subBoardCode);
if (msgbase.open())
{
......@@ -8885,13 +8884,17 @@ function DigDistMsgReader_CanDelete()
canDelete = canDelete || ((msgbase.cfg.settings & SUB_DEL) == SUB_DEL);
msgbase.close();
}
}
return canDelete;
}
// For the DigDistMsgReader Class: Returns whether or not the user can delete
// the last message they posted in the sub-board.
function DigDistMsgReader_CanDeleteLastMsg()
{
// Sysops can delete the last message by default. If not, check the sub-board configuration.
var canDelete = user.is_sysop;
if (!canDelete)
{
var msgbase = new MsgBase(this.subBoardCode);
if (msgbase.open())
{
......@@ -8899,13 +8902,17 @@ function DigDistMsgReader_CanDeleteLastMsg()
canDelete = canDelete || ((msgbase.cfg.settings & SUB_DELLAST) == SUB_DELLAST);
msgbase.close();
}
}
return canDelete;
}
// For the DigDistMsgReader Class: Returns whether or not the user can edit
// messages.
function DigDistMsgReader_CanEdit()
{
// Sysops can edit by default. If not, check the sub-board configuration.
var canEdit = user.is_sysop;
if (!canEdit)
{
var msgbase = new MsgBase(this.subBoardCode);
if (msgbase.open())
{
......@@ -8913,13 +8920,18 @@ function DigDistMsgReader_CanEdit()
canEdit = canEdit || ((msgbase.cfg.settings & SUB_EDIT) == SUB_EDIT);
msgbase.close();
}
}
return canEdit;
}
// For the DigDistMsgReader Class: Returns whether or not message quoting
// is enabled.
function DigDistMsgReader_CanQuote()
{
// Sysops and users reading personal email can quote by default.
// If not, check the sub-board configuration.
var canQuote = this.readingPersonalEmail || user.is_sysop;
if (!canQuote)
{
var msgbase = new MsgBase(this.subBoardCode);
if (msgbase.open())
{
......@@ -8927,6 +8939,7 @@ function DigDistMsgReader_CanQuote()
canQuote = canQuote || ((msgbase.cfg.settings & SUB_QUOTE) == SUB_QUOTE);
msgbase.close();
}
}
return canQuote;
}
 
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment