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