mirror of
https://gitlab.com/MrFry/moodle-test-userscript
synced 2025-04-01 20:22:48 +02:00
Removed a db option (public), and fixed parsing results page
This commit is contained in:
parent
913277eb4a
commit
74bf725c93
1 changed files with 43 additions and 39 deletions
82
main.js
82
main.js
|
@ -28,7 +28,7 @@ var serverAdress = "http://questionmining.tk/";
|
||||||
// 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!
|
||||||
// only one of these should be true for testing
|
// only one of these should be true for testing
|
||||||
const forceTestPage = false;
|
const forceTestPage = false;
|
||||||
const forceResultPage = true;
|
const forceResultPage = false;
|
||||||
const forceDefaultPage = false;
|
const forceDefaultPage = false;
|
||||||
const logElementGetting = false;
|
const logElementGetting = false;
|
||||||
|
|
||||||
|
@ -224,7 +224,7 @@ class QuestionDB {
|
||||||
//: Main function {{{
|
//: Main function {{{
|
||||||
function Main() {
|
function Main() {
|
||||||
'use strict';
|
'use strict';
|
||||||
console.clear();
|
console.clear(); // TODO
|
||||||
Init(function(count) {
|
Init(function(count) {
|
||||||
var url = location.href;
|
var url = location.href;
|
||||||
try {
|
try {
|
||||||
|
@ -840,7 +840,7 @@ function ParseRawData(data) {
|
||||||
|
|
||||||
function Load(cwith) {
|
function Load(cwith) {
|
||||||
var useNetDB = GM_getValue("useNetDB");
|
var useNetDB = GM_getValue("useNetDB");
|
||||||
if (useNetDB != undefined && (useNetDB == 0 || useNetDB == 1))
|
if (useNetDB != undefined && useNetDB == 1)
|
||||||
return ReadNetDB(cwith, useNetDB);
|
return ReadNetDB(cwith, useNetDB);
|
||||||
else
|
else
|
||||||
return ReadFile(cwith);
|
return ReadFile(cwith);
|
||||||
|
@ -1014,7 +1014,6 @@ function HandleUI(url, count) {
|
||||||
"-re. Changelog:\n" + lastChangeLog;
|
"-re. Changelog:\n" + lastChangeLog;
|
||||||
GM_setValue("lastVerson", GM_info.script.version); // setting lastVersion
|
GM_setValue("lastVerson", GM_info.script.version); // setting lastVersion
|
||||||
}
|
}
|
||||||
console.log("MOTD " + motd);
|
|
||||||
if (!EmptyOrWhiteSpace(motd)) {
|
if (!EmptyOrWhiteSpace(motd)) {
|
||||||
|
|
||||||
var prevmotd = GM_getValue("motd");
|
var prevmotd = GM_getValue("motd");
|
||||||
|
@ -1051,7 +1050,6 @@ function HandleUI(url, count) {
|
||||||
|
|
||||||
function HandleResults(url) {
|
function HandleResults(url) {
|
||||||
var allResults = new QuestionDB();
|
var allResults = new QuestionDB();
|
||||||
// TODO fix this
|
|
||||||
if (data)
|
if (data)
|
||||||
for (var i = 0; i < data.length; i++) // going trough all subjects
|
for (var i = 0; i < data.length; i++) // going trough all subjects
|
||||||
if (data.GetIfActive(i)) // if the subject is active
|
if (data.GetIfActive(i)) // if the subject is active
|
||||||
|
@ -1068,22 +1066,32 @@ function ShowSaveQuizDialog(addedQ, allQ, allOutput, output, sendSuccess, sentDa
|
||||||
" új kérdés! Ne felejtsd el bemásolni a fő txt-be!";
|
" új kérdés! Ne felejtsd el bemásolni a fő txt-be!";
|
||||||
|
|
||||||
var useNetDB = GM_getValue("useNetDB");
|
var useNetDB = GM_getValue("useNetDB");
|
||||||
if (useNetDB != undefined && (useNetDB == 0 || useNetDB == 1))
|
if (useNetDB != undefined && useNetDB == 1) {
|
||||||
msg += "Az új kérdések elküldve.";
|
if (!sendSuccess)
|
||||||
|
msg += " Nem sikerült kérdéseket elküldeni szervernek. Ha gondolod utánanézhetsz.";
|
||||||
|
else
|
||||||
|
msg += "Az új kérdések elküldve.";
|
||||||
|
}
|
||||||
|
msg += "Az új kérdések elküldve.";
|
||||||
} else // if there is 0 or less new question
|
} else // if there is 0 or less new question
|
||||||
{
|
{
|
||||||
msg = "A kérdőívben nincsen új kérdés. Ha mégis le akarod menteni klikk ide.";
|
msg = "A kérdőívben nincsen új kérdés. Ha mégis le akarod menteni klikk ide.";
|
||||||
|
if (!data)
|
||||||
|
msg += " Lehet azért, mert nincs kérdés betöltve.";
|
||||||
}
|
}
|
||||||
if (!sendSuccess)
|
|
||||||
msg += " Nem sikerült kérdéseket elküldeni szervernek. Ha gondolod utánanézhetsz.";
|
|
||||||
// showing a message wit the click event, and the generated page
|
// showing a message wit the click event, and the generated page
|
||||||
ShowMessage({
|
ShowMessage({
|
||||||
m: msg,
|
m: msg,
|
||||||
isSimple: true
|
isSimple: true
|
||||||
}, null, function() {
|
}, null, function() {
|
||||||
document.write('<h3>TXT-ben nem szereplő kérdések: ' + addedQ + '/' + allQ + '</h3><br>' +
|
var towrite = '<h3>TXT-ben nem szereplő kérdések: ' + addedQ + '/' + allQ + '</h3><br>' +
|
||||||
output.replace(/\n/g, '<br>') + '<br><h3>Összes kérdés/válasz:</h3>' + allOutput.replace(
|
output.replace(/\n/g, '<br>') + '<br><h3>Összes kérdés/válasz:</h3>' + allOutput.replace(
|
||||||
/\n/g, '<br>') + "</p>Elküldött adatok (ha sikertelen, akkor undefined):</p> " + sentData);
|
/\n/g, '<br>');
|
||||||
|
|
||||||
|
var useNetDB = GM_getValue("useNetDB");
|
||||||
|
if (useNetDB != undefined && useNetDB == 1)
|
||||||
|
towrite += "</p>Elküldött adatok:</p> " + sentData;
|
||||||
|
document.write(towrite);
|
||||||
document.close();
|
document.close();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -1127,42 +1135,45 @@ function SaveQuiz(quiz, questionData) {
|
||||||
var allOutput = ""; // thefinal output with all questions
|
var allOutput = ""; // thefinal output with all questions
|
||||||
var allQ = 0;
|
var allQ = 0;
|
||||||
var addedQ = 0;
|
var addedQ = 0;
|
||||||
|
var newQuestions = [];
|
||||||
|
console.log("QUIZ:");
|
||||||
|
console.log(quiz);
|
||||||
for (var i = 0; i < quiz.length; i++) // going though quiz
|
for (var i = 0; i < quiz.length; i++) // going though quiz
|
||||||
{
|
{
|
||||||
// searching for same questions in questionData
|
// searching for same questions in questionData
|
||||||
var matchAt = SearchSameQuestion(questionData, quiz, i);
|
var matchAt = SearchSameQuestion(questionData, quiz, i);
|
||||||
var toAdd = ""; // this will be added to some variable depending on if its already in the database
|
var toAdd = ""; // this will be added to some variable depending on if its already in the database
|
||||||
toAdd += "?" + RemoveUnnecesarySpaces(quiz[i].q) + "\n"; // adding quiz question
|
toAdd += "?" + RemoveUnnecesarySpaces(quiz[i].Q) + "\n"; // adding quiz question
|
||||||
toAdd += "!" + RemoveUnnecesarySpaces(quiz[i].a) + "\n"; // adding quiz answer
|
toAdd += "!" + RemoveUnnecesarySpaces(quiz[i].A) + "\n"; // adding quiz answer
|
||||||
if (quiz[i].i) {
|
if (quiz[i].HasImage()) {
|
||||||
toAdd += ">" + RemoveUnnecesarySpaces(quiz[i].i) + "\n"; // adding quiz image if there is any
|
toAdd += ">" + RemoveUnnecesarySpaces(quiz[i].I) + "\n"; // adding quiz image if there is any
|
||||||
}
|
}
|
||||||
if (matchAt == -1) // if there is no such item in the database (w/ same q and a)
|
if (matchAt == -1) // if there is no such item in the database (w/ same q and a)
|
||||||
{
|
{
|
||||||
output += toAdd; // adding to output
|
output += toAdd; // adding to output
|
||||||
|
newQuestions.push(quiz[i]);
|
||||||
addedQ++;
|
addedQ++;
|
||||||
}
|
}
|
||||||
allOutput += toAdd; // adding to all
|
allOutput += toAdd; // adding to all
|
||||||
allQ++;
|
allQ++;
|
||||||
}
|
}
|
||||||
|
console.log("QUIZ:");
|
||||||
|
console.log(quiz);
|
||||||
|
console.log(newQuestions); // TODO: test this
|
||||||
var sendSuccess = false;
|
var sendSuccess = false;
|
||||||
var sentData = "undefined";
|
var sentData = "undefined";
|
||||||
try {
|
try {
|
||||||
var subj = "NOSUBJ";
|
var subj = "NOSUBJ";
|
||||||
try {
|
try {
|
||||||
subj = GetCurrentSubjectName();
|
subj = GetCurrentSubjectName();
|
||||||
} catch (e) {}
|
} catch (e) {
|
||||||
|
console.log("unable to get subject name :c");
|
||||||
|
}
|
||||||
var useNetDB = GM_getValue("useNetDB");
|
var useNetDB = GM_getValue("useNetDB");
|
||||||
if (useNetDB != undefined && (useNetDB == 0 || useNetDB == 1)) {
|
if (useNetDB != undefined && useNetDB == 1) {
|
||||||
var dataToSend = [];
|
sentData = "datatoadd=alldata<=>" + JSON.stringify(quiz) + "<#>data<=>" + JSON.stringify(
|
||||||
if (subj != "NOSUBJ") {
|
newQuestions) + "<#>subj<=>" + subj;
|
||||||
dataToSend.push("+" + subj);
|
console.log(sentData); // TODO
|
||||||
if (!EmptyOrWhiteSpace(output))
|
|
||||||
dataToSend.push(output);
|
|
||||||
dataToSend = dataToSend.join("\n");
|
|
||||||
}
|
|
||||||
sentData = "datatoadd=alldata<=>" + allOutput + "<#>data<=>" + dataToSend + "<#>subj<=>" + subj +
|
|
||||||
"<#>type<=>" + useNetDB;
|
|
||||||
SendXHRMessage(sentData);
|
SendXHRMessage(sentData);
|
||||||
sendSuccess = true;
|
sendSuccess = true;
|
||||||
}
|
}
|
||||||
|
@ -1799,20 +1810,15 @@ function ShowMenuList() {
|
||||||
GM_setValue("useNetDB", databasemodeListbox.selectedIndex);
|
GM_setValue("useNetDB", databasemodeListbox.selectedIndex);
|
||||||
});
|
});
|
||||||
|
|
||||||
var usenetsafe = document.createElement('option');
|
|
||||||
usenetsafe.text = "Netről (karbantartott)";
|
|
||||||
usenetsafe.value = 0;
|
|
||||||
databasemodeListbox.add(usenetsafe, 0);
|
|
||||||
|
|
||||||
var usenednew = document.createElement('option');
|
|
||||||
usenednew.text = "Netről (szabadon szerkeszthető)";
|
|
||||||
usenednew.value = 1;
|
|
||||||
databasemodeListbox.add(usenednew, 1);
|
|
||||||
|
|
||||||
var uselocal = document.createElement('option');
|
var uselocal = document.createElement('option');
|
||||||
uselocal.text = "Helyi fájlból (old school)";
|
uselocal.text = "Helyi fájlból (old school)";
|
||||||
uselocal.value = 2;
|
uselocal.value = 2;
|
||||||
databasemodeListbox.add(uselocal, 2);
|
databasemodeListbox.add(uselocal, 0);
|
||||||
|
|
||||||
|
var usenetsafe = document.createElement('option');
|
||||||
|
usenetsafe.text = "Netről";
|
||||||
|
usenetsafe.value = 0;
|
||||||
|
databasemodeListbox.add(usenetsafe, 1);
|
||||||
|
|
||||||
var selected = GM_getValue("useNetDB");
|
var selected = GM_getValue("useNetDB");
|
||||||
if (selected != undefined)
|
if (selected != undefined)
|
||||||
|
@ -1959,8 +1965,6 @@ function NormalizeSpaces(input) {
|
||||||
function SendXHRMessage(message) {
|
function SendXHRMessage(message) {
|
||||||
|
|
||||||
var url = serverAdress + "isAdding";
|
var url = serverAdress + "isAdding";
|
||||||
console.log(url);
|
|
||||||
console.log(message);
|
|
||||||
GM_xmlhttpRequest({
|
GM_xmlhttpRequest({
|
||||||
method: "POST",
|
method: "POST",
|
||||||
url: url,
|
url: url,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue