Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
Synchronet
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Container registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Main
Synchronet
Commits
6dd4129a
Commit
6dd4129a
authored
10 years ago
by
echicken
Browse files
Options
Downloads
Patches
Plain Diff
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
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
exec/load/menu-command-helpers.js
+63
-8
63 additions, 8 deletions
exec/load/menu-command-helpers.js
exec/load/menu-commands.js
+168
-93
168 additions, 93 deletions
exec/load/menu-commands.js
with
231 additions
and
101 deletions
exec/load/menu-command-helpers.js
+
63
−
8
View file @
6dd4129a
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
);
}
...
...
This diff is collapsed.
Click to expand it.
exec/load/menu-commands.js
+
168
−
93
View file @
6dd4129a
...
...
@@ -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
;
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment