Minor text changes

This commit is contained in:
mrfry 2020-11-22 10:43:37 +01:00
parent 84cd7ffc58
commit 567bb54cb4

View file

@ -20,6 +20,7 @@
------------------------------------------------------------------------- */ ------------------------------------------------------------------------- */
// : Script header {{{
// ==UserScript== // ==UserScript==
// @name Moodle/Elearning/KMOOC test help // @name Moodle/Elearning/KMOOC test help
// @version 2.1.0.0 // @version 2.1.0.0
@ -47,6 +48,7 @@
// @namespace https://qmining.frylabs.net // @namespace https://qmining.frylabs.net
// @updateURL https://qmining.frylabs.net/moodle-test-userscript/stable.user.js?up // @updateURL https://qmining.frylabs.net/moodle-test-userscript/stable.user.js?up
// ==/UserScript== // ==/UserScript==
// : }}}
;(function() { ;(function() {
// : ESLINT bs {{{ // : ESLINT bs {{{
@ -122,13 +124,13 @@
const huTexts = { const huTexts = {
fatalError: fatalError:
'Fatál error. Check console (f12). Kattints az üzenetre az összes kérdés/válaszért manuális kereséshez!', 'Fatál error. Check console (f12). Kattints az üzenetre az összes kérdés/válaszért manuális kereséshez! (új böngésző tab-ban)',
consoleErrorInfo: consoleErrorInfo:
'Itteni hibák 100% a moodle hiba. Kivéve, ha oda van írva hogy script error ;) Ha ilyesmi szerepel itt, akkor olvasd el a segítség szekciót! https://qmining.frylabs.net/manual?scriptcmd', 'Itteni hibák 100% a moodle hiba. Kivéve, ha oda van írva hogy script error ;) Ha ilyesmi szerepel itt, akkor olvasd el a segítség szekciót! https://qmining.frylabs.net/manual?scriptcmd',
freshStartWarning: freshStartWarning:
'<h1>Moodle teszt userscript:<h1><h3>1.5.0 verzió: a script mostantól XMLHTTP kéréseket küld szerver fele! Erre a userscript futtató kiegészítőd is figyelmeztetni fog! Ha ez történik, a script rendes működése érdekében engedélyezd (Always allow domain)! Ha nem akarod, hogy ez történjen, akkor ne engedélyezd, vagy a menüben válaszd ki a "helyi fájl használata" opciót!</h3> <h3>Elküldött adatok: minden teszt után a kérdés-válasz páros. Fogadott adatok: Az összes eddig ismert kérdés. Érdemes help-et elolvasni!!!</h3><h5>Ez az ablak frissités után eltűnik. Ha nem, akkor a visza gombbal próbálkozz.</h5>', '<h1>Moodle teszt userscript:<h1><h3>1.5.0 verzió: a script mostantól XMLHTTP kéréseket küld szerver fele! Erre a userscript futtató kiegészítőd is figyelmeztetni fog! Ha ez történik, a script rendes működése érdekében engedélyezd (Always allow domain)! Ha nem akarod, hogy ez történjen, akkor ne engedélyezd, vagy a menüben válaszd ki a "helyi fájl használata" opciót!</h3> <h3>Elküldött adatok: minden teszt után a kérdés-válasz páros. Fogadott adatok: Az összes eddig ismert kérdés. Érdemes help-et elolvasni!!!</h3><h5>Ez az ablak frissités után eltűnik. Ha nem, akkor a visza gombbal próbálkozz.</h5>',
noResult: noResult:
'Nincs találat :( Kattints az üzenetre az összes kérdés/válaszért manuális kereséshez!', 'Nincs találat :( Kattints az üzenetre az összes kérdés/válaszért manuális kereséshez! (új böngésző tab-ban)',
videoHelp: 'Miután elindítottad: Play/pause: space. Seek: Bal/jobb nyíl.', videoHelp: 'Miután elindítottad: Play/pause: space. Seek: Bal/jobb nyíl.',
menuButtonText: 'Kérdések Menu', menuButtonText: 'Kérdések Menu',
couldntLoadDataPopupMenuText: couldntLoadDataPopupMenuText:
@ -161,7 +163,7 @@
'Hiba történt a kérdések beolvasása közben :/ Kattints az üzenetre a manuális kereséshez (új böngésző tab-ban)', 'Hiba történt a kérdések beolvasása közben :/ Kattints az üzenetre a manuális kereséshez (új böngésző tab-ban)',
loadingAnswer: 'Válaszok betöltése ...', loadingAnswer: 'Válaszok betöltése ...',
reinstallFromCorrectSource: reinstallFromCorrectSource:
'Scriptet nem a weboldalról raktad fel. PLS reinstall <a href="https://qmining.frylabs.net/manual.html#reinstallfromqmining">aaaaaaaaa</a>', // TODO: new text 'Scriptet nem a qmining weboldalról raktad fel. Könnyebb kezelhetőség szempontjából kérlek onnan telepítsd. <a href="https://qmining.frylabs.net/manual.html#reinstallfromqmining">Részletes leírás</a>',
versionUpdated: 'Verzió frissítve ', versionUpdated: 'Verzió frissítve ',
newVersionAvaible: 'Új verzió elérhető: ', newVersionAvaible: 'Új verzió elérhető: ',
scriptName: 'Moodle/Elearning/KMOOC segéd ', scriptName: 'Moodle/Elearning/KMOOC segéd ',
@ -223,6 +225,33 @@
}, []) }, [])
} }
function oldGetImageFormResult(img) {
try {
var imgURL = []
for (var j = 0; j < img.length; j++) {
if (!img[j].src.includes('brokenfile')) {
var filePart = img[j].src.split('/')
filePart = filePart[filePart.length - 1]
// shorten string
var result = ''
var i = 0
while (i < filePart.length && i < 30) {
result += filePart[i]
i++
}
imgURL.push(decodeURI(result))
}
}
if (imgURL.length > 0) {
return imgURL
}
} catch (e) {
log("Couldn't get images from result (old)")
}
}
function getCurrentSubjectName() { function getCurrentSubjectName() {
if (logElementGetting) { if (logElementGetting) {
log('getting current subjects name') log('getting current subjects name')
@ -264,22 +293,25 @@
const promises = [] const promises = []
res.forEach(question => { res.forEach(question => {
promises.push( const questionObj = {
GetXHRQuestionAnswer({
q: question.question, q: question.question,
data: question.data, data: question.data,
subj: getCurrentSubjectName(), subj: getCurrentSubjectName(),
}) }
) promises.push(GetXHRQuestionAnswer(questionObj))
}) })
Promise.all(promises).then(res => { Promise.all(promises).then(result => {
const answers = res.map(result => { const answers = result.reduce((acc, res) => {
return PrepareAnswers(result) const prepared = PrepareAnswers(res)
}) if (prepared) {
acc.push(prepared)
}
return acc
}, [])
removeLoadingMessage() removeLoadingMessage()
ShowAnswers(answers, res[0].question) ShowAnswers(answers)
}) })
}) })
.catch(err => { .catch(err => {
@ -413,6 +445,7 @@
} }
function getDataFromTest(images) { function getDataFromTest(images) {
console.log(images)
if (images.length > 0) { if (images.length > 0) {
return { return {
type: 'image', type: 'image',
@ -1100,19 +1133,12 @@
} }
function HandleUI(url) { function HandleUI(url) {
var newVersion = false // if the script is newer than last start const newVersion = info().script.version !== getVal('lastVerson')
try {
newVersion = info().script.version !== getVal('lastVerson')
} catch (e) {
log('Some weird error trying to set new verison')
}
const showMOTD = shouldShowMotd() const showMOTD = shouldShowMotd()
const showUserSpecificMOTD = !!userSpecificMotd const showUserSpecificMOTD = !!userSpecificMotd
const isNewVersionAvaible =
let isNewVersionAvaible =
lastestVersion !== undefined && info().script.version !== lastestVersion lastestVersion !== undefined && info().script.version !== lastestVersion
let timeout = null let timeout = null
const greetMsg = [] const greetMsg = []
@ -1154,14 +1180,10 @@
// : Answering stuffs {{{ // : Answering stuffs {{{
function PrepareAnswers(result) { function PrepareAnswers(result) {
assert(result)
if (result.length > 0) { if (result.length > 0) {
return result.map(res => { return result.map(res => {
let msg = res.q.Q + '\n' let msg = res.q.Q + '\n'
// TODO: remove this maybe?
// msg += res.q.A.replace(/, /g, '\n')
msg += res.q.A msg += res.q.A
if (res.q.data.type === 'image') { if (res.q.data.type === 'image') {
@ -1179,9 +1201,12 @@
} }
} }
function ShowAnswers(answers, question) { function ShowAnswers(answers) {
assert(answers) assert(answers)
// TODO: show which image belongs to which text
console.log(answers)
if (answers.length > 0) { if (answers.length > 0) {
ShowMessage(answers) ShowMessage(answers)
} else { } else {
@ -1194,9 +1219,9 @@
function() { function() {
OpenErrorPage({ OpenErrorPage({
message: 'No result found', message: 'No result found',
question: Array.isArray(question) question: Array.isArray(answers[0])
? question[0].replace(/"/g, '').replace(/:/g, '') ? answers[0][0].replace(/"/g, '').replace(/:/g, '')
: question, : answers[0],
}) })
} }
) )
@ -1626,8 +1651,8 @@
const SetQuestionText = () => { const SetQuestionText = () => {
const relevantQuestion = GetRelevantQuestion() const relevantQuestion = GetRelevantQuestion()
questionTextElement.innerText = relevantQuestion.m
headerText.innerText = relevantQuestion.header headerText.innerText = relevantQuestion.header
questionTextElement.innerText = relevantQuestion.m
if (currItem === 0 && currRelevantQuestion === 0) { if (currItem === 0 && currRelevantQuestion === 0) {
numberTextBox.innerText = currRelevantQuestion + 1 + '.' numberTextBox.innerText = currRelevantQuestion + 1 + '.'