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
80
main.js
80
main.js
|
@ -28,7 +28,7 @@ var serverAdress = "http://questionmining.tk/";
|
|||
// forcing pages for testing. unless you test, do not set these to true!
|
||||
// only one of these should be true for testing
|
||||
const forceTestPage = false;
|
||||
const forceResultPage = true;
|
||||
const forceResultPage = false;
|
||||
const forceDefaultPage = false;
|
||||
const logElementGetting = false;
|
||||
|
||||
|
@ -224,7 +224,7 @@ class QuestionDB {
|
|||
//: Main function {{{
|
||||
function Main() {
|
||||
'use strict';
|
||||
console.clear();
|
||||
console.clear(); // TODO
|
||||
Init(function(count) {
|
||||
var url = location.href;
|
||||
try {
|
||||
|
@ -840,7 +840,7 @@ function ParseRawData(data) {
|
|||
|
||||
function Load(cwith) {
|
||||
var useNetDB = GM_getValue("useNetDB");
|
||||
if (useNetDB != undefined && (useNetDB == 0 || useNetDB == 1))
|
||||
if (useNetDB != undefined && useNetDB == 1)
|
||||
return ReadNetDB(cwith, useNetDB);
|
||||
else
|
||||
return ReadFile(cwith);
|
||||
|
@ -1014,7 +1014,6 @@ function HandleUI(url, count) {
|
|||
"-re. Changelog:\n" + lastChangeLog;
|
||||
GM_setValue("lastVerson", GM_info.script.version); // setting lastVersion
|
||||
}
|
||||
console.log("MOTD " + motd);
|
||||
if (!EmptyOrWhiteSpace(motd)) {
|
||||
|
||||
var prevmotd = GM_getValue("motd");
|
||||
|
@ -1051,7 +1050,6 @@ function HandleUI(url, count) {
|
|||
|
||||
function HandleResults(url) {
|
||||
var allResults = new QuestionDB();
|
||||
// TODO fix this
|
||||
if (data)
|
||||
for (var i = 0; i < data.length; i++) // going trough all subjects
|
||||
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!";
|
||||
|
||||
var useNetDB = GM_getValue("useNetDB");
|
||||
if (useNetDB != undefined && (useNetDB == 0 || useNetDB == 1))
|
||||
if (useNetDB != undefined && useNetDB == 1) {
|
||||
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
|
||||
{
|
||||
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
|
||||
ShowMessage({
|
||||
m: msg,
|
||||
isSimple: true
|
||||
}, 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(
|
||||
/\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();
|
||||
});
|
||||
}
|
||||
|
@ -1127,42 +1135,45 @@ function SaveQuiz(quiz, questionData) {
|
|||
var allOutput = ""; // thefinal output with all questions
|
||||
var allQ = 0;
|
||||
var addedQ = 0;
|
||||
var newQuestions = [];
|
||||
console.log("QUIZ:");
|
||||
console.log(quiz);
|
||||
for (var i = 0; i < quiz.length; i++) // going though quiz
|
||||
{
|
||||
// searching for same questions in questionData
|
||||
var matchAt = SearchSameQuestion(questionData, quiz, i);
|
||||
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].a) + "\n"; // adding quiz answer
|
||||
if (quiz[i].i) {
|
||||
toAdd += ">" + RemoveUnnecesarySpaces(quiz[i].i) + "\n"; // adding quiz image if there is any
|
||||
toAdd += "?" + RemoveUnnecesarySpaces(quiz[i].Q) + "\n"; // adding quiz question
|
||||
toAdd += "!" + RemoveUnnecesarySpaces(quiz[i].A) + "\n"; // adding quiz answer
|
||||
if (quiz[i].HasImage()) {
|
||||
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)
|
||||
{
|
||||
output += toAdd; // adding to output
|
||||
newQuestions.push(quiz[i]);
|
||||
addedQ++;
|
||||
}
|
||||
allOutput += toAdd; // adding to all
|
||||
allQ++;
|
||||
}
|
||||
console.log("QUIZ:");
|
||||
console.log(quiz);
|
||||
console.log(newQuestions); // TODO: test this
|
||||
var sendSuccess = false;
|
||||
var sentData = "undefined";
|
||||
try {
|
||||
var subj = "NOSUBJ";
|
||||
try {
|
||||
subj = GetCurrentSubjectName();
|
||||
} catch (e) {}
|
||||
var useNetDB = GM_getValue("useNetDB");
|
||||
if (useNetDB != undefined && (useNetDB == 0 || useNetDB == 1)) {
|
||||
var dataToSend = [];
|
||||
if (subj != "NOSUBJ") {
|
||||
dataToSend.push("+" + subj);
|
||||
if (!EmptyOrWhiteSpace(output))
|
||||
dataToSend.push(output);
|
||||
dataToSend = dataToSend.join("\n");
|
||||
} catch (e) {
|
||||
console.log("unable to get subject name :c");
|
||||
}
|
||||
sentData = "datatoadd=alldata<=>" + allOutput + "<#>data<=>" + dataToSend + "<#>subj<=>" + subj +
|
||||
"<#>type<=>" + useNetDB;
|
||||
var useNetDB = GM_getValue("useNetDB");
|
||||
if (useNetDB != undefined && useNetDB == 1) {
|
||||
sentData = "datatoadd=alldata<=>" + JSON.stringify(quiz) + "<#>data<=>" + JSON.stringify(
|
||||
newQuestions) + "<#>subj<=>" + subj;
|
||||
console.log(sentData); // TODO
|
||||
SendXHRMessage(sentData);
|
||||
sendSuccess = true;
|
||||
}
|
||||
|
@ -1799,20 +1810,15 @@ function ShowMenuList() {
|
|||
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');
|
||||
uselocal.text = "Helyi fájlból (old school)";
|
||||
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");
|
||||
if (selected != undefined)
|
||||
|
@ -1959,8 +1965,6 @@ function NormalizeSpaces(input) {
|
|||
function SendXHRMessage(message) {
|
||||
|
||||
var url = serverAdress + "isAdding";
|
||||
console.log(url);
|
||||
console.log(message);
|
||||
GM_xmlhttpRequest({
|
||||
method: "POST",
|
||||
url: url,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue