diff --git a/package-lock.json b/package-lock.json index f219bec..5f7f924 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1444,9 +1444,9 @@ } }, "node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, "engines": { "node": ">=8" @@ -7656,9 +7656,9 @@ } }, "node_modules/tar": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.0.tgz", - "integrity": "sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA==", + "version": "6.1.11", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", + "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", "dependencies": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", @@ -7758,9 +7758,9 @@ "dev": true }, "node_modules/tmpl": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", - "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", "dev": true }, "node_modules/to-fast-properties": { @@ -9644,9 +9644,9 @@ } }, "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true }, "ansi-styles": { @@ -14473,9 +14473,9 @@ } }, "tar": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.0.tgz", - "integrity": "sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA==", + "version": "6.1.11", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", + "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", "requires": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", @@ -14561,9 +14561,9 @@ "dev": true }, "tmpl": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", - "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", "dev": true }, "to-fast-properties": { diff --git a/scripts/serverStats.js b/scripts/serverStats.js index 671df7c..68cd387 100644 --- a/scripts/serverStats.js +++ b/scripts/serverStats.js @@ -83,19 +83,29 @@ const filterFromDailyStats = [ const fs = require('fs') // eslint-disable-line const dir = process.argv[2] +const startDay = !isNaN(parseInt(process.argv[3])) && parseInt(process.argv[3]) > 0 ? 0 : parseInt(process.argv[3]) if (!dir) { console.log('No params') process.exit() } function getDayIndex(offset) { + let os = offset if (!offset) { - offset = 0 + os = 0 + } + + if (!isNaN(startDay)) { + if (!offset) { + os = startDay + } else { + os = startDay + offset + } } const date = new Date() - if (offset) { - date.setDate(date.getDate() + offset) + if (os) { + date.setDate(date.getDate() + os) } return ( date.getFullYear() + @@ -172,7 +182,11 @@ function countLinesMatching(text, toMatch) { } function getDayName(day) { - switch (day) { + let d = day + if (!isNaN(startDay)) { + d += startDay + } + switch (d) { case 0: case undefined: return 'Today' @@ -181,7 +195,9 @@ function getDayName(day) { case -2: return 'Before yesterday' default: - return `Day ${day.toString()}` + const now = new Date() + now.setDate(now.getDate() + d); + return now.toDateString() } } @@ -252,7 +268,7 @@ function pCols(cols, rowTitles, colorNames, firstRowColor) { slicedName = slicedName + sep } - let ammount = val[i].val ? val[i].val.toString() : '' + let ammount = val[i].val ? val[i].val.toLocaleString() : '' while (ammount.length < 5) { ammount = ammount + ' ' } @@ -432,9 +448,9 @@ try { return [getDayName(-x)] }) data.forEach((dataCount, i) => { - res[i].push(dataCount.userCount.toString()) - res[i].push(dataCount.subjectCount.toString()) - res[i].push(dataCount.questionCount.toString()) + res[i].push(dataCount.userCount.toLocaleString()) + res[i].push(dataCount.subjectCount.toLocaleString()) + res[i].push(dataCount.questionCount.toLocaleString()) }) pCols(res, ['', 'Users', 'Subjects', 'Questions'], false, 'green') @@ -456,8 +472,8 @@ try { } return [ getDayName(day), - countLinesMatching(log, '?install').toString(), - countLinesMatching(log, '?up').toString(), + countLinesMatching(log, '?install').toLocaleString(), + countLinesMatching(log, '?up').toLocaleString(), ] } diff --git a/src/modules/main/views/main.ejs b/src/modules/main/views/main.ejs index 3ab5d0d..5d2af9b 100755 --- a/src/modules/main/views/main.ejs +++ b/src/modules/main/views/main.ejs @@ -1,41 +1,39 @@ +
+ +- ____ __ __ - / __/_____ __ / /__ _/ / ___ - / _// __/ // / / / _ `/ _ \(_-< -/_/ /_/ \_, / /_/\_,_/_.__/___/ - /___/ -- -
/$$$$$$$$ /$$ /$$ /$$ +| $$_____/ | $$ | $$ | $$ +| $$ /$$$$$$ /$$ /$$| $$ /$$$$$$ | $$$$$$$ /$$$$$$$ /$$$$$$$ /$$$$$$ /$$$$$$ +| $$$$$ /$$__ $$| $$ | $$| $$ |____ $$| $$__ $$ /$$_____/ | $$__ $$ /$$__ $$|_ $$_/ +| $$__/| $$ \__/| $$ | $$| $$ /$$$$$$$| $$ \ $$| $$$$$$ | $$ \ $$| $$$$$$$$ | $$ +| $$ | $$ | $$ | $$| $$ /$$__ $$| $$ | $$ \____ $$ | $$ | $$| $$_____/ | $$ /$$ +| $$ | $$ | $$$$$$$| $$| $$$$$$$| $$$$$$$/ /$$$$$$$//$$| $$ | $$| $$$$$$$ | $$$$/ +|__/ |__/ \____ $$|__/ \_______/|_______/ |_______/|__/|__/ |__/ \_______/ \___/ + /$$ | $$ + | $$$$$$/ + \______/+