mirror of
https://gitlab.com/MrFry/moodle-test-userscript
synced 2025-04-01 20:22:48 +02:00
Image base64 fixes, login pw input removed request pw
This commit is contained in:
parent
d62a546655
commit
de0ceb7e27
1 changed files with 19 additions and 41 deletions
|
@ -151,7 +151,6 @@
|
|||
search: 'Keresés ...',
|
||||
loading: 'Betöltés ...',
|
||||
login: 'Belépés',
|
||||
requestPWInsteadOflogin: 'Jelszó igénylés',
|
||||
newPWTitle: 'Új jelszó új felhasználónak',
|
||||
pwRequest: 'Jelszó új felhasználónak',
|
||||
noServer: 'Nem elérhető a szerver!',
|
||||
|
@ -318,7 +317,9 @@
|
|||
new Promise(resolve => {
|
||||
GetXHRQuestionAnswer(questionObj).then(res => {
|
||||
resolve({
|
||||
answers: res,
|
||||
answers: res.reduce((acc, dbRes) => {
|
||||
return [...acc, ...dbRes.result]
|
||||
}, []),
|
||||
question: question,
|
||||
})
|
||||
})
|
||||
|
@ -444,8 +445,6 @@
|
|||
const questionPromises = getTextPromisesFromNode(qtextNode)
|
||||
const possibleAnswerPromises = getPossibleAnswersFromTest(node)
|
||||
|
||||
console.log(questionPromises)
|
||||
|
||||
const unflattenedPossibleAnswerPromises = possibleAnswerPromises
|
||||
? possibleAnswerPromises.map(x => {
|
||||
return Promise.all(x)
|
||||
|
@ -507,12 +506,10 @@
|
|||
return {
|
||||
type: 'image',
|
||||
possibleAnswers,
|
||||
images: hashedImages.map(x => {
|
||||
hashedImages: hashedImages.map(x => {
|
||||
return x.val
|
||||
}),
|
||||
// TODO
|
||||
// images: legacyImages,
|
||||
hashedImages: hashedImages,
|
||||
images: legacyImages,
|
||||
}
|
||||
} else {
|
||||
return {
|
||||
|
@ -603,7 +600,7 @@
|
|||
resolve({
|
||||
Q: removeUnnecesarySpaces(questionText),
|
||||
A: removeUnnecesarySpaces(answerText),
|
||||
data: getData(images),
|
||||
data: getDataFromResultImages(images),
|
||||
success: true,
|
||||
})
|
||||
})
|
||||
|
@ -615,7 +612,7 @@
|
|||
})
|
||||
}
|
||||
|
||||
function getData(images) {
|
||||
function getDataFromResultImages(images) {
|
||||
if (!images || images.length === 0) {
|
||||
return {
|
||||
type: 'simple',
|
||||
|
@ -623,7 +620,9 @@
|
|||
} else {
|
||||
return {
|
||||
type: 'image',
|
||||
images: images,
|
||||
hashedImages: images.map(x => {
|
||||
return x.val
|
||||
}),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -759,15 +758,14 @@
|
|||
}
|
||||
|
||||
function getBase64Image(img) {
|
||||
const copy = document.createElement('img')
|
||||
copy.src = img.src
|
||||
copy.crossOrigin = 'Anonymous'
|
||||
img.crossOrigin = 'Anonymous'
|
||||
let canvas = document.createElement('canvas')
|
||||
canvas.width = copy.width
|
||||
canvas.height = copy.height
|
||||
canvas.width = img.width
|
||||
canvas.height = img.height
|
||||
let ctx = canvas.getContext('2d')
|
||||
ctx.drawImage(copy, 0, 0)
|
||||
ctx.drawImage(img, 0, 0)
|
||||
let dataURL = canvas.toDataURL('image/png')
|
||||
img.crossOrigin = undefined
|
||||
return dataURL.replace(/^data:image\/(png|jpg);base64,/, '')
|
||||
}
|
||||
|
||||
|
@ -925,7 +923,7 @@
|
|||
|
||||
SetStyle(toAppend, {
|
||||
position: 'absolute',
|
||||
zIndex: 999999,
|
||||
zIndex: 1,
|
||||
top: top + 'px',
|
||||
left: left + 'px',
|
||||
})
|
||||
|
@ -1284,6 +1282,7 @@
|
|||
}
|
||||
|
||||
function ShowAnswers(results) {
|
||||
console.log(results)
|
||||
const answers = results.reduce((acc, res) => {
|
||||
const prepared = PrepareAnswers(res)
|
||||
addImageIdsToImageNodes(res.question)
|
||||
|
@ -1293,8 +1292,6 @@
|
|||
return acc
|
||||
}, [])
|
||||
|
||||
// TODO: show which image belongs to which text
|
||||
|
||||
if (answers.length > 0) {
|
||||
ShowMessage(answers)
|
||||
} else {
|
||||
|
@ -1866,7 +1863,7 @@
|
|||
SetStyle(menuButtonDiv, {
|
||||
width: '600px',
|
||||
// height: buttonHeight + 'px',
|
||||
top: window.innerHeight - 135 + 'px',
|
||||
top: window.innerHeight - 160 + 'px',
|
||||
left: '10px',
|
||||
zIndex: 999999,
|
||||
position: 'fixed',
|
||||
|
@ -2050,32 +2047,13 @@
|
|||
loginInput.type = 'text'
|
||||
loginInput.style.width = '400px'
|
||||
loginInput.style.textAlign = 'center'
|
||||
const clientId = getVal('clientId')
|
||||
if (clientId && clientId.toString()[0] !== '0') {
|
||||
loginInput.value = clientId || ''
|
||||
loginButton.innerText = texts.requestPWInsteadOflogin
|
||||
}
|
||||
loginDiv.appendChild(loginInput)
|
||||
loginDiv.appendChild(loginButton)
|
||||
|
||||
SetStyle(loginButton, buttonStyle)
|
||||
|
||||
loginInput.addEventListener('keyup', e => {
|
||||
if (e.target.value === clientId) {
|
||||
loginButton.innerText = texts.requestPWInsteadOflogin
|
||||
} else if (e.target.value !== '') {
|
||||
loginButton.innerText = texts.login
|
||||
}
|
||||
})
|
||||
|
||||
loginButton.addEventListener('click', function() {
|
||||
if (loginInput.value === clientId.toString()) {
|
||||
openInTab(serverAdress + 'getVeteranPw?cid=' + clientId, {
|
||||
active: true,
|
||||
})
|
||||
} else {
|
||||
Auth(loginInput.value)
|
||||
}
|
||||
})
|
||||
|
||||
ibuttonCell.appendChild(loginDiv)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue