diff --git a/publicDirs/public/favicon.ico b/publicDirs/public/favicon.ico index fa7241a..dc09ab1 100755 Binary files a/publicDirs/public/favicon.ico and b/publicDirs/public/favicon.ico differ diff --git a/scripts/serverStats.js b/scripts/serverStats.js deleted file mode 100644 index f1b1e1f..0000000 --- a/scripts/serverStats.js +++ /dev/null @@ -1,209 +0,0 @@ -// ----------------------------------------------------------------- -// CONFIG -// ----------------------------------------------------------------- - -const maxStatLength = 15 -const statNameSpacing = 5 -const coloredWords = { - red: ['lred'], -} - -// ----------------------------------------------------------------- - -const fs = require('fs') - -const dir = process.argv[2] -if (!dir) { - console.log('No params') - process.exit() -} - -function getDayIndex(offset) { - if (!offset) { - offset = 0 - } - - let date = new Date() - if (offset) { - date.setDate(date.getDate() + offset) - } - return ( - date.getFullYear() + - '/' + - ('0' + (date.getMonth() + 1)).slice(-2) + - '/' + - ('0' + date.getDate()).slice(-2) - ) -} - -function C(color) { - if (color !== undefined) { - color = color.toLowerCase() - } - - if (color === 'redbg') { - return '\x1b[41m' - } - if (color === 'bluebg') { - return '\x1b[44m' - } - if (color === 'green') { - return '\x1b[32m' - } - if (color === 'red') { - return '\x1b[31m' - } - if (color === 'yellow') { - return '\x1b[33m' - } - if (color === 'blue') { - return '\x1b[34m' - } - if (color === 'magenta') { - return '\x1b[35m' - } - if (color === 'cyan') { - return '\x1b[36m' - } - return '\x1b[0m' -} - -function readJSON(name) { - return JSON.parse(fs.readFileSync(name, 'utf8')) -} - -function tail(text, number) { - let splitedText = text.split('\n') - return splitedText.slice(Math.max(splitedText.length - number, 1)).join('\n') -} - -function head(text, number) { - return text - .split('\n') - .slice(0, number) - .join('\n') -} - -function readFile(name) { - return fs.readFileSync(name, 'utf8') -} - -function getLetterNTimes(letter, number) { - let res = '' - while (res.length < number) { - res += letter - } - return res -} - -function pCols() { - // console.log(arguments) - let maxLength = 0 - Object.keys(arguments).forEach((key) => { - if (arguments[key].length > maxLength) { - maxLength = arguments[key].length - } - }) - for (let i = 0; i < maxLength; i++) { - let row = [] - Object.keys(arguments) - .reverse() - .forEach((key) => { - const val = arguments[key] - if (!val[i]) { - return - } - - const keyName = val[i].name || '' - - let slicedName = keyName.slice(0, maxStatLength) - let toColor = Object.keys(coloredWords).reduce((acc, key) => { - const colorArray = coloredWords[key] - - const includes = colorArray.some((colorableIdName) => { - return keyName.includes(colorableIdName) - }) - - if (includes) { - return key - } - - return acc - }, '') - - while (slicedName.length < maxStatLength) { - slicedName = ' ' + slicedName - } - - let ammount = val[i].val ? val[i].val.toString() : 0 - while (ammount.length < 4) { - ammount = ammount + ' ' - } - - if (toColor) { - row.push(C(toColor) + slicedName + ': ' + ammount + C()) - } else { - row.push(slicedName + ' ' + ammount) - } - }) - console.log(row.join(getLetterNTimes(' ', statNameSpacing))) - } -} - -// ------------------------------------------------------------------------------ -const dailyStats = readJSON(`${dir}stats/vstats`) -function preProcessDailyStats(obj) { - return Object.keys(obj).map((key) => { - return { name: key, val: obj[key] } - }) -} - -pCols( - preProcessDailyStats(dailyStats[getDayIndex()]), - preProcessDailyStats(dailyStats[getDayIndex(-1)]), - preProcessDailyStats(dailyStats[getDayIndex(-2)]) -) - -// ------------------------------------------------------------------------------ -const userIdTestSolving = readJSON(`${dir}stats/idvstats`) -function preProcessUIdTestSolving(obj) { - if (!obj) { - return [{ val: 0 }] - } - return [{ val: Object.keys(obj).length }] -} - -pCols( - preProcessUIdTestSolving(userIdTestSolving[getDayIndex()]), - preProcessUIdTestSolving(userIdTestSolving[getDayIndex(-1)]), - preProcessUIdTestSolving(userIdTestSolving[getDayIndex(-2)]) -) - -// ------------------------------------------------------------------------------ -const clientIdTestSolving = readJSON(`${dir}stats/uvstats`) - -pCols( - preProcessUIdTestSolving(clientIdTestSolving[getDayIndex()]), - preProcessUIdTestSolving(clientIdTestSolving[getDayIndex(-1)]), - preProcessUIdTestSolving(clientIdTestSolving[getDayIndex(-2)]) -) - -// ------------------------------------------------------------------------------ -const dailyDataCount = readFile(`${dir}stats/dailyDataCount`) - -printLastDataCount([ - JSON.parse(head(tail(dailyDataCount, 1), 1)), - JSON.parse(head(tail(dailyDataCount, 2), 1)), - JSON.parse(head(tail(dailyDataCount, 3), 1)), -]) - -function printLastDataCount(data) { - const res = [[], [], []] - data.forEach((dataCount, i) => { - res[i].push({ val: dataCount.userCount }) - res[i].push({ val: dataCount.subjectCount }) - res[i].push({ val: dataCount.questionCount }) - }) - - pCols(...res) -} diff --git a/scripts/serverStats.sh b/scripts/serverStats.sh deleted file mode 100755 index 8e5893c..0000000 --- a/scripts/serverStats.sh +++ /dev/null @@ -1,195 +0,0 @@ -#!/bin/bash - -if [ "$#" -ne "1" ]; then - echo not enough params! please specify server root directory! - exit 1 -fi - -export TERM=xterm-256color - -# COLORS -NC='' -# GRAY='' -R='' -G='' -# YELLOW='' -B='' -P='' -C='' -sep="${P}----------------------------------------------------------------------------------------------------------------------------<=$NC" - -pcolumns() { - mlength=35 - NUM=0 - l=$(echo $"$1" | wc -l) - sizeof2=$(echo $"$2" | wc -l) - sizeof3=$(echo $"$3" | wc -l) - - if [ "$l" -lt "$sizeof2" ]; then - l=$(echo $"$2" | wc -l) - fi - if [ "$l" -lt "$sizeof3" ]; then - l=$(echo $"$3" | wc -l) - fi - - for i in $(eval echo {0..$l}); do - line=$(echo -ne $"$1" | cut -d$'\n' -f $(($NUM + 1))) - sliced="${line:0:$mlength}" - last="${line: -3}" - size=${#sliced} - diff=$(($mlength - $size)) - - if [ "$sliced" == "null" ]; then - echo -en "\t" - else - echo -en "\t$sliced" - fi - if [ "$diff" -gt "0" ]; then - diff=$((diff + 2)) - for j in $(eval echo {0..$diff}); do - echo -n " " - done - else - echo -en "$last" - fi - - sr=$(echo -ne $"$2" | cut -d$'\n' -f $(($NUM + 1))) - r=$"${sr:0:$mlength}" - last="${r: -3}" - size=${#r} - diff=$(($mlength - $size)) - if [ "$r" == "null" ]; then - echo -ne '' - else - echo -ne "$r" - fi - - if [ "$diff" -gt "0" ]; then - diff=$((diff + 2)) - for j in $(eval echo {0..$diff}); do - echo -n " " - done - else - echo -en "$last" - fi - - tr=$(echo -ne $"$3" | cut -d$'\n' -f $(($NUM + 1))) - r=$"${tr:0:$mlength}" - - if [ "$r" == "null" ]; then - echo '' - else - echo "$r" - fi - - NUM=$((NUM + 1)) - done -} - -function jsonStats() { - dateind=$(date '+%Y-%m-%d') - a=$(cat "$1" | jq ".[\"$dateind\"]" | grep -ve '^{' | grep -ve '}$' | grep -ve '^\s*}' | sort) - ac=$(cat "$1" | jq ".[\"$dateind\"] | length") - a="\t${ac}\n${a}" - - dateind=$(date -d '-1 day' '+%Y-%m-%d') - b=$(cat "$1" | jq ".[\"$dateind\"]" | grep -ve '^{' | grep -ve '}$' | grep -ve '^\s*}' | sort) - bc=$(cat "$1" | jq ".[\"$dateind\"] | length") - b="\t${bc}\n${b}" - - dateind=$(date -d '-2 day' '+%Y-%m-%d') - c=$(cat "$1" | jq ".[\"$dateind\"]" | grep -ve '^{' | grep -ve '}$' | grep -ve '^\s*}' | sort) - cc=$(cat "$1" | jq ".[\"$dateind\"] | length") - c="\t${cc}\n${c}" - - pcolumns $"$c" $"$b" $"$a" | sed -E \ - -e "s,/getVeteranPw,${C}&${NC},g" \ - -e "s,/getveteranpw,${C}&${NC},g" \ - -e "s,/pwRequest,${C}&${NC},g" \ - -e "s,/getpw,${C}&${NC},g" \ - -e "s,/avaiblePWS,${C}&${NC},g" \ - -e "s,/pwRequest,${C}&${NC},g" \ - -e "s,/login,${C}&${NC},g" \ - -e "s,/logout,${C}&${NC},g" \ - -e "s,/manual,${G}&${NC},g" \ - -e "s,/todos,${G}&${NC},g" \ - -e "s,/allQuestions,${G}&${NC},g" \ - -e "s,/subjectBrowser,${G}&${NC},g" \ - -e "s,/repos,${G}&${NC},g" \ - -e "s,/contribute,${G}&${NC},g" \ - -e "s,/reops,${G}&${NC},g" \ - -e "s,/feedback,${G}&${NC},g" \ - -e "s,/addQuestion,${G}&${NC},g" \ - -e "s,/dataCount,${G}&${NC},g" \ - -e "s,/menuClick,${G}&${NC},g" \ - -e "s,/ranklist,${G}&${NC},g" \ - -e "s,/uploaddata,${G}&${NC},g" \ - -e "s,/legacy,${G}&${NC},g" \ - -e "s,/donate,${P}&${NC},g" \ - -e "s,/tiszai,${P}&${NC},g" \ - -e "s,/install,${P}&${NC},g" \ - -e "s,/irc,${P}&${NC},g" \ - -e "s,/postfeedback,${P}&${NC},g" \ - -e "s,/voteTodo,${P}&${NC},g" \ - -e "s,/registerscript,${P}&${NC},g" \ - -e "s,/quickvote,${P}&${NC},g" \ - -e "s,/servergit,${P}&${NC},g" \ - -e "s,/scriptgit,${P}&${NC},g" \ - -e "s,/classesgit,${P}&${NC},g" \ - -e "s,/lred,${R}&${NC},g" \ - -e "s,/thanks,${R}&${NC},g" \ - -e "s,/isAdding,${B}&${NC},g" \ - -e "s,/allqr,${B}&${NC},g" \ - -e "s,/ask,${B}&${NC},g" -} - -function jsonStatsLength() { - dateind=$(date '+%Y-%m-%d') - ac=$(cat "$1" | jq ".[\"$dateind\"] | length") - a="\t${ac}\n" - - dateind=$(date -d '-1 day' '+%Y-%m-%d') - bc=$(cat "$1" | jq ".[\"$dateind\"] | length") - b="\t${bc}\n" - - dateind=$(date -d '-2 day' '+%Y-%m-%d') - cc=$(cat "$1" | jq ".[\"$dateind\"] | length") - c="\t${cc}\n" - - pcolumns $"$c" $"$b" $"$a" -} - -echo -e "${G}Site requests before / yesterday / today:$NC" -jsonStats "${1}/stats/vstats" - -echo -e "$sep" -echo -e "${G}User ID test solving count before / yesterday / today:$NC" -jsonStatsLength "${1}/stats/idvstats" - -echo -e "$sep" -echo -e "${G}User ID requests before / yesterday / today:$NC" -jsonStatsLength "${1}/stats/uvstats" - -echo -e "$sep" -echo -e "${G}User/data count day before / day before / yesterday + new ones yesterday:$NC" -s=$(cat "${1}/stats/dailyDataCount" | tail -n 1 | jq '.subjectCount') -q=$(cat "${1}/stats/dailyDataCount" | tail -n 1 | jq '.questionCount') -u=$(cat "${1}/stats/dailyDataCount" | tail -n 1 | jq '.userCount') - -st=$(cat "${1}/stats/dailyDataCount" | tail -n 2 | head -n 1 | jq '.subjectCount') -qt=$(cat "${1}/stats/dailyDataCount" | tail -n 2 | head -n 1 | jq '.questionCount') -ut=$(cat "${1}/stats/dailyDataCount" | tail -n 2 | head -n 1 | jq '.userCount') - -sy=$(cat "${1}/stats/dailyDataCount" | tail -n 3 | head -n 1 | jq '.subjectCount') -qy=$(cat "${1}/stats/dailyDataCount" | tail -n 3 | head -n 1 | jq '.questionCount') -uy=$(cat "${1}/stats/dailyDataCount" | tail -n 3 | head -n 1 | jq '.userCount') - -sd=$((s - st)) -qd=$((q - qt)) -ud=$((u - ut)) - -echo -e "Users:\t\t${G}${uy}${NC}\t\t\t\t\t${G}${ut}${NC}\t\t\t\t\t${G}${u}${NC}\t+${B}${ud}${NC}" -echo -e "Subjects:\t${G}${sy}${NC}\t\t\t\t\t${G}${st}${NC}\t\t\t\t\t${G}${s}${NC}\t+${B}${sd}${NC}" -echo -e "Questions:\t${G}${qy}${NC}\t\t\t\t\t${G}${qt}${NC}\t\t\t\t\t${G}${q}${NC}\t+${B}${qd}${NC}" - -echo -e "$sep" diff --git a/src/modules.json b/src/modules.json index df25d58..479ca8f 100644 --- a/src/modules.json +++ b/src/modules.json @@ -19,8 +19,7 @@ "nextdir": "nextStatic/qminingPagePublic", "name": "qmining", "urls": [ - "qmining.frylabs.net", - "localhost" + "qmining.frylabs.net" ], "isNextJs": true }, @@ -31,7 +30,8 @@ ], "name": "api", "urls": [ - "api.frylabs.net" + "api.frylabs.net", + "localhost" ] }, "main": { diff --git a/src/sharedViews/404.ejs b/src/sharedViews/404.ejs index 64be699..4126305 100755 --- a/src/sharedViews/404.ejs +++ b/src/sharedViews/404.ejs @@ -18,7 +18,7 @@

