fixed kgk naming, version increment, test variable removes

This commit is contained in:
mrfry 2021-12-12 13:23:00 +01:00
parent bb0f1cc3fd
commit 34e6068a5e

View file

@ -46,7 +46,7 @@
// : Script header {{{ // : Script header {{{
// ==UserScript== // ==UserScript==
// @name Moodle/Elearning/KMOOC test help // @name Moodle/Elearning/KMOOC test help
// @version 2.1.2.1 // @version 2.1.3.0
// @description Online Moodle/Elearning/KMOOC test help // @description Online Moodle/Elearning/KMOOC test help
// @author MrFry // @author MrFry
// @match https://elearning.uni-obuda.hu/* // @match https://elearning.uni-obuda.hu/*
@ -111,12 +111,12 @@
// Devel vars // Devel vars
// ------------------------------------------------------------------------------ // ------------------------------------------------------------------------------
// forcing pages for testing. unless you test, do not set these to true! // forcing pages for testing. unless you test, do not set these to true!
const isDevel = true const isDevel = false
setVal('ISDEVEL', isDevel) setVal('ISDEVEL', isDevel)
const forcedMatchString = isDevel ? 'kvk' : '' const forcedMatchString = isDevel ? '' : ''
// only one of these should be true for testing // only one of these should be true for testing
const forceTestPage = isDevel && false const forceTestPage = isDevel && false
const forceResultPage = isDevel && true const forceResultPage = isDevel && false
const forceDefaultPage = isDevel && false const forceDefaultPage = isDevel && false
// ------------------------------------------------------------------------------ // ------------------------------------------------------------------------------
@ -127,12 +127,11 @@
var addEventListener // add event listener function var addEventListener // add event listener function
let serverAdress = 'https://qmining.frylabs.net/' let serverAdress = 'https://qmining.frylabs.net/'
let apiAdress = 'https://api.frylabs.net/' let apiAdress = 'https://api.frylabs.net/'
// const ircAddress = 'https://kiwiirc.com/nextclient/irc.sub.fm/#qmining'
const motdShowCount = 3 /* Ammount of times to show motd */ const motdShowCount = 3 /* Ammount of times to show motd */
const messageOpacityDelta = 0.1 const messageOpacityDelta = 0.1
const minMessageOpacity = 0.2 const minMessageOpacity = 0.2
let infoExpireTime = 60 // Every n seconds basic info should be loaded from server let infoExpireTime = 60 * 5 // Every n seconds basic info should be loaded from server
var motd = '' var motd = ''
var userSpecificMotd = undefined var userSpecificMotd = undefined
var lastestVersion = '' var lastestVersion = ''
@ -1020,9 +1019,9 @@
// : }}} // : }}}
// : KVK {{{ // : KGK {{{
function getKVKAnswerNodesFromQuiz() { function getKGKAnswerNodesFromQuiz() {
let i = 1 let i = 1
let currElem = null let currElem = null
const elems = [] const elems = []
@ -1036,15 +1035,15 @@
return elems return elems
} }
function getKVKQuestionNodeFromQuiz() { function getKGKQuestionNodeFromQuiz() {
return document.getElementsByClassName('kkerdes')[0] return document.getElementsByClassName('kkerdes')[0]
} }
function getKVKSubjName() { function getKGKSubjName() {
return document.getElementsByTagName('header')[0].innerText return document.getElementsByTagName('header')[0].innerText
} }
function HandleKVKResults(url) { function HandleKGKResults(url) {
const tableChilds = document.getElementsByTagName('table')[0].childNodes[0] const tableChilds = document.getElementsByTagName('table')[0].childNodes[0]
.childNodes .childNodes
const question = removeUnnecesarySpaces( const question = removeUnnecesarySpaces(
@ -1058,10 +1057,10 @@
) )
if (correct.toLowerCase() === 'helyes') { if (correct.toLowerCase() === 'helyes') {
const sentData = { const sentData = {
subj: getKVKSubjName(), subj: getKGKSubjName(),
version: info().script.version, version: info().script.version,
id: getCid(), id: getCid(),
location: 'https://moodle.kvk.hu', // TODO: url location: url,
quiz: [ quiz: [
{ {
Q: question, Q: question,
@ -1083,7 +1082,7 @@
} }
} }
function simplifyKVKQuestionString(val) { function simplifyKGKQuestionString(val) {
// FIXME: this is ugly // FIXME: this is ugly
let x = val.split('\n') let x = val.split('\n')
x.shift() x.shift()
@ -1092,24 +1091,18 @@
return x.join(' ') return x.join(' ')
} }
function handleKVKQuiz(url) { function handleKGKQuiz(url) {
// TODO: egy oldalon több kérdés?
// kérdésben 3/20 meg (1879) mit jelent elején végén
// 3/20 A szervezet érintettjeinek hatalom/érdek mátrixában hova tartozik a
// tulajdonosok/részvényesek? (1876)
// 3/20: 3.kérdés a 20-ból
// (1876): kérdés száma (tipp)
try { try {
const { removeMessage: removeLoadingMessage } = ShowMessage( const { removeMessage: removeLoadingMessage } = ShowMessage(
texts.loadingAnswer texts.loadingAnswer
) )
const answerNodes = getKVKAnswerNodesFromQuiz() const answerNodes = getKGKAnswerNodesFromQuiz()
const questionNode = getKVKQuestionNodeFromQuiz() const questionNode = getKGKQuestionNodeFromQuiz()
const sentData = { const sentData = {
questions: [ questions: [
{ {
Q: simplifyKVKQuestionString(questionNode.innerText), Q: simplifyKGKQuestionString(questionNode.innerText),
subj: 'asd', subj: 'asd',
data: { type: 'simple' }, data: { type: 'simple' },
possibleAnswers: answerNodes.map((node) => { possibleAnswers: answerNodes.map((node) => {
@ -1322,26 +1315,26 @@
const pageMatchers = [ const pageMatchers = [
{ {
matchString: 'kvk', matchString: 'portal.kgk',
testPage: { testPage: {
match: (url) => { match: (url) => {
return false // TODO :insert real url return url.includes('vizsga')
}, },
action: (url) => { action: (url) => {
handleKVKQuiz(url) handleKGKQuiz(url)
}, },
}, },
resultPage: { resultPage: {
match: (url) => { match: (url) => {
return true // TODO :insert real url return false // TODO :insert real url
}, },
action: (url) => { action: (url) => {
HandleKVKResults(url) HandleKGKResults(url)
}, },
}, },
default: { default: {
match: (url) => { match: (url) => {
return false // TODO :insert real url return true // TODO :insert real url
}, },
action: (url) => { action: (url) => {
HandleUI(url) HandleUI(url)
@ -1349,7 +1342,7 @@
}, },
}, },
{ {
matchString: 'default', matchString: 'default', // moodle, elearning, mooc
testPage: { testPage: {
match: (url) => { match: (url) => {
return ( return (