• exec/load/modopts.js

    From rswindell@1:103/705 to CVS commit on Fri Jan 11 01:26:34 2019
    exec/load modopts.js 1.3 1.4
    Update of /cvsroot/sbbs/exec/load
    In directory cvs:/tmp/cvs-serv17560

    Modified Files:
    modopts.js
    Log Message:
    New modopts.js usage supported:
    You may now request the value of a single modopts.ini key value (optionally specifying a default option value), via:
    optval = load({}, 'modopts.js', 'modname', 'optname');
    or:
    optval = load({}, 'modopts.js', 'modname', 'optname', default_optval);

    This usage will return just a single option value rather than an object containing properties reflecting all the options in the [modname] section.
    The pre-existing usage is still supported (and preferred in most cases).

    --- SBBSecho 3.06-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 to Git commit to sbbs/master on Fri Nov 13 17:07:37 2020
    https://gitlab.synchro.net/sbbs/sbbs/-/commit/58c106283f783df346b12911
    Modified Files:
    exec/load/modopts.js
    Log Message:
    Support blank strings in modopts.iniUse the new "blanks" option with File.iniGetAllObjects().This means that keys specified in the modopts.ini with no valuewill now be represented as blank strings ("") instead of undefined values,in JS modules.
    --- SBBSecho 3.11-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Debian Linux)@1:103/705 to Git commit to main/sbbs/master on Sat Feb 8 23:52:17 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/72e3271b43a6ccf1e6ce9538
    Modified Files:
    exec/load/modopts.js
    Log Message:
    Load section or keys form [module:lang=<user-lang>] if it exists

    This allow language-specific module options
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Debian Linux)@1:103/705 to Git commit to main/sbbs/master on Tue Feb 11 17:43:26 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/f38ca28f6f924afe3202198c
    Modified Files:
    exec/load/modopts.js
    Log Message:
    Support [modname:charset=<charset>] sections

    This is a getting a little kludgey

    I think doing something with ARS would be nicer, but then we get into the
    area of constructing a 'options' object out of keys from multiple sections
    and which sections should supercede which? This'll do for now for Nelgin's
    BBC mode7 terminal project.
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Debian Linux)@1:103/705 to Git commit to main/sbbs/master on Tue Feb 11 23:35:57 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/b64034580b5646cc847404a9
    Modified Files:
    exec/load/modopts.js
    Log Message:
    Convert charset to lower case before using in section name

    (so, [modname:charset=mode7], not [modname:charset=MODE7])
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Debian Linux)@1:103/705 to Git commit to main/sbbs/master on Wed Feb 12 16:27:29 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/b60bb98514ba4190166f0559
    Modified Files:
    exec/load/modopts.js
    Log Message:
    Add support for ctrl/modopts/*.ini

    How these files differ from modopts.ini (and by extension, ctrl/modopts.d/*.ini):

    - The root section is always parsed, part of the returned object
    - [sections] denote ARS that if matched (current user meets requirements)
    then those key/values are added as properties of the returned object
    possibly overriding previously defined properties (options), this allows
    different users (or clients/hosts, terminals) to get different option
    values much more easily
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Debian Linux)@1:103/705 to Git commit to main/sbbs/master on Fri Apr 25 12:04:41 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/2f23d9d85376eff1a966ad6e
    Modified Files:
    exec/load/modopts.js
    Log Message:
    Load ctrl/modopts/module-suffix.ini instead of ctrl/modopts/module:suffix.ini

    Colons are problematic in Windows filenames, so convert colon to dash, if provided in the modname (e.g. qnet-ftp:qwk-id).

    Also noticed the default option value didn't work for ctrl/modopts/*.ini files (when requesting one specific property) - fixed that.
    --- SBBSecho 3.24-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Debian Linux)@1:103/705 to Git commit to main/sbbs/master on Fri Apr 25 12:38:54 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/0e9f377b34afad3fe1a08353
    Modified Files:
    exec/load/modopts.js
    Log Message:
    Support legacy scripts (e.g. webInit.js) thtat just load('modopts.js')

    without passing any parameters (just returns null)

    Throw an exception in get_mod_options() if passed a falsey modname.
    --- SBBSecho 3.24-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Debian Linux)@1:103/705 to Git commit to main/sbbs/master on Fri Apr 25 14:18:25 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/1919c9866739b2ed7559153b
    Modified Files:
    exec/load/modopts.js
    Log Message:
    Throw a different exception if get_mod_options() is passed a non-string modname --- SBBSecho 3.24-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)