404

- +
diff --git a/src/sharedViews/login.ejs b/src/sharedViews/login.ejs index bb413bc..b9aed1b 100644 --- a/src/sharedViews/login.ejs +++ b/src/sharedViews/login.ejs @@ -165,7 +165,7 @@ function ShowFeedback () { const form = document.getElementById('form').style.display = "none"; const feedback = document.getElementById('feedback').style.display = "block"; - document.getElementById('text').innerText = 'Jelszót meglévő felhasználóktól lehet kérni!' + document.getElementById('text').innerText = 'Jelszót meglévő felhasználóktól lehet kérni! (nem itt)' } function HandleResp (resp) { const button = document.getElementById('sendButton') diff --git a/submodules/moodle-test-userscript b/submodules/moodle-test-userscript index dc07c90..73c1cb7 160000 --- a/submodules/moodle-test-userscript +++ b/submodules/moodle-test-userscript @@ -1 +1 @@ -Subproject commit dc07c903d39003a5cc13302a9ee6e6e3e0b6ee17 +Subproject commit 73c1cb76f096b728d156d8d50b06c80b99049cac diff --git a/submodules/qmining-data-editor b/submodules/qmining-data-editor index 83ed7f3..a19c39c 160000 --- a/submodules/qmining-data-editor +++ b/submodules/qmining-data-editor @@ -1 +1 @@ -Subproject commit 83ed7f3b312e0de67505601d13774bdcf2971420 +Subproject commit a19c39c651bfbc57eb0ef2bb3371c58e1ea82cb0 diff --git a/submodules/qmining-page b/submodules/qmining-page index 6b6b9a4..599ef00 160000 --- a/submodules/qmining-page +++ b/submodules/qmining-page @@ -1 +1 @@ -Subproject commit 6b6b9a43d4d9c2e429adaf76c461c0304dad1133 +Subproject commit 599ef00635c15d500dfcc1a9c226212000e74707