Skip to content
Snippets Groups Projects
DDReadPersonalMail.js 2.29 KiB
// $Id: DDReadPersonalMail.js,v 1.5 2020/05/23 23:35:48 nightfox Exp $

// This script is to be executed for the 'Read mail' loadable module, configured
// in SCFG in System > Loadable Modules.

if (typeof(require) === "function")
	require("sbbsdefs.js", "SCAN_UNREAD");
else
	load("sbbsdefs.js");

console.print("\1n");

// Synchronet will pass 2 command-line arguments:
// 1. The 'which' mailbox value (numeric) - MAIL_YOUR, MAIL_SENT, or MAIL_ALL.
//    MAIL_ANY won't be passed to this script.
// 2. The user number (numeric)
if (argc < 2)
{
	console.print("\1h\1yNot enough arguments were passed to the Read Mail module!  Please inform the");
	console.crlf();
	console.print("sysop.\1n");
	console.crlf();
	console.pause();
	exit(1);
}
//bbs.read_mail(whichMailbox);
//exit(0);


var whichMailbox = Number(argv[0]);
var userNum = Number(argv[1]);
// The 3rd argument is mode bits.  See if we should only display new (unread)
// personal email.
var newMailOnly = false;
if (argv.length >= 3)
{
	var modeVal = +(argv[2]);
	newMailOnly = (((modeVal & SCAN_FIND) == SCAN_FIND) && ((modeVal & LM_UNREAD) == LM_UNREAD));
}


// SYSOPS: Change the msgReaderPath variable if you put Digital Distortion
// Message Reader in a different path
var msgReaderPath = "../xtrn/DDMsgReader";

// The readerStartMode variable, below, controls whether the reader
// is to start in reader mode or message list mode.  Set it to "list"
// for list mode or "read" for reader mode.
var readerStartmode = "list";
//var readerStartmode = "read";


// The start of the command string to use with bbs.exec()
var rdrCmdStrStart = "?" + msgReaderPath + "/DDMsgReader.js ";

// Launch Digital Distortion depending on the value whichMailBox.
// Note: MAIL_ANY won't be passed to this script.
switch (whichMailbox)
{
	case MAIL_YOUR: // Mail sent to you
		var cmdArgs = "-personalEmail -userNum=" + userNum;
		if (newMailOnly)
			cmdArgs += " -onlyNewPersonalEmail";
		cmdArgs += " -startMode=" + readerStartmode;
		bbs.exec(rdrCmdStrStart + cmdArgs);
		break;
	case MAIL_SENT: // Mail you have sent
		bbs.exec(rdrCmdStrStart + "-personalEmailSent -userNum=" + userNum + " -startMode=" + readerStartmode);
		break;
	case MAIL_ALL:
		bbs.exec(rdrCmdStrStart +  "-allPersonalEmail -startMode=" + readerStartmode);
		break;
	default:
		bbs.read_mail(whichMailbox);
		break;
}