From 21aee8420ca5a726208ed2917ef9f03bbf3ae223 Mon Sep 17 00:00:00 2001 From: mrfry Date: Sun, 14 Mar 2021 12:21:54 +0100 Subject: [PATCH] Making things work on older moodle versions --- stable.user.js | 31 ++++++++++++++++++++++++++----- 1 file changed, 26 insertions(+), 5 deletions(-) diff --git a/stable.user.js b/stable.user.js index 17f50ae..0f8f748 100755 --- a/stable.user.js +++ b/stable.user.js @@ -46,7 +46,7 @@ // : Script header {{{ // ==UserScript== // @name Moodle/Elearning/KMOOC test help -// @version 2.1.0.3 +// @version 2.1.1.0 // @description Online Moodle/Elearning/KMOOC test help // @author MrFry // @match https://elearning.uni-obuda.hu/* @@ -403,10 +403,16 @@ // TODO: dropdown in question // TODO: get possible answers too const promises = [] - const questionNodes = Array.from( + let questionNodes = Array.from( document.getElementsByTagName('form')[0].childNodes[0].childNodes ) + if (questionNodes.length === 0) { + questionNodes = Array.from( + document.getElementsByTagName('form')[1].childNodes[0].childNodes + ) + } + let i = 0 while ( i < questionNodes.length && @@ -599,9 +605,14 @@ function getQuiz() { return new Promise(resolve => { const promises = [] - const questionNodes = Array.from( + let questionNodes = Array.from( document.getElementsByTagName('form')[0].childNodes[0].childNodes ) + if (questionNodes.length === 0) { + questionNodes = Array.from( + document.getElementsByTagName('form')[1].childNodes[0].childNodes + ) + } let i = 0 while (i < questionNodes.length && questionNodes[i].tagName === 'DIV') { @@ -1370,6 +1381,12 @@ answer.detailedMatch.qdb, } }) + } else { + return [ + { + m: 'Erre a kérdésre nincs találat :c', + }, + ] } } @@ -1887,7 +1904,9 @@ const SetQuestionText = () => { const relevantQuestion = GetRelevantQuestion() - headerText.innerText = relevantQuestion.header + if (relevantQuestion.header) { + headerText.innerText = relevantQuestion.header + } questionTextElement.innerText = relevantQuestion.m if (currItem === 0 && currRelevantQuestion === 0) { @@ -1896,7 +1915,9 @@ numberTextBox.innerText = currItem + 1 + './' + (currRelevantQuestion + 1) + '.' } - percentTextBox.innerText = relevantQuestion.p + '%' + if (relevantQuestion.p) { + percentTextBox.innerText = relevantQuestion.p + '%' + } } const buttonStyle = {