Skip to content
Snippets Groups Projects
Commit 6dd4129a authored by echicken's avatar echicken
Browse files

File scan/list commands, message group and area selection commands.

parent e532a9e5
No related branches found
No related tags found
No related merge requests found
load("sbbsdefs.js");
// To-do:
// bbs.list_files Filespec?
// bbs.list_file_info FL_EXFIND With filespec
// findFiles Prompt for filespec/search string bbs.list_files(filespec or string, FL_FINDDESC|FL_VIEW)
// bbs.scan_dirs All dirs?
// select file group & directory
// I'm not sure about the handling of bbs.curgrp vs. msg_area.grp_list index here
var selectMessageGroup = function() {
console.putmsg(bbs.text(133));
for(var g = 0; g < msg_area.grp_list.length; g++) {
console.putmsg(
format(
((g == bbs.curgrp) ? " * " : " ") + bbs.text(134),
g + 1,
msg_area.grp_list[g].description
)
);
}
console.mnemonics(
format(
bbs.text(503),
bbs.curgrp + 1
)
);
var g = console.getkeys("Q", msg_area.grp_list.length);
if(g != "Q" && g != "")
bbs.curgrp = parseInt(g) - 1;
}
// Not sure about the handling of bbs.cursb vs sub_list index here
var selectMessageArea = function() {
console.putmsg(format(bbs.text(125), msg_area.sub[bbs.cursub_code].grp_name));
for(var s = 0; s < msg_area.grp_list[bbs.curgrp].sub_list.length; s++) {
var mb = new MsgBase(msg_area.grp_list[bbs.curgrp].sub_list[s].code);
mb.open();
var tm = mb.total_msgs;
mb.close();
console.putmsg(
format(
((s == bbs.cursub) ? " * " : " ") + bbs.text(126),
s + 1,
msg_area.grp_list[bbs.curgrp].sub_list[s].description,
"",
tm
)
);
}
console.mnemonics(
format(
bbs.text(503),
bbs.cursub + 1
)
);
var s = console.getkeys("Q", msg_area.grp_list[bbs.curgrp].sub_list.length);
if(s != "Q" && s != "")
bbs.cursub = parseInt(s) - 1;
}
var selectGroupAndArea = function() {
selectMessageGroup();
selectMessageArea();
}
var scanSubs = function() {
console.putmsg(bbs.text(116));
console.crlf();
var cursub = console.noyes("Current sub only");
var youOnly = (console.noyes("To you only")) ? 0 : SCAN_TOYOU;
if(!cursub)
bbs.scan_msgs(bbs.cursub_code, SCAN_NEW|youOnly);
else
bbs.scan_subs(SCAN_NEW|youOnly);
}
......
......@@ -18,246 +18,321 @@ var Commands = {
'Menus' : {} // Placeholder, don't populate
};
/* Model:
/* Pattern:
Commands[area][command] = {};
Commands[area][command].Description = "This is what this does."
Commands[area][command] = {
'Description' : "This is what this does."
}
if(inBBS()) // Not being loaded from jsexec
Commands[area][command].Action = some.method;
(If Action doesn't rely on the 'bbs' or 'console' objects, the inBBS()
check can be skipped.)
We may want to add other properties (default ARS, etc.) in the future.
We can add other properties (default ARS, text, hotkey, etc.) later.
Add custom functions to menu-command-helpers.js.
*/
// User & user-activity related functions
Commands.User.Config = {};
Commands.User.Config.Description = "Enter the user settings configuration menu";
Commands.User.Config = {
'Description' : "Enter the user settings configuration menu"
};
if(inBBS())
Commands.User.Config.Action = bbs.user_config;
Commands.User.Find = {};
Commands.User.Find.Description = "Find user by username/number";
Commands.User.Find = {
'Description' : "Find user by username/number"
};
if(inBBS())
Commands.User.Find.Action = findUser;
Commands.User.Info = {};
Commands.User.Info.Description = "Display current user information";
Commands.User.Info = {
'Description' : "Display current user information"
};
if(inBBS())
Commands.User.Info.Action = bbs.user_info;
Commands.User.List = {};
Commands.User.List.Description = "List users";
Commands.User.List = {
'Description' : "List users"
}
if(inBBS())
Commands.User.List.Action = bbs.list_users;
Commands.User.ListNodes = {};
Commands.User.ListNodes.Description = "List all node activity";
Commands.User.ListNodes = {
'Description' : "List all node activity"
}
if(inBBS())
Commands.User.ListNodes.Action = bbs.list_nodes;
Commands.User.ListNodesActive = {};
Commands.User.ListNodesActive.Description = "List all active nodes";
Commands.User.ListNodesActive = {
'Description' : "List all active nodes"
}
if(inBBS())
Commands.User.ListNodesActive.Action = bbs.whos_online;
Commands.User.Logons = {};
Commands.User.Logons.Description = "Display the recent-logon list";
Commands.User.Logons = {
'Description' : "Display the recent-logon list"
}
if(inBBS())
Commands.User.Logons.Action = bbs.list_logons;
Commands.User.SelectShell = {};
Commands.User.SelectShell.Description = "Select a command shell";
Commands.User.SelectShell = {
'Description' : "Select a command shell"
}
if(inBBS())
Commands.User.SelectShell.Action = bbs.select_shell;
Commands.User.SelectEditor = {};
Commands.User.SelectEditor.Description = "Select an external message editor";
Commands.User.SelectEditor = {
'Description' : "Select an external message editor"
}
if(inBBS())
Commands.User.SelectEditor.Action = bbs.select_editor;
// System areas & functions that don't fit elsewhere
Commands.System.ExternalPrograms = {};
Commands.System.ExternalPrograms.Description = "External Programs section";
Commands.System.Chat = {
'Description' : "Enter the chat section"
}
if(inBBS())
Commands.System.Chat.Action = function() { bbs.exec("?chat_sec.js"); }
Commands.System.ExternalPrograms = {
'Description' : "External Programs section"
}
if(inBBS())
Commands.System.ExternalPrograms.Action = bbs.xtrn_sec;
Commands.System.Info = {};
Commands.System.Info.Description = "Display system information";
Commands.System.Info = {
'Description' : "Display system information"
}
if(inBBS())
Commands.System.Info.Action = bbs.sys_info;
Commands.System.LogOff = {};
Commands.System.LogOff.Description = "Log off";
Commands.System.LogOff = {
'Description' : "Log off"
}
if(inBBS())
Commands.System.LogOff.Action = bbs.logoff;
Commands.System.LogOffFast = {};
Commands.System.LogOffFast.Description = "Log off, fast";
Commands.System.LogOffFast = {
'Description' : "Log off, fast"
}
if(inBBS())
Commands.System.LogOffFast.Action = bbs.logout;
Commands.System.NodeChat = {};
Commands.System.NodeChat.Description = "Enter multi-node chat";
Commands.System.NodeChat = {
'Description' : "Enter multi-node chat"
}
if(inBBS())
Commands.System.NodeChat.Action = bbs.multinode_chat;
Commands.System.NodeChatPrivate = {};
Commands.System.NodeChatPrivate.Description = "Enter private inter-node chat";
Commands.System.NodeChatPrivate = {
'Description' : "Enter private inter-node chat"
}
if(inBBS())
Commands.System.NodeChatPrivate.Action = bbs.private_chat;
Commands.System.NodeMessage = {};
Commands.System.NodeMessage.Description = "Inter-node private message prompt";
Commands.System.NodeMessage = {
'Description' : "Inter-node private message prompt"
}
if(inBBS())
Commands.System.NodeMessage.Action = bbs.private_message;
Commands.System.NodeStats = {};
Commands.System.NodeStats.Description = "Display node statistics";
Commands.System.NodeStats = {
'Description' : "Display node statistics"
}
if(inBBS())
Commands.System.NodeStats.Action = bbs.node_stats;
Commands.System.PageSysop = {};
Commands.System.PageSysop.Description = "Page the sysop for chat";
Commands.System.PageSysop = {
'Description' : "Page the sysop for chat"
}
if(inBBS())
Commands.System.PageSysop.Action = bbs.page_sysop;
Commands.System.PageGuru = {};
Commands.System.PageGuru.Description = "Page the annoying guru for chat";
Commands.System.PageGuru = {
'Description' : "Page the annoying guru for chat"
}
if(inBBS())
Commands.System.PageGuru.Action = bbs.page_guru;
Commands.System.Stats = {};
Commands.System.Stats.Description = "Display system statistics";
Commands.System.Stats = {
'Description' : "Display system statistics"
}
if(inBBS())
Commands.System.Stats.Action = bbs.sys_stats;
Commands.System.TextSection = {};
Commands.System.TextSection.Description = "Text files section";
Commands.System.TextSection = {
'Description' : "Text files section"
}
if(inBBS())
Commands.System.TextSection.Action = bbs.text_sec;
Commands.System.TimeBank = {};
Commands.System.TimeBank.Description = "Time Bank";
Commands.System.TimeBank = {
'Description' : "Time Bank"
}
if(inBBS())
Commands.System.TimeBank.Action = bbs.time_bank;
Commands.System.Version = {};
Commands.System.Version.Description = "Display software version information";
Commands.System.Version = {
'Description' : "Display software version information"
}
if(inBBS())
Commands.System.Version.Action = bbs.ver;
// Message area related functions
Commands.Messages.BulkMail = {};
Commands.Messages.BulkMail.Description = "Send bulk private mail";
Commands.Messages.BulkMail = {
'Description' : "Send bulk private mail"
}
if(inBBS())
Commands.Messages.BulkMail.Action = bbs.bulk_mail;
Commands.Messages.Find = {};
Commands.Messages.Find.Description = "Search message groups/areas/subs";
Commands.Messages.Find = {
'Description' : "Search message groups/areas/subs"
}
if(inBBS())
Commands.Messages.Find.Action = findMessages;
Commands.Messages.Post = {};
Commands.Messages.Post.Description = "Post a message in the current area";
Commands.Messages.Post = {
'Description' : "Post a message in the current area"
}
if(inBBS())
Commands.Messages.Post.Action = bbs.post_msg;
Commands.Messages.MailRead = {};
Commands.Messages.MailRead.Description = "Read private mail / email";
Commands.Messages.MailRead = {
'Description' : "Read private mail / email"
}
if(inBBS())
Commands.Messages.MailRead.Action = bbs.read_mail;
Commands.Messages.QWKSection = {};
Commands.Messages.QWKSection.Description = "Enter the QWK transfer/configuration section";
Commands.Messages.QWKSection = {
'Description' : "Enter the QWK transfer/configuration section"
}
if(inBBS())
Commands.Messages.QWKSection.Action = bbs.qwk_sec;
Commands.Messages.Read = {};
Commands.Messages.Read.Description = "Read messages in the current area";
Commands.Messages.Read = {
'Description' : "Read messages in the current area"
}
if(inBBS())
Commands.Messages.Read.Action = bbs.scan_msgs;
Commands.Messages.Scan = {};
Commands.Messages.Scan.Description = "Scan for new messages";
Commands.Messages.Scan = {
'Description' : "Scan for new messages"
}
if(inBBS())
Commands.Messages.Scan.Action = scanSubs;
Commands.Messages.ScanConfig = {};
Commands.Messages.ScanConfig.Description = "New message scan configuration";
Commands.Messages.ScanConfig = {
'Description' : "New message scan configuration"
}
if(inBBS())
Commands.Messages.ScanConfig.Action = bbs.cfg_msg_scan;
Commands.Messages.ScanPointers = {};
Commands.Messages.ScanPointers.Description = "Configure message scan pointer values";
Commands.Messages.ScanPointers = {
'Description' : "Configure message scan pointer values"
}
if(inBBS())
Commands.Messages.ScanPointers.Action = bbs.cfg_msg_ptrs;
Commands.Messages.ScanPointersReinit = {};
Commands.Messages.ScanPointersReinit.Description = "Re-initialize new message scan pointer values";
Commands.Messages.ScanPointersReinit = {
'Description' : "Re-initialize new message scan pointer values"
}
if(inBBS())
Commands.Messages.ScanPointersReinit.Action = bbs.reinit_msg_ptrs;
Commands.Messages.SendMail = {};
Commands.Messages.SendMail.Description = "Send local private mail";
Commands.Messages.SelectGroup = {
'Description' : "Select a message group"
}
if(inBBS())
Commands.Messages.SelectGroup.Action = selectMessageGroup;
Commands.Messages.SelectArea = {
'Description' : "Select a message area"
}
if(inBBS())
Commands.Messages.SelectArea.Action = selectMessageArea;
Commands.Messages.SelectGroupAndArea = {
'Description' : "Select a message group and area"
}
if(inBBS())
Commands.Messages.SelectGroupAndArea.Action = selectGroupAndArea;
Commands.Messages.SendMail = {
'Description' : "Send local private mail"
}
if(inBBS())
Commands.Messages.SendMail.Action = sendMail;
Commands.Messages.SendNetMail = {};
Commands.Messages.SendNetMail.Description = "Send netmail/email";
Commands.Messages.SendNetMail = {
'Description' : "Send netmail/email"
}
if(inBBS())
Commands.Messages.SendNetMail.Action = sendNetMail;
Commands.Messages.SubInfo = {};
Commands.Messages.SubInfo.Description = "Display message sub-board information";
Commands.Messages.SubInfo = {
'Description' : "Display message sub-board information"
}
if(inBBS())
Commands.Messages.SubInfo.Action = bbs.sub_info;
// File area related functions
Commands.Files.BatchMenu = {};
Commands.Files.BatchMenu.Description = "Enter the batch file transfer menu";
Commands.Files.BatchMenu = {
'Description' : "Enter the batch file transfer menu"
}
if(inBBS())
Commands.Files.BatchMenu.Action = bbs.batch_menu;
Commands.Files.BatchDownload = {};
Commands.Files.BatchDownload.Description = "Start a batch download";
Commands.Files.BatchDownload = {
'Description' : "Start a batch download"
}
if(inBBS())
Commands.Files.BatchDownload.Action = bbs.batch_download;
Commands.Files.DirInfo = {};
Commands.Files.DirInfo.Description = "Display file directory information";
Commands.Files.DirInfo = {
'Description' : "Display file directory information"
}
if(inBBS())
Commands.Files.DirInfo.Action = bbs.dir_info;
Commands.Files.List = {};
Commands.Files.List.Description = "List all files in the current directory";
Commands.Files.List = {
'Description' : "List all files in the current directory"
}
if(inBBS())
Commands.Files.List.Action = bbs.list_files;
Commands.Files.ListExtended = {};
Commands.Files.ListExtended.Description = "List all files in current directory (extended info.)";
Commands.Files.ListExtended = {
'Description' : "List all files in current directory (extended info)"
}
if(inBBS())
Commands.Files.ListExtended.Action = bbs.list_file_info;
Commands.Files.TempXfer = {};
Commands.Files.TempXfer.Description = "Enter the temporary file transfer menu";
Commands.Files.Scan = {
'Description' : "Scan directories for files"
}
if(inBBS())
Commands.Files.Scan.Action = bbs.scan_dirs;
Commands.Files.TempXfer = {
'Description' : "Enter the temporary file transfer menu"
}
if(inBBS())
Commands.Files.TempXfer.Action = bbs.temp_xfer;
Commands.Files.Upload = {};
Commands.Files.Upload.Description = "Upload a file to the current directory";
Commands.Files.Upload = {
'Description' : "Upload a file to the current directory"
}
if(inBBS())
Commands.Files.Upload.Action = bbs.upload_file;
Commands.Files.XferPolicy = {};
Commands.Files.XferPolicy.Description = "Display the file transfer policy";
Commands.Files.XferPolicy = {
'Description' : "Display the file transfer policy"
}
if(inBBS())
Commands.Files.XferPolicy.Action = bbs.xfer_policy;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment