diff --git a/main.js b/main.js index 961350c..001207f 100644 --- a/main.js +++ b/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)) - msg += "Az új kérdések elküldve."; + 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('

TXT-ben nem szereplő kérdések: ' + addedQ + '/' + allQ + '


' + + var towrite = '

TXT-ben nem szereplő kérdések: ' + addedQ + '/' + allQ + '


' + output.replace(/\n/g, '
') + '

Összes kérdés/válasz:

' + allOutput.replace( - /\n/g, '
') + "

Elküldött adatok (ha sikertelen, akkor undefined):

" + sentData); + /\n/g, '
'); + + var useNetDB = GM_getValue("useNetDB"); + if (useNetDB != undefined && useNetDB == 1) + towrite += "

Elküldött adatok:

" + 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) {} + } catch (e) { + console.log("unable to get subject name :c"); + } 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"); - } - sentData = "datatoadd=alldata<=>" + allOutput + "<#>data<=>" + dataToSend + "<#>subj<=>" + subj + - "<#>type<=>" + 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,