mirror of
https://gitlab.com/MrFry/moodle-test-userscript
synced 2025-04-01 20:22:48 +02:00
UI refactor, questions with image data getting fix
This commit is contained in:
parent
4e9525c167
commit
2c2fc762ba
1 changed files with 31 additions and 42 deletions
|
@ -80,7 +80,6 @@
|
||||||
fatalError: 'Fatál error. Check console (f12). Kattints az üzenetre az összes kérdés/válaszért manuális kereséshez!',
|
fatalError: 'Fatál error. Check console (f12). Kattints az üzenetre az összes kérdés/válaszért manuális kereséshez!',
|
||||||
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!',
|
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!',
|
||||||
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észitő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>',
|
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észitő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>',
|
||||||
couldntLoadData: 'Nem sikerült betölteni az adatokat, előfordulhat hogy nem elérhető a szerver! Segítségért kattints!',
|
|
||||||
noResult: 'Nincs találat :( Kattints az üzenetre az összes kérdés/válaszért manuális kereséshez! Előfordulhat, hogy a tárgyat nem válsztottad ki a menüben.',
|
noResult: 'Nincs találat :( Kattints az üzenetre az összes kérdés/válaszért manuális kereséshez! Előfordulhat, hogy a tárgyat nem válsztottad ki a menüben.',
|
||||||
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',
|
||||||
|
@ -762,11 +761,10 @@
|
||||||
'use strict'
|
'use strict'
|
||||||
console.time('main')
|
console.time('main')
|
||||||
|
|
||||||
Init(function (count, subjCount) {
|
Init(function () {
|
||||||
var url = location.href // eslint-disable-line
|
var url = location.href // eslint-disable-line
|
||||||
|
|
||||||
let skipLoad = getVal('skipLoad')
|
if (getVal('skipLoad')) {
|
||||||
if (count === -2 && subjCount === -2 && skipLoad) {
|
|
||||||
if (url.includes('/quiz/') && url.includes('attempt.php')) {
|
if (url.includes('/quiz/') && url.includes('attempt.php')) {
|
||||||
ShowMessage({
|
ShowMessage({
|
||||||
m: texts.passiveModeActiveOnTest,
|
m: texts.passiveModeActiveOnTest,
|
||||||
|
@ -781,7 +779,7 @@
|
||||||
HandleResults(url)
|
HandleResults(url)
|
||||||
} else if ((!url.includes('/quiz/') && !url.includes('review.php') && !url.includes('.pdf')) ||
|
} else if ((!url.includes('/quiz/') && !url.includes('review.php') && !url.includes('.pdf')) ||
|
||||||
(forceDefaultPage)) { // if the current window is any other window than a quiz or pdf.
|
(forceDefaultPage)) { // if the current window is any other window than a quiz or pdf.
|
||||||
HandleUI(url, count, subjCount)
|
HandleUI(url)
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
ShowMessage({
|
ShowMessage({
|
||||||
|
@ -840,7 +838,10 @@
|
||||||
}
|
}
|
||||||
VersionActions()
|
VersionActions()
|
||||||
if (!url.includes('.pdf')) { ShowMenu() }
|
if (!url.includes('.pdf')) { ShowMenu() }
|
||||||
cwith()
|
GetXHRVersion().then((version) => {
|
||||||
|
lastestVersion = version
|
||||||
|
cwith(version)
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
function VersionActions () {
|
function VersionActions () {
|
||||||
|
@ -870,10 +871,9 @@
|
||||||
// : }}}
|
// : }}}
|
||||||
|
|
||||||
// : UI handling {{{
|
// : UI handling {{{
|
||||||
function HandleUI (url, count, subjCount) {
|
function HandleUI (url) {
|
||||||
// FIXME: normal string building with localisation :/
|
// FIXME: normal string building with localisation :/
|
||||||
var newVersion = false // if the script is newer than last start
|
var newVersion = false // if the script is newer than last start
|
||||||
var loaded = count !== -1 // if script could load stuff
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
newVersion = info().script.version !== getVal('lastVerson')
|
newVersion = info().script.version !== getVal('lastVerson')
|
||||||
|
@ -883,12 +883,9 @@
|
||||||
var greetMsg = '' // message to show at the end
|
var greetMsg = '' // message to show at the end
|
||||||
var timeout = null // the timeout. if null, it wont be hidden
|
var timeout = null // the timeout. if null, it wont be hidden
|
||||||
// no new version, nothing loaded
|
// no new version, nothing loaded
|
||||||
if (!newVersion && !loaded) { // --------------------------------------------------------------------------------------------------------------
|
|
||||||
greetMsg = texts.couldntLoadData
|
|
||||||
}
|
|
||||||
var showSplash = (getVal('showSplash') === undefined) || getVal('showSplash') // getting value, if splash screen should be shown. Its true, if its undefined, or true
|
var showSplash = (getVal('showSplash') === undefined) || getVal('showSplash') // getting value, if splash screen should be shown. Its true, if its undefined, or true
|
||||||
// no new version, everything loaded, and show splash is enabled. otherwise something happened, so showing it
|
// no new version, everything loaded, and show splash is enabled. otherwise something happened, so showing it
|
||||||
if (!newVersion && loaded && showSplash) { // ------------------------------------------------------------------------------------------------
|
if (!newVersion && showSplash) { // ------------------------------------------------------------------------------------------------
|
||||||
timeout = 5
|
timeout = 5
|
||||||
greetMsg = 'Moodle/Elearning/KMOOC segéd v. ' + info().script.version + '. '
|
greetMsg = 'Moodle/Elearning/KMOOC segéd v. ' + info().script.version + '. '
|
||||||
|
|
||||||
|
@ -896,33 +893,9 @@
|
||||||
greetMsg += 'Új verzió elérhető: ' + lastestVersion + '\n'
|
greetMsg += 'Új verzió elérhető: ' + lastestVersion + '\n'
|
||||||
timeout = undefined
|
timeout = undefined
|
||||||
}
|
}
|
||||||
greetMsg += count + ' kérdés és ' + subjCount + ' tárgy betöltve. (click for help).'
|
|
||||||
// TODO
|
|
||||||
// if (data.length > 0) {
|
|
||||||
// var toAdd = []
|
|
||||||
// for (var i = 0; i < data.length; i++) {
|
|
||||||
// if (data.GetIfActive(i)) {
|
|
||||||
// toAdd.push(data.Subjects[i].Name + ' (' + data.Subjects[i].length + ')')
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// if (toAdd.length !== 0) {
|
|
||||||
// greetMsg += '\nAktív tárgyak: ' + toAdd.join(', ') + '.'
|
|
||||||
// } else {
|
|
||||||
// AlertOnNoQuestion()
|
|
||||||
// greetMsg += '\nNincs aktív tárgyad. Menüből válassz ki eggyet!'
|
|
||||||
// timeout = undefined
|
|
||||||
// }
|
|
||||||
// } else {
|
|
||||||
// greetMsg += ' nem elérhető a szerver. Katt a helpért!'
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
// new version, nothing loaded
|
if (newVersion) { // --------------------------------------------------------------------------------------------------------------
|
||||||
if (newVersion && !loaded) { // --------------------------------------------------------------------------------------------------------------
|
greetMsg = 'Moodle/Elearning/KMOOC segéd v. ' + info().script.version + '. Verzió frissítve ' + info().script.version + '-re. Changelog:\n' + texts.lastChangeLog
|
||||||
greetMsg = 'Moodle/Elearning/KMOOC segéd v. ' + info().script.version + '. Új verzió!\n Írd át a @resouce tagnál az elírési utat! Kivéve ha üres a file, akkor töltsd fel :) Nincs kérdés betöltve! Segítséghez kattints. Changelog:\n' + texts.lastChangeLog // showing changelog too
|
|
||||||
}
|
|
||||||
// new version, everything loaded -> set lastVerson to current
|
|
||||||
if (newVersion && loaded) { // --------------------------------------------------------------------------------------------------------------
|
|
||||||
greetMsg = 'Moodle/Elearning/KMOOC segéd v. ' + info().script.version + '. ' + count + ' kérdés és ' + subjCount + ' tárgy betöltve. Verzió frissítve ' + info().script.version + '-re. Changelog:\n' + texts.lastChangeLog
|
|
||||||
setVal('lastVerson', info().script.version) // setting lastVersion
|
setVal('lastVerson', info().script.version) // setting lastVersion
|
||||||
}
|
}
|
||||||
if (!SUtils.EmptyOrWhiteSpace(motd)) {
|
if (!SUtils.EmptyOrWhiteSpace(motd)) {
|
||||||
|
@ -999,10 +972,9 @@
|
||||||
msg += result[k].q.Q + '\n' // adding the question if yes
|
msg += result[k].q.Q + '\n' // adding the question if yes
|
||||||
}
|
}
|
||||||
msg += result[k].q.A.replace(/, /g, '\n') // adding answer
|
msg += result[k].q.A.replace(/, /g, '\n') // adding answer
|
||||||
// TODO
|
if (result[k].q.data.type === 'image') {
|
||||||
// if (result[k].q.HasImage()) {
|
msg += '\n\nKépek fenti válaszok sorrendjében: ' + result[k].q.data.images.join(', ') // if it has image part, adding that too
|
||||||
// msg += '\n\nKépek fenti válaszok sorrendjében: ' + result[k].q.data.images.join(', ') // if it has image part, adding that too
|
}
|
||||||
// }
|
|
||||||
allMessages.push({
|
allMessages.push({
|
||||||
m: msg,
|
m: msg,
|
||||||
p: result[k].match
|
p: result[k].match
|
||||||
|
@ -1938,7 +1910,24 @@
|
||||||
return paragraphElement
|
return paragraphElement
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function GetXHRVersion () {
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
xmlhttpRequest({
|
||||||
|
method: 'GET',
|
||||||
|
url: serverAdress + 'version',
|
||||||
|
onload: function (response) {
|
||||||
|
resolve(response.responseText)
|
||||||
|
},
|
||||||
|
onerror: (e) => {
|
||||||
|
console.log('GET ERROR', e)
|
||||||
|
reject(new Error('get error'))
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
function GetXHRQuestionAnswer (question) {
|
function GetXHRQuestionAnswer (question) {
|
||||||
|
console.log('sentquestion:', question) // TODO: remove
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
let url = serverAdress + 'q?'
|
let url = serverAdress + 'q?'
|
||||||
let params = []
|
let params = []
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue