diff --git a/.gitmodules b/.gitmodules old mode 100644 new mode 100755 diff --git a/README.md b/README.md old mode 100644 new mode 100755 diff --git a/license b/license old mode 100644 new mode 100755 diff --git a/stable.user.js b/stable.user.js old mode 100644 new mode 100755 index 7cc69fb..e10b2ca --- a/stable.user.js +++ b/stable.user.js @@ -58,7 +58,6 @@ var data // all data, which is in the resource txt var addEventListener // add event listener function - const lastChangeLog = '- "Húzza a megfelelő helyre ..." kérdés lekezelése\n- Kód refactor\n- Ha valami elszállt: feedback pls' const serverAdress = 'https://qmining.frylabs.net/' // const serverAdress = 'http://localhost:8080/' @@ -74,6 +73,30 @@ var motd = '' var lastestVersion = '' + const huTexts = { + lastChangeLog: '- "Húzza a megfelelő helyre ..." kérdés lekezelése\n- Kód refactor\n- Ha valami elszállt: feedback pls', + passiveModeActivated: 'Passzív mód bekapcsolva, mostantól kérdések nem lesznek szervertől letöltve.', + passiveModeDeactivated: 'Passzív mód kikapcsolva, frissíts az érvénybe lépéshez!', + passiveModeActiveOnTest: 'Passzív mód bekapcsolva, válaszok megjelenítéséhez menü gomb alatt kapcsold ki, és frissíts!', + fatalError: 'Fatál error. Check console (f12). Kattints az üzenetre az összes kérdés/válaszért manuális kereséshez!', + consoleErrorInfo: 'Itteni hibák 100% a moodle hiba. Kivéve, ha oda van írva hogy script error ;) Ha ilyesmi szerepel itt, akkor olvasd el a segítség szekciót!', + freshStartWarning: '

Moodle teszt userscript:

1.5.0 verzió: a script mostantól XMLHTTP kéréseket küld szerver fele! Erre a userscript futtató kiegészitőd is figyelmeztetni fog! Ha ez történik, a script rendes működése érdekében engedélyezd (Always allow domain)! Ha nem akarod, hogy ez történjen, akkor ne engedélyezd, vagy a menüben válaszd ki a "helyi fájl használata" opciót!

Elküldött adatok: minden teszt után a kérdés-válasz páros. Fogadott adatok: Az összes eddig ismert kérdés. Érdemes help-et elolvasni!!!

Ez az ablak frissités után eltűnik. Ha nem, akkor a visza gombbal próbálkozz.
', + couldntLoadData: 'Nem sikerült betölteni az adatokat, előfordulhat hogy nem elérhető a szerver! Segítségért kattints!', + noResult: 'Nincs találat :( Kattints az üzenetre az összes kérdés/válaszért manuális kereséshez! Előfordulhat, hogy a tárgyat nem válsztottad ki a menüben.', + videoHelp: 'Miután elindítottad: Play/pause: space. Seek: Bal/jobb nyíl.', + menuButtonText: 'Kérdések Menu', + passiveModeText: 'Passzív mód', + passiveModeActivePopupMenuText: 'Passszív mód bekapcsolva. Kapcsold ki a kérdések betöltéséhez!', + couldntLoadDataPopupMenuText: 'A kérdéseket nem lehetett beolvasni, ellenőrizd hogy elérhető-e a szerver', + showGreetingOnEveryPage: 'Üdvözlő üzenet mutatása minden oldalon', + close: 'Bezárás', + help: 'Help', + websiteBugreport: 'Weboldal / Bug report', + donate: 'Donate' + } + + var texts = huTexts + const minResultMatchPercent = 99 /* Minimum ammount to consider that two questions match during saving */ // : question-classes {{{ @@ -933,7 +956,7 @@ if (count === -2 && subjCount === -2 && skipLoad) { if (url.includes('/quiz/') && url.includes('attempt.php')) { ShowMessage({ - m: 'Passzív mód bekapcsolva, válaszok megjelenítéséhez menü gomb alatt kapcsold ki, és frissíts!', + m: texts.passiveModeActiveOnTest, isSimple: true }) } @@ -949,7 +972,7 @@ } } catch (e) { ShowMessage({ - m: 'Fatál error. Check console (f12). Kattints az üzenetre az összes kérdés/válaszért manuális kereséshez!', + m: texts.fatalError, isSimple: true }, undefined, () => { OpenErrorPage(e) @@ -958,9 +981,7 @@ Exception(e, 'script error at main:') } if (url.includes('eduplayer')) { AddVideoHotkeys(url) } // adding video hotkeys - Log( - 'Itteni hibák 100% a moodle hiba. Kivéve, ha oda van írva hogy script error ;) Ha ilyesmi szerepel itt, akkor olvasd el a segítség szekciót!' - ) + Log(texts.consoleErrorInfo) } console.log('Moodle Test Script run time:') console.timeEnd('main') @@ -1045,9 +1066,7 @@ setVal('firstRun', false) ShowHelp() // showing help - document.write( - '

