• ctrl/text.dat exec/load/text.js src/sbbs3/ars.c ars_defs.h atcodes.cpp

    From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Wednesday, June 11, 2025 20:36:09
    https://gitlab.synchro.net/main/sbbs/-/commit/48cffb9ce1d534ff7bee3d32
    Modified Files:
    ctrl/text.dat exec/load/text.js src/sbbs3/ars.c ars_defs.h atcodes.cpp chk_ar.cpp js_user.c sbbsdefs.h src/sbbs3/scfg/scfgsys.c src/sbbs3/scfgdefs.h scfglib1.c scfgsave.c text.h text_defaults.c text_id.c userdat.c useredit.cpp userfields.h
    Log Message:
    Support tracking and limiting of user file downloads "per day"

    New SCFG->System->Security Options->Security Level Values...
    "Downloads Per Day" (D/D): defaults to 0/Unlimited for each level. So by default, there's no change in behavior for systems.
    This feature does *not* supercede any other download restriction (e.g. credit requirements, file ratios, per-directory download requirements). You can't use this feature to fully remove a user level's ability to download any files
    (i.e. set to 0 downloads per day); use the 'D' or 'T' user restrictions for that purpose instead. If you disagree with this design, let me know (ASAP).

    New ARS Keyword: "DLT" (Downloads Today), this can be used as a download requirement per file directory or anywhere else ARS keywords are sold (used). e.g. to limit access/feature to only those that have downloaded 0-99 files today, use "DLT NOT 100".

    "Per day" means since the most recent midnight in the BBS's time zone.

    New JavaScript User class properties:
    - user.stats.downloads_today
    - user.limits.downloads_per_day

    New @-code:
    - DTODAY (number of files downloaded by user today)

    New text.dat string:
    - NoMoreDownloads

    This implements feature request #938 by Xbit:
    "ability to govern number of files downloadable per day"

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net