From 02e06427acae84ea2cbb0df1c991aa013dcb594b Mon Sep 17 00:00:00 2001 From: Rob Swindell <rob@synchro.net> Date: Sun, 6 Sep 2020 13:16:30 -0700 Subject: [PATCH] Cosmetic fixes/improvements. --- src/sbbs3/scfg/scfgnet.c | 48 +++++++++++++++------- src/sbbs3/scfg/scfgsys.c | 87 +++++++++++++++++++++++----------------- 2 files changed, 84 insertions(+), 51 deletions(-) diff --git a/src/sbbs3/scfg/scfgnet.c b/src/sbbs3/scfg/scfgnet.c index baac2a4787..eb7eb4f386 100644 --- a/src/sbbs3/scfg/scfgnet.c +++ b/src/sbbs3/scfg/scfgnet.c @@ -225,7 +225,7 @@ void net_cfg() "`QWK Network Hubs:`\n" "\n" "This is a list of QWK network hubs that your system calls to exchange\n" - "packets with.\n" + "message packets with.\n" "\n" "To add a hub, select the desired location with the arrow keys and hit\n" "~ INS ~.\n" @@ -245,7 +245,7 @@ void net_cfg() "`QWK Network Hub System ID:`\n" "\n" "This is the QWK System ID of this hub. It is used for incoming and\n" - "outgoing network packets and must be accurate.\n" + "outgoing network message packets and must be accurate.\n" ; if(uifc.input(WIN_MID|WIN_SAV,0,0 ,"System ID",str,LEN_QWKID,K_UPPER)<1) @@ -444,6 +444,9 @@ void net_cfg() "This is a filename that will be used as a semaphore (signal) to your\n" "FidoNet front-end that new NetMail has been created and the messages\n" "should be re-scanned.\n" + "\n" + "`Command-line specifiers may be included in the semaphore filename.`\n" + SCFG_CMDLINE_SPEC_HELP ; uifc.input(WIN_MID|WIN_SAV,0,0,"NetMail Semaphore" ,cfg.netmail_sem,sizeof(cfg.netmail_sem)-1,K_EDIT); @@ -455,6 +458,9 @@ void net_cfg() "This is a filename that will be used as a semaphore (signal) to your\n" "FidoNet front-end that new EchoMail has been created and the messages\n" "should be re-scanned.\n" + "\n" + "`Command-line specifiers may be included in the semaphore filename.`\n" + SCFG_CMDLINE_SPEC_HELP ; uifc.input(WIN_MID|WIN_SAV,0,0,"EchoMail Semaphore" ,cfg.echomail_sem,sizeof(cfg.echomail_sem)-1,K_EDIT); @@ -470,7 +476,7 @@ void net_cfg() ,cfg.netmail_dir,sizeof(cfg.netmail_dir)-1,K_EDIT); break; case 5: - i=0; + i = (cfg.netmail_misc & NMAIL_ALLOW) ? 0 : 1; uifc.helpbuf= "`Allow Users to Send NetMail:`\n" "\n" @@ -489,7 +495,7 @@ void net_cfg() } break; case 6: - i=0; + i = (cfg.netmail_misc & NMAIL_FILE) ? 0 : 1; uifc.helpbuf= "`Allow Users to Send NetMail File Attachments:`\n" "\n" @@ -508,7 +514,7 @@ void net_cfg() } break; case 7: - i=1; + i = (cfg.netmail_misc & NMAIL_ALIAS) ? 0 : 1; uifc.helpbuf= "`Use Aliases in NetMail:`\n" "\n" @@ -529,7 +535,7 @@ void net_cfg() } break; case 8: - i=1; + i = (cfg.netmail_misc & NMAIL_CRASH) ? 0 : 1; uifc.helpbuf= "`NetMail Defaults to Crash Status:`\n" "\n" @@ -548,7 +554,7 @@ void net_cfg() } break; case 9: - i=1; + i = (cfg.netmail_misc & NMAIL_DIRECT) ? 0 : 1; uifc.helpbuf= "`NetMail Defaults to Direct Status:`\n" "\n" @@ -567,7 +573,7 @@ void net_cfg() } break; case 10: - i=1; + i = (cfg.netmail_misc & NMAIL_HOLD) ? 0 : 1; uifc.helpbuf= "`NetMail Defaults to Hold Status:`\n" "\n" @@ -586,7 +592,7 @@ void net_cfg() } break; case 11: - i=0; + i = (cfg.netmail_misc & NMAIL_KILL) ? 0 : 1; uifc.helpbuf= "`Kill NetMail After it is Sent:`\n" "\n" @@ -618,7 +624,7 @@ void net_cfg() cfg.netmail_cost=atol(str); break; case 13: - i=0; + i = (cfg.netmail_misc & NMAIL_CHSRCADDR) ? 0 : 1; uifc.helpbuf= "`Choose NetMail Source Address:`\n" "\n" @@ -694,6 +700,9 @@ void net_cfg() "This is a filename that will be used as a semaphore (signal) to any\n" "external Internet e-mail processors that new mail has been received\n" "and the message base should be re-scanned.\n" + "\n" + "`Command-line specifiers may be included in the semaphore filename.`\n" + SCFG_CMDLINE_SPEC_HELP ; uifc.input(WIN_MID|WIN_SAV,0,0,"Inbound Semaphore" ,cfg.smtpmail_sem,sizeof(cfg.smtpmail_sem)-1,K_EDIT); @@ -705,12 +714,15 @@ void net_cfg() "This is a filename that will be used as a semaphore (signal) to any\n" "external Internet gateways (if supported) that new mail has been created\n" "and the message base should be re-scanned.\n" + "\n" + "`Command-line specifiers may be included in the semaphore filename.`\n" + SCFG_CMDLINE_SPEC_HELP ; uifc.input(WIN_MID|WIN_SAV,0,0,"Outbound Semaphore" ,cfg.inetmail_sem,sizeof(cfg.inetmail_sem)-1,K_EDIT); break; case 3: - i=0; + i = (cfg.inetmail_misc & NMAIL_ALLOW) ? 0 : 1; uifc.helpbuf= "`Allow Users to Send Internet E-mail:`\n" "\n" @@ -729,7 +741,7 @@ void net_cfg() } break; case 4: - i=0; + i = (cfg.inetmail_misc & NMAIL_FILE) ? 0 : 1; uifc.helpbuf= "`Allow Users to Send Internet E-mail File Attachments:`\n" "\n" @@ -748,7 +760,7 @@ void net_cfg() } break; case 5: - i=1; + i = (cfg.inetmail_misc & NMAIL_ALIAS) ? 0 : 1; uifc.helpbuf= "`Use Aliases in Internet E-mail:`\n" "\n" @@ -769,7 +781,7 @@ void net_cfg() } break; case 6: - i=0; + i = (cfg.inetmail_misc & NMAIL_KILL) ? 0 : 1; uifc.helpbuf= "`Kill Internet E-mail After it is Sent:`\n" "\n" @@ -879,6 +891,11 @@ void qhub_edit(int num) "found in Kludge Lines and also addresses the 25-character QWK field\n" "length limits. HEADERS.DAT is supported in Synchronet v3.15 and later.\n" "\n" + "Synchronet v3.18 and later supports `UTF-8` encoded messages within QWK\n" + "packets. If the hub is using Synchronet v3.18 or later, set this option\n" + "to `Yes`. This option also changes the QWK new-line sequence to the ASCII\n" + "LF (10) character instead of the traditional QWK newline byte (227).\n" + "\n" "`Extended (QWKE) Packets` are not normally used in QWK Networking.\n" "Setting this to `Yes` enables some QWKE-specific Kludge Lines that are\n" "superfluous when the HEADERS.DAT file is supported and used.\n" @@ -920,6 +937,7 @@ void qhub_edit(int num) "\n" "This is the command line to use to create (compress) REP packets for\n" "this QWK network hub.\n" + SCFG_CMDLINE_SPEC_HELP ; uifc.input(WIN_MID|WIN_SAV,0,0,"" ,cfg.qhub[num]->pack,sizeof(cfg.qhub[num]->pack)-1,K_EDIT); @@ -930,6 +948,7 @@ void qhub_edit(int num) "\n" "This is the command line to use to extract (decompress) QWK packets from\n" "this QWK network hub.\n" + SCFG_CMDLINE_SPEC_HELP ; uifc.input(WIN_MID|WIN_SAV,0,0,"" ,cfg.qhub[num]->unpack,sizeof(cfg.qhub[num]->unpack)-1,K_EDIT); @@ -940,6 +959,7 @@ void qhub_edit(int num) "\n" "This is the command line to use to initiate a call-out to this QWK\n" "network hub.\n" + SCFG_CMDLINE_SPEC_HELP ; uifc.input(WIN_MID|WIN_SAV,0,0,"" ,cfg.qhub[num]->call,sizeof(cfg.qhub[num]->call)-1,K_EDIT); diff --git a/src/sbbs3/scfg/scfgsys.c b/src/sbbs3/scfg/scfgsys.c index c023a35b31..f2e009333c 100644 --- a/src/sbbs3/scfg/scfgsys.c +++ b/src/sbbs3/scfg/scfgsys.c @@ -410,7 +410,7 @@ void sys_cfg(void) uifc.input(WIN_MID,0,0,"System Password",cfg.sys_pass,sizeof(cfg.sys_pass)-1,K_EDIT|K_UPPER); break; case 5: - i=1; + i = (cfg.sys_misc&SM_PWEDIT) ? 0 : 1; uifc.helpbuf= "`Allow Users to Change Their Password:`\n" "\n" @@ -428,26 +428,26 @@ void sys_cfg(void) cfg.sys_misc&=~SM_PWEDIT; uifc.changes=1; } - i=0; + i = cfg.sys_pwdays ? 0 : 1; uifc.helpbuf= - "`Force Periodic Password uifc.changes:`\n" + "`Force Periodic New Password:`\n" "\n" - "If you want your users to be forced to change their passwords\n" - "periodically, select `Yes`.\n" + "If you want your users to be forced to have a new password periodically,\n" + "select `Yes`.\n" ; i=uifc.list(WIN_MID|WIN_SAV,0,0,0,&i,0 - ,"Force Periodic Password Changes",opt); + ,"Force Periodic New Password",uifcYesNoOpts); if(!i) { ultoa(cfg.sys_pwdays,str,10); uifc.helpbuf= - "`Maximum Days Between Password uifc.changes:`\n" + "`Maximum Days Between New Passwords:`\n" "\n" - "Enter the maximum number of days allowed between password uifc.changes.\n" + "Enter the maximum number of days allowed between password changes.\n" "If a user has not voluntarily changed his or her password in this\n" "many days, he or she will be forced to change their password upon\n" "logon.\n" ; - uifc.input(WIN_MID,0,0,"Maximum Days Between Password Changes" + uifc.input(WIN_MID,0,0,"Maximum Days Between New Password" ,str,5,K_NUMBER|K_EDIT); cfg.sys_pwdays=atoi(str); } @@ -476,7 +476,7 @@ void sys_cfg(void) uifc.helpbuf= "`Maximum Days of Inactivity Before Auto-Deletion:`\n" "\n" - "If you want users that haven't logged on in certain period of time to\n" + "If you want users that have not logged-on in a certain period of time to\n" "be automatically deleted, set this value to the maximum number of days\n" "of inactivity before the user is deleted. Setting this value to `0`\n" "disables this feature.\n" @@ -491,9 +491,9 @@ void sys_cfg(void) uifc.helpbuf= "`New User Password:`\n" "\n" - "If you want callers to only be able to logon as `New` if they know a\n" - "certain password, enter that password here. If you want any caller to\n" - "be able to logon as New, leave this option blank.\n" + "If you want callers to only be able to logon as `New` ~ only ~ if they know\n" + "a secret password, enter that password here. If you prefer any caller\n" + "be able to logon as `New`, leave this option blank.\n" ; uifc.input(WIN_MID,0,0,"New User Password",cfg.new_pass,sizeof(cfg.new_pass)-1 ,K_EDIT|K_UPPER); @@ -612,7 +612,8 @@ void sys_cfg(void) uifc.helpbuf= "`Allow Sysop Logins:`\n" "\n" - "If you want to be able to login with sysop access, set this option to `Yes`.\n" + "If you want to be able to login with system operator access, set this\n" + "option to `Yes`.\n" ; i=uifc.list(WIN_MID|WIN_SAV,0,0,0,&i,0 ,"Allow Sysop Logins",uifcYesNoOpts); @@ -952,6 +953,8 @@ void sys_cfg(void) "`New User Exemption Flags:`\n" "\n" "These are the exemptions that are automatically given to new users.\n" + "\n" + "See `http://wiki.synchro.net/access:exemptions` for details.\n" ; uifc.input(WIN_SAV|WIN_MID,0,0,"Exemption Flags",str,26 ,K_EDIT|K_UPPER|K_ALPHA); @@ -963,6 +966,8 @@ void sys_cfg(void) "`New User Restriction Flags:`\n" "\n" "These are the restrictions that are automatically given to new users.\n" + "\n" + "See `http://wiki.synchro.net/access:restrictions` for details.\n" ; uifc.input(WIN_SAV|WIN_MID,0,0,"Restriction Flags",str,26 ,K_EDIT|K_UPPER|K_ALPHA); @@ -1084,8 +1089,8 @@ void sys_cfg(void) "settings on this menu. The user can then change them to his or her\n" "liking.\n" "\n" - "See the Synchronet User Manual for more information on the individual\n" - "options available.\n" + "See the Synchronet User Manual (`http://synchro.net/docs/user.html`)\n" + "for more information on the individual options available.\n" ; j=0; k=0; @@ -1128,7 +1133,7 @@ void sys_cfg(void) ,"Auto Hang-up After Xfer" ,cfg.new_misc&AUTOHANG ? "Yes":"No"); opt[i][0]=0; - j=uifc.list(WIN_BOT|WIN_RHT,2,1,0,&j,&k + j=uifc.list(WIN_BOT|WIN_RHT|WIN_SAV,2,1,0,&j,&k ,"Default Toggle Options",opt); if(j==-1) break; @@ -1240,7 +1245,7 @@ void sys_cfg(void) ,"Color Terminal" ,cfg.uq&UQ_COLORTERM ? "Yes":"No"); opt[i][0]=0; - j=uifc.list(WIN_BOT|WIN_RHT,2,1,0,&j,&k + j=uifc.list(WIN_BOT|WIN_RHT|WIN_SAV,2,1,0,&j,&k ,"New User Questions",opt); if(j==-1) break; @@ -1374,7 +1379,7 @@ void sys_cfg(void) "Think of it as a password to guarantee that new users read the text\n" "displayed to them.\n" ; - uifc.input(WIN_MID,0,0,"New User Magic Word",cfg.new_magic,sizeof(cfg.new_magic)-1 + uifc.input(WIN_MID|WIN_SAV,0,0,"New User Magic Word",cfg.new_magic,sizeof(cfg.new_magic)-1 ,K_EDIT|K_UPPER); break; case 1: @@ -1385,6 +1390,8 @@ void sys_cfg(void) "This directory must be located where `ALL` nodes can access it and\n" "`MUST NOT` be placed on a RAM disk or other volatile media.\n" "\n" + "See `http://wiki.synchro.net/dir:data` for details.\n" + "\n" "This option allows you to change the location of your data directory.\n" ; strcpy(str,cfg.data_dir); @@ -1399,6 +1406,8 @@ void sys_cfg(void) "`Log File Directory:`\n" "\n" "Log files will be stored in this directory.\n" + "\n" + "By default, this is set to the same as your Data File directory.\n" ; strcpy(str,cfg.logs_dir); if(uifc.input(WIN_MID|WIN_SAV,0,9,"Logs Directory" @@ -1411,12 +1420,15 @@ void sys_cfg(void) uifc.helpbuf= "`Executable/Module File Directory:`\n" "\n" - "The Synchronet exec directory contains executable files that your BBS\n" - "executes. This directory does `not` need to be in your DOS search path.\n" + "The Synchronet exec directory contains program and script files that the\n" + "BBS executes. This directory does `not` need to be in your OS search path.\n" + "\n" "If you place programs in this directory for the BBS to execute, you\n" - "should place the `%!` abbreviation for the exec directory at the\n" + "should place the `%!` specifier for the `exec` directory at the\n" "beginning of the configured command-lines.\n" "\n" + "See `http://wiki.synchro.net/dir:exec` for details.\n" + "\n" "This option allows you to change the location of your exec directory.\n" ; strcpy(str,cfg.exec_dir); @@ -1431,12 +1443,17 @@ void sys_cfg(void) "`Modified Modules Directory:`\n" "\n" "This optional directory can be used to specify a location where modified\n" - "module files are stored. These modified modules will take precedence over\n" - "stock modules with the same filename (in the exec directory) and will\n" - "not be overwritten by future updates/upgrades.\n" + "module files are stored. These modified modules will take precedence\n" + "over modules with the same filename (in the `exec` directory) and will\n" + "`not be overwritten` by future updates/upgrades.\n" + "\n" + "Sub-directory searches of this directory also take precedence\n" + "(e.g. `mods/load/*` overrides `exec/load/*`).\n" "\n" - "If this directory is `blank`, then this feature is not used and all modules\n" - "are assumed to be located in the `exec` directory.\n" + "If this directory is `blank`, then this feature is not used and all\n" + "modules are assumed to be located in the `exec` directory.\n" + "\n" + "See `http://wiki.synchro.net/dir:mods` for details.\n" ; strcpy(str,cfg.mods_dir); if(uifc.input(WIN_MID|WIN_SAV,0,9,"Mods Directory" @@ -1483,9 +1500,9 @@ void sys_cfg(void) "\n" "This is the monetary value of a credit (How many credits per dollar).\n" "This value should be a power of 2 (1, 2, 4, 8, 16, 32, 64, 128, etc.)\n" - "since credits are usually converted by 100 kilobyte (102400) blocks.\n" - "To make a dollar worth two megabytes of credits, set this value to\n" - "2,097,152 (a megabyte is 1024*1024 or 1048576).\n" + "since credits are usually converted in 100 kibibyte (102400) blocks.\n" + "To make a dollar worth two mebibytes of credits, set this value to\n" + "2,097,152 (a mebibyte is 1024*1024 or 1048576).\n" ; ultoa(cfg.cdt_per_dollar,str,10); uifc.input(WIN_MID|WIN_SAV,0,0 @@ -1668,15 +1685,15 @@ void sys_cfg(void) "`Scan Msgs` Executed when a user reads or scans a message sub-board\n" "`Scan Subs` Executed when a user scans one or more sub-boards for msgs\n" "`List Msgs` Executed when a user lists msgs from the msg read prompt\n" - "`List Logons` Executed when a user lists logons (i.e. '-y' for yesterday)\n" + "`List Logons` Executed when a user lists logons ('-y' for yesterday)\n" "`List Nodes` Executed when a user lists all nodes\n" "`Who's Online` Executed when a user lists the nodes in-use (e.g. `^U`)\n" "`Private Msg` Executed when a user sends a private node msg (e.g. `^P`)\n" "\n" "`Note:` JavaScript modules take precedence over Baja modules if both exist\n" - "in your `exec` or `mods` directories.\n" + " in your `exec` or `mods` directories.\n" ; - switch(uifc.list(WIN_ACT|WIN_T2B|WIN_RHT,0,0,32,&k,0 + switch(uifc.list(WIN_ACT|WIN_T2B|WIN_RHT,0,0,40,&k,0 ,"Loadable Modules",opt)) { case -1: @@ -2060,10 +2077,6 @@ void sys_cfg(void) "user's expiration date may be extended and additional credits may also\n" "be added using quick-validation sets.\n" "\n" - "Holding down ~ ALT ~ and one of the number keys (`1-9`) while a user\n" - "is online, automatically sets his or user security values to the\n" - "quick-validation set for that number key.\n" - "\n" "From within the `User Edit` function, a sysop can use the `V`alidate\n" "User command and select from this quick-validation list to change a\n" "user's security values with very few key-strokes.\n" -- GitLab