Moodle teszt userscript:

1.5.0 verzió: a script mostantól XMLHTTP kéréseket küld szerver fele! Erre a userscript futtató kiegészitőd is figyelmeztetni fog! Ha ez történik, a script rendes működése érdekében engedélyezd (Always allow domain)! Ha nem akarod, hogy ez történjen, akkor ne engedélyezd, vagy a menüben válaszd ki a "helyi fájl használata" opciót!

Elküldött adatok: minden teszt után a kérdés-válasz páros. Fogadott adatok: Az összes eddig ismert kérdés. Érdemes help-et elolvasni!!!

Ez az ablak frissités után eltűnik. Ha nem, akkor a visza gombbal próbálkozz.
' - ) + document.write(texts.freshStartWarning) document.close() throw new Error('something, so this stuff stops') } @@ -1122,7 +1141,7 @@ Log('Couldt parse data!') Log(e) ShowMessage({ - m: 'Nem sikerült betölteni az adatokat! Kattints a manualért', + m: texts.couldntLoadData, isSimple: true }, undefined, ShowHelp) } @@ -1185,6 +1204,7 @@ // : UI handling {{{ function HandleUI (url, count, subjCount) { + // FIXME: normal string building with localisation :/ var newVersion = false // if the script is newer than last start var loaded = count !== -1 // if script could load stuff @@ -1193,12 +1213,11 @@ } catch (e) { Log('Some weird error trying to set new verison') } - newVersion = true // TODO var greetMsg = '' // message to show at the end var timeout = null // the timeout. if null, it wont be hidden // no new version, nothing loaded if (!newVersion && !loaded) { // -------------------------------------------------------------------------------------------------------------- - greetMsg = 'Hiba a @resource tagnál, vagy a fileval van gond! (Lehet át lett helyezve, vagy üres, vagy nincs tárgy kiválasztva) Vagy válaszd a netes adatok használatát menüben. Ellenőrizd az elérési utat, vagy hogy a Tampermonkey bővítmény eléri-e a fájlokat. Ha netes forrást használsz, akkor nem elérhető a szerver! Segítségért kattints!' + greetMsg = texts.couldntLoadData } var showSplash = (getVal('showSplash') === undefined) || getVal('showSplash') // getting value, if splash screen should be shown. Its true, if its undefined, or true // no new version, everything loaded, and show splash is enabled. otherwise something happened, so showing it @@ -1226,16 +1245,16 @@ timeout = undefined } } else { - greetMsg += ' Az adatfájlban nem adtál meg nevet. Vagy nem elérhető a szerver. Katt a helpért!' + greetMsg += ' nem elérhető a szerver. Katt a helpért!' } } // new version, nothing loaded if (newVersion && !loaded) { // -------------------------------------------------------------------------------------------------------------- - greetMsg = 'Moodle/Elearning/KMOOC segéd v. ' + info().script.version + '. Új verzió!\n Írd át a @resouce tagnál az elírési utat! Kivéve ha üres a file, akkor töltsd fel :) Nincs kérdés betöltve! Segítséghez kattints. Changelog:\n' + lastChangeLog // showing changelog too + greetMsg = 'Moodle/Elearning/KMOOC segéd v. ' + info().script.version + '. Új verzió!\n Írd át a @resouce tagnál az elírési utat! Kivéve ha üres a file, akkor töltsd fel :) Nincs kérdés betöltve! Segítséghez kattints. Changelog:\n' + texts.lastChangeLog // showing changelog too } // new version, everything loaded -> set lastVerson to current if (newVersion && loaded) { // -------------------------------------------------------------------------------------------------------------- - greetMsg = 'Moodle/Elearning/KMOOC segéd v. ' + info().script.version + '. ' + count + ' kérdés és ' + subjCount + ' tárgy betöltve. Verzió frissítve ' + info().script.version + '-re. Changelog:\n' + lastChangeLog + greetMsg = 'Moodle/Elearning/KMOOC segéd v. ' + info().script.version + '. ' + count + ' kérdés és ' + subjCount + ' tárgy betöltve. Verzió frissítve ' + info().script.version + '-re. Changelog:\n' + texts.lastChangeLog setVal('lastVerson', info().script.version) // setting lastVersion } if (!SUtils.EmptyOrWhiteSpace(motd)) { @@ -1316,7 +1335,7 @@ ShowMessage(answers) } else { ShowMessage({ - m: 'Nincs találat :( Kattints az üzenetre az összes kérdés/válaszért manuális kereséshez! Előfordulhat, hogy a tárgyat nem válsztottad ki a menüben.', + m: texts.noResult, isSimple: true }, undefined, function () { OpenErrorPage({ @@ -1338,6 +1357,7 @@ } function ShowSaveQuizDialog (addedQ, allQ, allOutput, output, sendSuccess, sentData) { + // FIXME: normal string building with localisation :/ var msg = '' if (addedQ > 0) { msg = 'Klikk ide a nyers adatokhoz. ' + addedQ + ' új kérdés!' @@ -1581,8 +1601,7 @@ } }) var toadd = MPM.GetVideoElement() - var node = CreateNodeWithText(toadd, - 'Miután elindítottad: Play/pause: space. Seek: Bal/jobb nyíl.') + var node = CreateNodeWithText(toadd, texts.videoHelp) node.style.margin = '5px 5px 5px 5px' // fancy margin } @@ -1890,7 +1909,7 @@ // menu text // var menuTextBox = CreateNodeWithText(menuButtonDiv, "Kérdések\nMenü"); - var menuButton = CreateNodeWithText(menuButtonDiv, 'Kérdések Menu', 'button') + var menuButton = CreateNodeWithText(menuButtonDiv, texts.menuButtonText, 'button') menuButton.style.width = buttonWidth + 'px' menuButton.style.border = 'none' menuButton.style.height = buttonHeight - 20 + 'px' @@ -1921,9 +1940,9 @@ setVal('skipLoad', questionsTickBox.checked) var msg = '' if (getVal('skipLoad')) { - msg = 'Passzív mód bekapcsolva, mostantól kérdések nem lesznek szervertől letöltve.' + msg = texts.passiveModeActivated } else { - msg = 'Passzív mód kikapcsolva, frissíts az érvénybe lépéshez!' + msg = texts.passiveModeDeactivated } ShowMessage({ @@ -1931,8 +1950,7 @@ isSimple: true }, 6) }) - var loadDataCheckBoxText = CreateNodeWithText(questionsTickBox, - 'Passzív mód', 'span') + var loadDataCheckBoxText = CreateNodeWithText(questionsTickBox, texts.passiveModeText, 'span') loadDataCheckBoxText.style.fontSize = '12px' menuButtonDiv.appendChild(loadDataCheckBoxText) @@ -2088,11 +2106,11 @@ if (getVal('skipLoad')) { textBox = CreateNodeWithText(noDataRowCell, - 'Passszív mód bekapcsolva. Kapcsold ki a kérdések betöltéséhez!' + texts.passiveModeActivePopupMenuText ) } else { textBox = CreateNodeWithText(noDataRowCell, - 'A kérdéseket nem lehetett beolvasni, ellenőrizd hogy elérhető-e a szerver' + texts.couldntLoadDataPopupMenuText ) } textBox.style.margin = fiveMargin // fancy margin @@ -2116,7 +2134,7 @@ setVal('showSplash', splashTickBox.checked) }) // adding clicktextNode - CreateNodeWithText(splashTickboxCell, 'Üdvözlő üzenet mutatása minden oldalon', 'span') + CreateNodeWithText(splashTickboxCell, texts.showGreetingOnEveryPage, 'span') // setting up buttons var buttonRow = tbl.insertRow() @@ -2134,7 +2152,7 @@ cursor: 'pointer' } // x button ------------------------------------------------------------------------------------------------------------------------------ - let xButton = CreateNodeWithText(buttonCell, 'Bezárás', 'button') + let xButton = CreateNodeWithText(buttonCell, texts.close, 'button') Object.keys(buttonStyle).sort().forEach((key) => { xButton.style[key] = buttonStyle[key] }) @@ -2143,7 +2161,7 @@ CloseMenu() }) // adding clicktextNode // help button ---------------------------------------------------------------------------------------------------------------- - let helpButton = CreateNodeWithText(buttonCell, 'Help', 'button') + let helpButton = CreateNodeWithText(buttonCell, texts.help, 'button') Object.keys(buttonStyle).sort().forEach((key) => { helpButton.style[key] = buttonStyle[key] }) @@ -2154,7 +2172,7 @@ // site link ---------------------------------------------------------------------------------------------------------------- - let siteLink = CreateNodeWithText(buttonCell, 'Weboldal / Bug report', 'button') + let siteLink = CreateNodeWithText(buttonCell, texts.websiteBugreport, 'button') Object.keys(buttonStyle).sort().forEach((key) => { siteLink.style[key] = buttonStyle[key] }) @@ -2165,7 +2183,7 @@ // donate link ---------------------------------------------------------------------------------------------------------------- - let donateLink = CreateNodeWithText(buttonCell, 'Donate', 'button') + let donateLink = CreateNodeWithText(buttonCell, texts.donate, 'button') Object.keys(buttonStyle).sort().forEach((key) => { donateLink.style[key] = buttonStyle[key] })