Removed a db option (public), and fixed parsing results page

This commit is contained in:
YourFriendlyNeighborhoodDealer 2018-12-14 17:04:08 +01:00
parent 913277eb4a
commit 74bf725c93

80
main.js
View file

@ -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) {
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."; 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) {
var useNetDB = GM_getValue("useNetDB"); console.log("unable to get subject name :c");
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 + var useNetDB = GM_getValue("useNetDB");
"<#>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); 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,