diff --git a/art/themes/luciano_blocktronics/theme.hjson b/art/themes/luciano_blocktronics/theme.hjson index d89b4951..91ab2c69 100644 --- a/art/themes/luciano_blocktronics/theme.hjson +++ b/art/themes/luciano_blocktronics/theme.hjson @@ -255,7 +255,7 @@ mainInfoFormat11: "|00|10{callsToday:>5}" mainInfoFormat12: "|00|10{postsToday:>5}" mainInfoFormat13: "|00|10{uploadsToday:>2} |08/ |10{uploadBytesToday!sizeWithoutAbbr} |02{uploadBytesToday!sizeAbbr}" - mainInfoFormat14: "|00|10{downloadsToday:>2} |08/ |10{downloadsBytesToday!sizeWithoutAbbr} |02{downloadsBytesToday!sizeAbbr}" + mainInfoFormat14: "|00|10{downloadsToday:>2} |08/ |10{downloadBytesToday!sizeWithoutAbbr} |02{downloadsBytesToday!sizeAbbr}" mainInfoFormat15: "|00|10{lastLoginUserName:<26} |02{lastLogin}" diff --git a/core/wfc.js b/core/wfc.js index 6e0c6c94..9e63f680 100644 --- a/core/wfc.js +++ b/core/wfc.js @@ -187,7 +187,7 @@ exports.getModule = class WaitingForCallerModule extends MenuModule { uploadsToday : StatLog.getSystemStatNum(SysProps.FileUlTodayCount), uploadBytesToday : StatLog.getSystemStatNum(SysProps.FileUlTodayBytes), downloadsToday : StatLog.getSystemStatNum(SysProps.FileDlTodayCount), - downloadsBytesToday : StatLog.getSystemStatNum(SysProps.FileDlTodayBytes), + downloadBytesToday : StatLog.getSystemStatNum(SysProps.FileDlTodayBytes), newUsersToday : StatLog.getSystemStatNum(SysProps.NewUsersTodayCount), // Current diff --git a/docs/_docs/modding/wfc.md b/docs/_docs/modding/wfc.md index edc747f9..0b2e0b5e 100644 --- a/docs/_docs/modding/wfc.md +++ b/docs/_docs/modding/wfc.md @@ -6,7 +6,7 @@ title: Waiting For Caller (WFC) The `wfc.js` module provides a Waiting For Caller (WFC) type dashboard from a bygone era. Many traditional features are available including newer concepts for modern times. Node spy is left out as it feels like something that should be left in the past. ## Accessing the WFC -By default, the WFC may be accessed via the `!WFC` main menu command when connected over a secure connection via a user with the proper ACS. This can be configured as per any other menu in the system. Note that ENiGMA½ does not expose the WFC as a standalone application as this would be much less flexible. To connect locally, simply use your favorite terminal or for example: `ssh -l yourname localhost 8889`. See **Security** below for more information. +By default, the WFC may be accessed via the `!WFC` main menu command when connected over a secure connection via a user with the proper [ACS](../configuration/acs.md). This can be configured as per any other menu in the system. Note that ENiGMA½ does not expose the WFC as a standalone application as this would be much less flexible. To connect locally, simply use your favorite terminal or for example: `ssh -l yourname localhost 8889`. See **Security** below for more information. ## Security The system allows any user with the proper security to access the WFC / system operator functionality. The security policy is enforced by ACS with the default of `SCAF2ID1GM[wfc]`, meaning the following are true: @@ -21,7 +21,6 @@ The system allows any user with the proper security to access the WFC / system o To change the ACS required, specify a alternative `acs` in the `config` block. For example: ```hjson mainMenuWaitingForCaller: { - // ... config: { // initial +op over secure connection only acs: SCID1GM[sysops] @@ -33,22 +32,50 @@ mainMenuWaitingForCaller: { ## Theming The following MCI codes are available: -* MCI 1 (`VM1`): Node status list with the following format items available: - * `{text}`: Username or `*Pre Auth*`. - * `{action}`: Current action/menu. - * `{timeOn}`: How long the node has been connected. -* MCI 2 (`VM2`): Quick log with the following format keys available: - * `{timestamp}`: Log entry timestamp in `quickLogTimestampFormat` format. - * `{level}`: Log entry level from Bunyan. - * `{levelIndicator}`: `T` for TRACE, `D` for DEBUG, `I` for INFO, `W` for WARN, `E` for ERROR, or `F` for FATAL. - * `{nodeId}`: Node ID. - * `{sessionId}`: Session ID. - * `{message}`: Log message. +* `VM1`: Node status list with the following format items available: + * `text`: Username or `*Pre Auth*`. + * `action`: Current action/menu. + * `timeOn`: How long the node has been connected. +* `VM2`: Quick log with the following format keys available: + * `timestamp`: Log entry timestamp in `quickLogTimestampFormat` format. + * `level`: Log entry level from Bunyan. + * `levelIndicator`: Level indicators can be overridden with the `quickLogLevelIndicators` key (see defaults below) + * `quickLogLevelIndicators`: A **map** defaulting to the following`: + * `trace` : `T` + * `debug`: `D` + * `info`: `I` + * `warn`: `W` + * `error`: `E` + * `fatal`: `F` + * `nodeId`: Node ID. + * `sessionId`: Session ID. + * `quickLogLevelMessagePrefixes`: A **map** of log level names (see above) to message prefixes. Commonly used for changing message color with pipe codes, such as `|04` for red errors. + * `message`: Log message. * MCI 10...99: Custom entries with the following format keys available: - * `{nowDate}`: Current date in the `dateFormat` style, defaulting to `short`. - * `{nowTime}`: Current time in the `timeFormat` style, defaulting to `short`. - * `{now}`: Current date and/or time in `nowDateTimeFormat` format. - * `{processUptimeSeconds}`: Process (the BBS) uptime in seconds. - * `{totalCalls}`: Total calls to the system. - * `{totalPosts}`: Total posts to the system. - * `{totalUsers}`: Total users on the system. \ No newline at end of file + * `nowDate`: Current date in the `dateFormat` style, defaulting to `short`. + * `nowTime`: Current time in the `timeFormat` style, defaulting to `short`. + * `now`: Current date and/or time in `nowDateTimeFormat` format. + * `processUptimeSeconds`: Process (the BBS) uptime in seconds. + * `totalCalls`: Total calls to the system. + * `totalPosts`: Total posts to the system. + * `totalUsers`: Total users on the system. + * `totalFiles`: Total number of files on the system. + * `totalFileBytes`: Total size in bytes of the file base. + * `callsToday`: Number of calls today. + * `postsToday`: Number of posts today. + * `uploadsToday`: Number of uploads today. + * `uploadBytesToday`: Total size in bytes of uploads today. + * `downloadsToday`: Number of downloads today. + * `downloadsBytesToday`: Total size in bytes of uploads today. + * `newUsersToday`: Number of new users today. + * `currentUserName`: Current user name. + * `currentUserRealName`: Current user's real name. + * `lastLoginUserName`: Last login username. + * `lastLoginRealName`: Last login user's real name. + * `lastLoginDate`: Last login date in `dateFormat` format. + * `lastLoginTime`: Last login time in `timeFormat` format. + * `lastLogin`: Last login date/time. + * `totalMemoryBytes`: Total system memory in bytes. + * `freeMemoryBytes`: Free system memory in bytes. + * `systemAvgLoad`: System average load. + * `systemCurrentLoad`: System current load. \ No newline at end of file diff --git a/docs/_docs/modding/whos-online.md b/docs/_docs/modding/whos-online.md index 22fde0ff..963abeef 100644 --- a/docs/_docs/modding/whos-online.md +++ b/docs/_docs/modding/whos-online.md @@ -8,6 +8,7 @@ The built in `whos_online` module provides a basic who's online mod. ### Theming The following `itemFormat` object is provided to MCI 1 (ie: `%VM1`): * `userId`: User ID. +* `authenticated`: boolean if the client has a logged in user or not. * `userName`: Login username. * `node`: Node ID the user is connected to. * `timeOn`: A human friendly amount of time the user has been online. @@ -15,4 +16,8 @@ The following `itemFormat` object is provided to MCI 1 (ie: `%VM1`): * `location`: User's location. * `affiliation` or `affils`: Users affiliations. * `action`: Current action/view in the system taken from the `desc` field of the current MenuModule they are interacting with. For example, "Playing L.O.R.D". +* `isSecure`: Is the client securely connected? +* `serverName`: Name of connected server such as "Telnet" or "SSH". + +:information_source: These properties are available via the `client_connections.js` `getActiveConnectionList()` API.