Gebruiker:Rots61/Gadget-Opschonen.js: verschil tussen versies
Naar navigatie springen
Naar zoeken springen
(kleine tweak) |
|||
(61 tussenliggende versies door dezelfde gebruiker niet weergegeven) | |||
Regel 3: | Regel 3: | ||
// Documentatie op [[WikiKids:Opschonen]] |
// Documentatie op [[WikiKids:Opschonen]] |
||
var text; |
var text; |
||
+ | var api = new mw.Api(); |
||
− | function showProject (text) { |
||
+ | var alreadydone; |
||
− | // text = array |
||
+ | var Nummer; |
||
− | document.getElementsByTagName("h1")[0].textContent = "Speciaal:Opschonen"; |
||
− | document.title = "Opschonen - WikiKids"; |
||
− | tempgetal = 1; |
||
− | tempnumber = 1; |
||
− | var tabelstuk1 = '<th style="line-height:99%;vertical-align:bottom;padding:.4em .4em .2em;background-position:50% .4em !important;min-width:0.875em;max-width:0.875em;width:0.875em;overflow:hidden;"><div style="vertical-rl=-webkit-writing-mode: vertical-rl; -o-writing-mode: vertical-rl; -ms-writing-mode: tb-rl;writing-mode: tb-rl; writing-mode: vertical-rl; layout-flow: vertical-ideographic;transform:rotate(180deg);display:inline-block;padding-left:1px;text-align:left;">Gecontroleerd</div></th>'; |
||
− | var tabelstuk2 = '<th style="line-height:99%;vertical-align:bottom;padding:.4em .4em .2em;background-position:50% .4em !important;min-width:0.875em;max-width:0.875em;width:0.875em;overflow:hidden;"><div style="vertical-rl=-webkit-writing-mode: vertical-rl; -o-writing-mode: vertical-rl; -ms-writing-mode: tb-rl;writing-mode: tb-rl; writing-mode: vertical-rl; layout-flow: vertical-ideographic;transform:rotate(180deg);display:inline-block;padding-left:1px;text-align:left;">Niet aangepast</div></th>'; |
||
− | var tabelstuk3 = '<th style="line-height:99%;vertical-align:bottom;padding:.4em .4em .2em;background-position:50% .4em !important;min-width:0.875em;max-width:0.875em;width:0.875em;overflow:hidden;"><div style="vertical-rl=-webkit-writing-mode: vertical-rl; -o-writing-mode: vertical-rl; -ms-writing-mode: tb-rl;writing-mode: tb-rl; writing-mode: vertical-rl; layout-flow: vertical-ideographic;transform:rotate(180deg);display:inline-block;padding-left:1px;text-align:left;">Niet bekeken</div></th>'; |
||
− | tabel = "Deze artikels kun je controleren. Je hoeft niet alle onderstaande artikels te controleren. Dat mag natuurlijk wel. Opmerking is niet nodig, het mag wel. " |
||
− | + '<br>Opslaan duurt een paar seconden, wacht totdat je ziet dat de wijziging is doorgevoerd. Als je meer specifiek wil controleren klik dan <a href="https://wikikids.nl/Speciaal:Opschonen?action=help">hier</a>.' |
||
− | + '<br><input type="text" id="addarticle" name="addarticle"> <button onclick="addArticleToList()">Voeg toe</button><br><button onclick="loadCookie()">Laad toegevoegde pagina\'s</button>' |
||
− | + '<table class="wikitable"> <tbody> <tr> <th width="300"><div style="float: left; text-align: left">Pagina</div><div style="float: right; text-align: right">Gebruiker</div></th>' + tabelstuk1 + tabelstuk2 + tabelstuk3 + '<th width="1">Opmerking<br><span style="color:gray;">van de andere gebruiker</span></th> <th>Thema</th> </tr>'; |
||
− | showAantal = mw.util.getParamValue('aantal'); |
||
− | showAll = mw.util.getParamValue('allepaginas'); |
||
− | showSkipDone = mw.util.getParamValue('notdone'); |
||
− | //Zorg ervoor dat je al gecontroleerde pagina's niet ziet |
||
− | showSkipThema = mw.util.getParamValue('notthema'); |
||
− | //Zorg ervoor dat je al bekeken pagina's niet ziet |
||
− | showDone = mw.util.getParamValue('done'); |
||
− | //Zorg ervoor dat je alle gecontroleerde pagina's ziet |
||
− | showThema = mw.util.getParamValue('thema'); |
||
− | //Zorg ervoor dat je alle pagina's ziet met een thema |
||
− | showUser = mw.util.getParamValue('user'); |
||
− | //Zorg ervoor dat je alle pagina's ziet waar deze gebruiker bij staat. |
||
− | showStartwith = mw.util.getParamValue('Startwith'); |
||
− | showTo = mw.util.getParamValue('to'); |
||
− | showFrom = mw.util.getParamValue('from'); |
||
− | if (showAantal === 'max') { |
||
− | showAantal = text.length -1; |
||
− | showMax = true; |
||
− | showAll = true; |
||
− | } else if (showAantal) { |
||
− | showAantal = parseInt(showAantal) + 1; |
||
− | } else if (showAll) { |
||
− | showAantal = text.length -1; |
||
− | } |
||
− | if ((showThema || showDone) || (showSkipThema || (showSkipDone || (showTo || (showFrom || (showUser || (showStartwith || showAantal ))))))) { |
||
− | } else { |
||
− | showAantal=51; |
||
− | showSkipDone = true; |
||
− | } |
||
− | lengtetext = text.length; |
||
− | while (tempnumber !== showAantal) { |
||
− | Artikeln[tempgetal] = getURLParamNumber(text); |
||
− | if (Artikeln[tempgetal] === 'exit') { |
||
− | tempnumber = -1; |
||
− | showAantal = -1; |
||
− | } else { |
||
− | Artikelr[tempgetal] = text[Artikeln[tempgetal]]["N"]; |
||
− | if (text[Artikeln[tempgetal]]["D"]) { |
||
− | gedaan[tempgetal] = " disabled"; |
||
− | text[Artikeln[tempgetal]]["T"] = " "; |
||
− | linkextra[tempgetal] = "Done"; |
||
− | Knop1x[tempgetal] = ""; |
||
− | Knop2x[tempgetal] = ""; |
||
− | Knop3x[tempgetal] = '<td colspan="3" style="color:green; font-weight: bold; text-align: center;">Gedaan</td>'; |
||
− | } else { |
||
− | gedaan[tempgetal] = ""; |
||
− | linkextra[tempgetal] = "Niet"; |
||
− | Knop1x[tempgetal] = '<td><input type="radio" id="Radio1.' + tempgetal + '" name="Knop' + tempgetal + '" onclick="Change1(' + tempgetal + ');"></td>'; |
||
− | Knop2x[tempgetal] = '<td><input type="radio" id="Radio2.' + tempgetal + '" name="Knop' + tempgetal + '" onclick="Change2(' + tempgetal + ');"></td>'; |
||
− | Knop3x[tempgetal] = '<td><input type="radio" id="Radio3.' + tempgetal + '" name="Knop' + tempgetal + '" onclick="Change3(' + tempgetal + ');"></td>'; |
||
+ | function showProjectOpschonen(text) { |
||
− | } |
||
+ | // text = array |
||
− | if (text[Artikeln[tempgetal]]["U"]){ |
||
+ | document.getElementsByTagName("h1")[0].textContent = "Speciaal:Opschonen"; |
||
− | vorigeuser[tempgetal] = ' <div style="float: right; font-weight: bold; text-align: right">' + text[Artikeln[tempgetal]]["U"] + '</div>'; |
||
+ | document.title = "Opschonen - WikiKids"; |
||
− | } else { |
||
− | + | tempgetal = 1; |
|
+ | tempnumber = 1; |
||
− | } |
||
+ | var tabelstuk1 = '<th style="line-height:99%;vertical-align:bottom;padding:.4em .4em .2em;background-position:50% .4em !important;min-width:0.875em;max-width:0.875em;width:0.875em;overflow:hidden;"><div style="vertical-rl=-webkit-writing-mode: vertical-rl; -o-writing-mode: vertical-rl; -ms-writing-mode: tb-rl;writing-mode: tb-rl; writing-mode: vertical-rl; layout-flow: vertical-ideographic;transform:rotate(180deg);display:inline-block;padding-left:1px;text-align:left;">Gecontroleerd</div></th>'; |
||
− | if (text[Artikeln[tempgetal]]["O"]){ |
||
+ | var tabelstuk3 = '<th style="line-height:99%;vertical-align:bottom;padding:.4em .4em .2em;background-position:50% .4em !important;min-width:0.875em;max-width:0.875em;width:0.875em;overflow:hidden;"><div style="vertical-rl=-webkit-writing-mode: vertical-rl; -o-writing-mode: vertical-rl; -ms-writing-mode: tb-rl;writing-mode: tb-rl; writing-mode: vertical-rl; layout-flow: vertical-ideographic;transform:rotate(180deg);display:inline-block;padding-left:1px;text-align:left;">Niet bekeken</div></th>'; |
||
− | Opmerking[tempgetal] = text[Artikeln[tempgetal]]["O"]; |
||
+ | tabel = "Deze artikels kun je controleren. Je hoeft niet alle onderstaande artikels te controleren. Dat mag natuurlijk wel. " |
||
− | } else { |
||
+ | + 'Als je specifieker wilt controleren klik dan <a href="https://wikikids.nl/Speciaal:Opschonen?action=help">hier</a>. <br>Er zijn ook statistieken beschikbaar voor deze pagina, deze kun je <a href="https://wikikids.nl/Speciaal:Opschonen?action=stats">hier</a> vinden. ' |
||
− | Opmerking[tempgetal] = '<input type="text" id=Opmerking' + tempgetal + ' name=Opmerking' + tempgetal + ' size=70">'; |
||
+ | + 'Om ervoor te zorgen dat je niets verliest, wordt je altijd gevraagd of je de pagina af wilt sluiten. ' |
||
− | } |
||
+ | + '<br><input type="text" id="addarticle" name="addarticle"> <button onclick="addArticleToListOpschonen()">Voeg toe</button><br>' |
||
− | if (text[Artikeln[tempgetal]]["T"]){ |
||
+ | + '<table class="wikitable"><tbody><tr> <th width="300"><div style="float: left; text-align: left">Pagina</div><div style="float: right; text-align: right">Gebruiker</div></th>' + tabelstuk1 + tabelstuk3 + '<th width="1">Opmerking<br><span style="color:gray;">van de andere gebruiker</span></th></tr>'; |
||
− | Thema[tempgetal] = '<center>' + text[Artikeln[tempgetal]]["T"] + '</center>'; |
||
+ | showAantal = mw.util.getParamValue('aantal'); |
||
− | } else { |
||
+ | showAll = mw.util.getParamValue('allepaginas'); |
||
− | Thema[tempgetal] = '<input type="text" id=Thema' + tempgetal + ' name=Thema' + tempgetal + ' size=10">'; |
||
+ | showSkipDone = mw.util.getParamValue('notdone'); |
||
− | } |
||
+ | //Zorg ervoor dat je al gecontroleerde pagina's niet ziet |
||
− | console.log(Artikeln[tempgetal] + ": " + Artikelr[tempgetal]); |
||
+ | showDone = mw.util.getParamValue('done'); |
||
− | Artikellink[tempgetal] = '<a href="https://wikikids.nl/' + Artikelr[tempgetal] + '?projectopschonen=x&checked=' + linkextra[tempgetal] +'" target="_blank">' + Artikelr[tempgetal] + '</a>' + vorigeuser[tempgetal]; |
||
+ | //Zorg ervoor dat je alle pagina's ziet waar deze gebruiker bij staat. |
||
− | tabel += '<tr> <td>' + Artikellink[tempgetal] + '</td>' + Knop1x[tempgetal] + Knop2x[tempgetal] + Knop3x[tempgetal] + '<td>' + Opmerking[tempgetal] + '</td> <td>' + Thema[tempgetal] + '</td> </tr>'; |
||
+ | showUser = mw.util.getParamValue('user'); |
||
− | tempgetal += 1; |
||
+ | showStartwith = mw.util.getParamValue('startwith'); |
||
− | if (showMax) { |
||
+ | showTo = mw.util.getParamValue('to'); |
||
− | tempnumber = allNummer; |
||
+ | showFrom = mw.util.getParamValue('from'); |
||
− | } else { |
||
+ | if (showAantal === 'max') { |
||
− | tempnumber = tempgetal; |
||
+ | showAantal = text.length - 1; |
||
− | } |
||
+ | showMax = true; |
||
− | } |
||
+ | showAll = true; |
||
− | } |
||
+ | } else if (showAantal) { |
||
− | // text = array |
||
+ | showAantal = parseInt(showAantal) + 1; |
||
− | eindetabel += '</tbody></table> <button onclick="startIT()">Opslaan</button>'; |
||
+ | } else if (showAll) { |
||
− | document.getElementById('bodyContent').innerHTML = tabel + eindetabel; |
||
+ | showAantal = text.length - 1; |
||
− | mw.notify("Welkom!"); |
||
+ | } |
||
− | } |
||
+ | if ( showDone || (showSkipDone || (showTo || (showFrom || (showUser || (showStartwith || showAantal)))))) { |
||
+ | } else { |
||
+ | showAantal = 51; |
||
+ | showSkipDone = true; |
||
+ | } |
||
+ | lengtetext = text.length; |
||
+ | while (tempnumber !== showAantal) { |
||
+ | Artikeln[tempgetal] = getURLParamNumberOpschonen(text); |
||
+ | if (Artikeln[tempgetal] === 'exit') { |
||
+ | tempnumber = -1; |
||
+ | showAantal = -1; |
||
+ | } else { |
||
+ | Artikelr[tempgetal] = text[Artikeln[tempgetal]]["N"]; |
||
+ | if (text[Artikeln[tempgetal]]["D"]) { |
||
+ | gedaan[tempgetal] = " disabled"; |
||
+ | linkextra[tempgetal] = "Done"; |
||
+ | Knop1x[tempgetal] = ""; |
||
+ | Knop3x[tempgetal] = '<td colspan="2" style="color:green; font-weight: bold; text-align: center;">Gedaan</td>'; |
||
+ | } else { |
||
+ | gedaan[tempgetal] = ""; |
||
+ | linkextra[tempgetal] = "Niet"; |
||
+ | Knop1x[tempgetal] = '<td><input type="radio" id="Radio1.' + tempgetal + '" name="Knop' + tempgetal + '" onclick="Change1Opschonen(' + tempgetal + ');"></td>'; |
||
+ | Knop3x[tempgetal] = '<td><input type="radio" id="Radio3.' + tempgetal + '" name="Knop' + tempgetal + '" onclick="Change3Opschonen(' + tempgetal + ');"></td>'; |
||
+ | } |
||
− | function getURLParamNumber (text, nummer) { |
||
+ | if (text[Artikeln[tempgetal]]["U"]) { |
||
− | willekeuriggetal = 0; |
||
+ | vorigeuser[tempgetal] = ' <div style="float: right; font-weight: bold; text-align: right">' + text[Artikeln[tempgetal]]["U"] + '</div>'; |
||
− | while (willekeuriggetal === 0) { |
||
+ | } else { |
||
− | willekeuriggetal = getRandomNumber(text.length); |
||
+ | vorigeuser[tempgetal] = ""; |
||
− | if (willekeuriggetal === text.length) { |
||
+ | } |
||
− | return 'exit'; |
||
+ | if (text[Artikeln[tempgetal]]["O"]) { |
||
− | } else { |
||
+ | Opmerking[tempgetal] = text[Artikeln[tempgetal]]["O"]; |
||
− | if (showUser) { |
||
+ | } else { |
||
− | if (text[willekeuriggetal]["U"] === showUser) { |
||
+ | Opmerking[tempgetal] = '<input type="text" id=Opmerking' + tempgetal + ' name=Opmerking' + tempgetal + ' size=70">'; |
||
− | } else { |
||
+ | } |
||
− | willekeuriggetal = 0; |
||
+ | console.log(Artikeln[tempgetal] + ": " + Artikelr[tempgetal]); |
||
− | } |
||
+ | Artikellink[tempgetal] = '<a href="https://wikikids.nl/' + Artikelr[tempgetal] + '?projectopschonen=x&opschonengecontroleerd=' + linkextra[tempgetal] + '" target="_blank">' + Artikelr[tempgetal] + '</a>' + vorigeuser[tempgetal]; |
||
− | } |
||
+ | tabel += '<tr> <td>' + Artikellink[tempgetal] + '</td>' + Knop1x[tempgetal] + Knop3x[tempgetal] + '<td>' + Opmerking[tempgetal] + '</td> </tr>'; |
||
− | if (showThema) { |
||
+ | tempgetal += 1; |
||
− | if (text[willekeuriggetal]["T"]) { |
||
+ | if (showMax) { |
||
− | } else { |
||
+ | tempnumber = allNummer; |
||
− | willekeuriggetal = 0; |
||
+ | } else { |
||
− | } |
||
+ | tempnumber = tempgetal; |
||
− | } else if (showSkipThema) { |
||
+ | } |
||
− | if (text[willekeuriggetal]["T"]) { |
||
+ | } |
||
− | willekeuriggetal = 0; |
||
+ | } |
||
− | } |
||
+ | // text = array |
||
− | } |
||
+ | eindetabel += '</tbody></table> <button onclick="startITOpschonen()">Opslaan</button> Dit kan een paar seconden duren. Wacht totdat je ziet dat de wijziging is opgeslagen. '; |
||
− | if (showDone) { |
||
+ | document.getElementById('bodyContent').innerHTML = tabel + eindetabel; |
||
− | if (text[willekeuriggetal]["D"]) { |
||
+ | mw.notify("Welkom!"); |
||
− | } else { |
||
− | willekeuriggetal = 0; |
||
− | } |
||
− | } else if (showSkipDone) { |
||
− | if (text[willekeuriggetal]["D"]) { |
||
− | willekeuriggetal = 0; |
||
− | } |
||
− | } |
||
− | if (showStartwith) { |
||
− | var re = new RegExp('^' + showStartwith,"g"); |
||
− | if (text[willekeuriggetal]["N"] !== text[willekeuriggetal]["N"].replace(re, "newstring")) { |
||
− | console.log(text[willekeuriggetal]["N"]); |
||
− | } else { |
||
− | willekeuriggetal = 0; |
||
− | } |
||
− | } |
||
− | if (showFrom) { |
||
− | if (text[willekeuriggetal]["N"]) { |
||
− | |||
− | } |
||
− | if (showTo) { |
||
− | if (text[willekeuriggetal]["N"]) { |
||
− | } |
||
− | } |
||
− | } |
||
− | } |
||
− | } |
||
− | return willekeuriggetal; |
||
} |
} |
||
+ | function getURLParamNumberOpschonen(text, nummer) { |
||
+ | willekeuriggetal = 0; |
||
+ | while (willekeuriggetal === 0) { |
||
+ | willekeuriggetal = getRandomNumberOpschonen(text.length); |
||
+ | if (willekeuriggetal === text.length) { |
||
+ | return 'exit'; |
||
+ | } else { |
||
+ | if (showUser) { |
||
+ | if (text[willekeuriggetal]["U"] === showUser) { |
||
+ | } else { |
||
+ | willekeuriggetal = 0; |
||
+ | } |
||
+ | } |
||
+ | if (showDone) { |
||
+ | if (text[willekeuriggetal]["D"]) { |
||
+ | } else { |
||
+ | willekeuriggetal = 0; |
||
+ | } |
||
+ | } else if (showSkipDone) { |
||
+ | if (text[willekeuriggetal]["D"]) { |
||
+ | willekeuriggetal = 0; |
||
+ | } |
||
+ | } |
||
+ | if (showStartwith) { |
||
+ | var re = new RegExp('^' + showStartwith, "g"); |
||
+ | if (text[willekeuriggetal]["N"] !== text[willekeuriggetal]["N"].replace(re, "newstring")) { |
||
+ | console.log(text[willekeuriggetal]["N"]); |
||
+ | } else { |
||
+ | willekeuriggetal = 0; |
||
+ | } |
||
+ | } |
||
+ | if (showFrom) { |
||
+ | if (text[willekeuriggetal]["N"]) { |
||
+ | } |
||
− | function Change1(getal){ |
||
+ | if (showTo) { |
||
− | if (!document.getElementById('Thema' + getal).disabled) { |
||
+ | if (text[willekeuriggetal]["N"]) { |
||
− | Thematemp[getal] = document.getElementById('Thema' + getal).value; |
||
+ | } |
||
− | } |
||
+ | } |
||
− | document.getElementById('Thema' + getal).disabled = true; |
||
+ | } |
||
− | document.getElementById('Opmerking' + getal).disabled = false; |
||
+ | } |
||
− | document.getElementById('Thema' + getal).value = ""; |
||
+ | } |
||
− | Opmerkingtempx = document.getElementById('Opmerking' + getal).value; |
||
+ | return willekeuriggetal; |
||
− | document.getElementById('Opmerking' + getal).value = Opmerkingtemp[getal] ? Opmerkingtemp[getal] : Opmerkingtempx ? Opmerkingtempx : ""; |
||
+ | } |
||
+ | function Change1Opschonen(getal) { |
||
+ | document.getElementById('Opmerking' + getal).disabled = false; |
||
+ | Opmerkingtempx = document.getElementById('Opmerking' + getal).value; |
||
+ | document.getElementById('Opmerking' + getal).value = Opmerkingtemp[getal] ? Opmerkingtemp[getal] : Opmerkingtempx ? Opmerkingtempx : ""; |
||
} |
} |
||
− | function |
+ | function Change3Opschonen(getal) { |
− | + | Opmerkingtemp[getal] = document.getElementById('Opmerking' + getal).value; |
|
− | + | document.getElementById('Opmerking' + getal).disabled = true; |
|
− | + | document.getElementById('Opmerking' + getal).value = ""; |
|
− | document.getElementById('Opmerking' + getal).disabled = false; |
||
− | document.getElementById('Thema' + getal).value = Thematemp[getal] ? Thematemp[getal] : Thematempx ? Thematempx : ""; |
||
− | document.getElementById('Opmerking' + getal).value = Opmerkingtemp[getal] ? Opmerkingtemp[getal] : Opmerkingtempx ? Opmerkingtempx : ""; |
||
} |
} |
||
− | function |
+ | function fromPageaddPageOpschonen() { |
+ | var text; |
||
− | if (!document.getElementById('Thema' + getal).disabled) { |
||
+ | var artikel; |
||
− | Thematemp[getal] = document.getElementById('Thema' + getal).value; |
||
+ | var checkconfirm; |
||
− | } |
||
+ | var checkopmerking; |
||
− | if (!document.getElementById('Opmerking' + getal).disabled) { |
||
+ | getJSONTextOpschonen().done(function (text) { |
||
− | Opmerkingtemp[getal] = document.getElementById('Opmerking' + getal).value; |
||
+ | fromPageCheckOnListOpschonen(text); |
||
− | } |
||
+ | }); |
||
− | document.getElementById('Thema' + getal).disabled = true; |
||
− | document.getElementById('Opmerking' + getal).disabled = true; |
||
− | document.getElementById('Thema' + getal).value = ""; |
||
− | document.getElementById('Opmerking' + getal).value = ""; |
||
} |
} |
||
− | function |
+ | function fromPageCheckOnListOpschonen(text) { |
+ | if (!Array.isArray(text)) { |
||
− | cookiecount = parseInt(mw.storage.get( "gadget-opschonen-count")); |
||
+ | text = JSON.parse(text); |
||
− | while (cookiecount !== 0) { |
||
+ | } |
||
− | artikel = mw.storage.get("gadget-opschonen-" + cookiecount); |
||
+ | if (!text[1]["N"]) { |
||
− | console.log("Cookiecount: " + cookiecount); |
||
+ | text = JSON.parse(text); |
||
− | addArticleToList(artikel); |
||
+ | } |
||
− | mw.storage.remove("gadget-opschonen-" + cookiecount); |
||
+ | addarticle = mw.config.get('wgPageName').replace(/ /g, '_'); |
||
− | cookiecount -= 1; |
||
+ | for (var i = 0, iLen = text.length; i < iLen; i++) { |
||
− | } |
||
+ | if (text[i].N == addarticle) Nummer = i; |
||
− | mw.storage.set("gadget-opschonen-count", 0); |
||
+ | } |
||
+ | if (!Nummer) { |
||
+ | api.get({ |
||
+ | action: "query", |
||
+ | titles: addarticle, |
||
+ | redirects: true, |
||
+ | }).then(function (ret) { |
||
+ | if (ret.query.redirects) { |
||
+ | alreadydone = true; |
||
+ | mw.notify("Pagina is een redirect."); |
||
+ | } else { |
||
+ | $.each(ret.query.pages, function () { |
||
+ | if (this.missing !== "") { |
||
+ | if (this.ns === 0) { |
||
+ | Nummer = text.length; |
||
+ | text[text.length] = { "N": addarticle, "D": "D", "U": mw.config.get('wgUserName') }; |
||
+ | } else { |
||
+ | alreadydone = true; |
||
+ | mw.notify("Pagina staat niet in de hoofdnaamruimte."); |
||
+ | } |
||
+ | } else { |
||
+ | alreadydone = true; |
||
+ | mw.notify("Pagina bestaat niet. "); |
||
+ | } |
||
+ | }, function (error) { |
||
+ | }); |
||
+ | } |
||
+ | }); |
||
+ | } else if (text[Nummer]["D"] === "D") { |
||
+ | mw.notify("Dit aritkel is al gecontroleerd door " + text[Nummer]["U"]); |
||
+ | alreadydone = true; |
||
+ | } else { |
||
+ | text[Nummer]["D"] = "D"; |
||
+ | text[Nummer]["U"] = mw.config.get('wgUserName'); |
||
+ | } |
||
+ | fromPageSaveOpschonen(text); |
||
} |
} |
||
− | function |
+ | function fromPageSaveOpschonen(text) { |
+ | if (alreadydone) { |
||
− | var cookiecount = 0; |
||
+ | } else if (!Nummer) { |
||
− | if (mw.storage.get( "gadget-opschonen-count")) { |
||
+ | setTimeout(function () {fromPageSaveOpschonen(text)}, 250); |
||
− | cookiecount = parseInt(mw.storage.get( "gadget-opschonen-count")); |
||
+ | } else { |
||
− | } |
||
+ | checkopmerking = prompt("Mogelijke opmerking over het artikel: "); |
||
− | cookiecount += 1; |
||
+ | if (checkopmerking === null) { |
||
− | mw.storage.set("gadget-opschonen-count", cookiecount); |
||
+ | } else if (checkopmerking === '') { |
||
− | mw.storage.set("gadget-opschonen-" + cookiecount, mw.config.get( 'wgPageName' ), 2629743); |
||
+ | editPageNowOpschonen(text); |
||
− | mw.notify("Toegevoegd"); |
||
+ | } else { |
||
+ | text[Nummer]["O"] = checkopmerking; |
||
+ | editPageNowOpschonen(text); |
||
+ | } |
||
+ | } |
||
} |
} |
||
+ | function addArticleToListOpschonen(artikel) { |
||
− | |||
+ | if (!text[1]["N"]) { |
||
− | function addArticleToList (artikel) { |
||
+ | text = JSON.parse(text); |
||
− | if (!text[1]["N"]) { |
||
+ | } |
||
− | text = JSON.parse(text); |
||
+ | addarticle = undefined; |
||
− | } |
||
+ | var comesfromcookie; |
||
− | addarticle = undefined; |
||
− | + | if (artikel) { |
|
− | + | addarticle = artikel; |
|
+ | comesfromcookie = true; |
||
− | } else { |
||
+ | } else { |
||
− | addarticle = document.getElementById('addarticle').value.replace(' ', '_'); |
||
+ | addarticle = document.getElementById('addarticle').value.replace(/ /g, '_'); |
||
− | } |
||
+ | } |
||
− | for (var i=0, iLen=text.length; i<iLen; i++) { |
||
+ | for (var i = 0, iLen = text.length; i < iLen; i++) { |
||
− | if (text[i].N == addarticle) Nummer = i; |
||
+ | if (text[i].N == addarticle) Nummer = i; |
||
− | } |
||
+ | } |
||
− | if (!Nummer) { |
||
+ | if (!Nummer) { |
||
− | mw.notify("Deze pagina staat niet op de lijst. Hij is dus later aangemaakt of al eerder gecontroleerd."); |
||
+ | api.get({ |
||
− | } else { |
||
+ | action: "query", |
||
− | tempgetal = 1; |
||
+ | titles: addarticle, |
||
− | var gewenstelengte = Artikelr.length; |
||
+ | redirects: true, |
||
− | console.log(gewenstelengte + ":" + tempgetal); |
||
+ | }).then(function (ret) { |
||
− | while (tempgetal !== gewenstelengte ) { |
||
+ | if (ret.query.redirects) { |
||
− | Waardes['Radio1'][tempgetal] = document.getElementById('Radio1.' + tempgetal).checked; |
||
+ | mw.notify("Pagina is een redirect, kan niet gecontroleerd worden."); |
||
− | Waardes['Radio2'][tempgetal] = document.getElementById('Radio2.' + tempgetal).checked; |
||
+ | } else { |
||
− | Waardes['Radio3'][tempgetal] = document.getElementById('Radio3.' + tempgetal).checked; |
||
+ | $.each(ret.query.pages, function () { |
||
− | Waardes['Opmerking'][tempgetal] = document.getElementById('Opmerking' + tempgetal).value; |
||
+ | if (this.missing !== "") { |
||
− | Waardes['Thema'][tempgetal] = document.getElementById('Thema' + tempgetal).value; |
||
+ | if (this.ns === 0) { |
||
− | Waardes['Themadis'][tempgetal] = document.getElementById('Thema' + tempgetal).disabled; |
||
+ | Nummer = text.length; |
||
− | Waardes['Opmerkingdis'][tempgetal] = document.getElementById('Opmerking' + tempgetal).disabled; |
||
+ | text[text.length] = { "N": addarticle }; |
||
− | console.log(Waardes); |
||
+ | } else { |
||
− | tempgetal +=1; |
||
+ | mw.notify("Pagina staat niet in de hoofdnaamruimte."); |
||
− | } |
||
+ | } |
||
− | console.log("X"); |
||
+ | } else { |
||
− | tempgetal = Artikelr.length; |
||
+ | mw.notify("Pagina bestaat niet. "); |
||
− | Artikeln[tempgetal] = Nummer; |
||
+ | } |
||
− | Artikelr[tempgetal] = text[Artikeln[tempgetal]]["N"]; |
||
+ | }, function (error) { |
||
− | if (text[Artikeln[tempgetal]]["D"]) { |
||
+ | }); |
||
− | gedaan[tempgetal] = " disabled"; |
||
+ | } |
||
− | text[Artikeln[tempgetal]]["T"] = " "; |
||
+ | }); |
||
− | linkextra[tempgetal] = "Done"; |
||
+ | } |
||
− | Knop1x[tempgetal] = ""; |
||
+ | if (Nummer) { |
||
− | Knop2x[tempgetal] = ""; |
||
+ | tempgetal = 1; |
||
− | Knop3x[tempgetal] = '<td colspan="3" style="color:green; font-weight: bold;">Gedaan</td>'; |
||
+ | var gewenstelengte = Artikelr.length; |
||
− | } else { |
||
+ | if (gewenstelengte === 0) { |
||
− | gedaan[tempgetal] = ""; |
||
+ | gewenstelengte = 1; |
||
− | linkextra[tempgetal] = "Niet"; |
||
+ | tempgetal = 1; |
||
− | Knop1x[tempgetal] = '<td><input type="radio" id="Radio1.' + tempgetal + '" name="Knop' + tempgetal + '" onclick="Change1(' + tempgetal + ');"></td>'; |
||
+ | } |
||
− | Knop2x[tempgetal] = '<td><input type="radio" id="Radio2.' + tempgetal + '" name="Knop' + tempgetal + '" onclick="Change2(' + tempgetal + ');"></td>'; |
||
+ | console.log(gewenstelengte + ":" + tempgetal); |
||
− | Knop3x[tempgetal] = '<td><input type="radio" id="Radio3.' + tempgetal + '" name="Knop' + tempgetal + '" onclick="Change3(' + tempgetal + ');"></td>'; |
||
+ | while (tempgetal !== gewenstelengte) { |
||
− | } |
||
− | + | if (document.getElementById('Radio1.' + tempgetal)) { |
|
+ | Waardes['Radio1'][tempgetal] = document.getElementById('Radio1.' + tempgetal).checked; |
||
− | vorigeuser[tempgetal] = ' <div style="float: right; font-weight: bold; text-align: right">' + text[Artikeln[tempgetal]]["U"] + '</div>'; |
||
+ | Waardes['Radio3'][tempgetal] = document.getElementById('Radio3.' + tempgetal).checked; |
||
− | } else { |
||
+ | Waardes['Opmerking'][tempgetal] = document.getElementById('Opmerking' + tempgetal).value; |
||
− | vorigeuser[tempgetal] = ""; |
||
+ | Waardes['Opmerkingdis'][tempgetal] = document.getElementById('Opmerking' + tempgetal).disabled; |
||
− | } |
||
+ | } |
||
− | if (text[Artikeln[tempgetal]]["O"]){ |
||
− | + | tempgetal += 1; |
|
+ | } |
||
− | } else { |
||
+ | tempgetal = Artikelr.length; |
||
− | Opmerking[tempgetal] = '<input type="text" id=Opmerking' + tempgetal + ' name=Opmerking' + tempgetal + ' size=70">'; |
||
+ | Artikeln[tempgetal] = Nummer; |
||
− | } |
||
− | + | Artikelr[tempgetal] = text[Artikeln[tempgetal]]["N"]; |
|
− | + | if (text[Artikeln[tempgetal]]["D"]) { |
|
+ | gedaan[tempgetal] = " disabled"; |
||
− | } else { |
||
+ | linkextra[tempgetal] = "Done"; |
||
− | Thema[tempgetal] = '<input type="text" id=Thema' + tempgetal + ' name=Thema' + tempgetal + ' size=10">'; |
||
+ | Knop1x[tempgetal] = ""; |
||
− | } |
||
+ | Knop3x[tempgetal] = '<td colspan="2" style="color:green; font-weight: bold;">Gedaan</td>'; |
||
− | console.log(Artikeln[tempgetal] + ": " + Artikelr[tempgetal]); |
||
+ | } else { |
||
− | Artikellink[tempgetal] = '<a href="https://wikikids.nl/' + Artikelr[tempgetal] + '?projectopschonen=x&checked=' + linkextra[tempgetal] +'" target="_blank">' + Artikelr[tempgetal] + '</a>' + vorigeuser[tempgetal]; |
||
+ | gedaan[tempgetal] = ""; |
||
− | tabel += '<tr> <td>' + Artikellink[tempgetal] + '</td>' + Knop1x[tempgetal] + Knop2x[tempgetal] + Knop3x[tempgetal] + '<td>' + Opmerking[tempgetal] + '</td> <td>' + Thema[tempgetal] + '</td> </tr>'; |
||
+ | linkextra[tempgetal] = "Niet"; |
||
− | mw.notify("Artikel toegevoegd op deze pagina."); |
||
+ | Knop1x[tempgetal] = '<td><input type="radio" id="Radio1.' + tempgetal + '" name="Knop' + tempgetal + '" onclick="Change1Opschonen(' + tempgetal + ');"></td>'; |
||
− | document.getElementById('bodyContent').innerHTML = tabel + eindetabel; |
||
+ | Knop3x[tempgetal] = '<td><input type="radio" id="Radio3.' + tempgetal + '" name="Knop' + tempgetal + '" onclick="Change3Opschonen(' + tempgetal + ');"></td>'; |
||
− | tempgetal = 1; |
||
+ | } |
||
− | while (tempgetal !== gewenstelengte ) { |
||
+ | if (text[Artikeln[tempgetal]]["U"]) { |
||
− | document.getElementById('Radio1.' + tempgetal).checked = Waardes['Radio1'][tempgetal]; |
||
+ | vorigeuser[tempgetal] = ' <div style="float: right; font-weight: bold; text-align: right">' + text[Artikeln[tempgetal]]["U"] + '</div>'; |
||
− | document.getElementById('Radio2.' + tempgetal).checked = Waardes['Radio2'][tempgetal]; |
||
+ | } else { |
||
− | document.getElementById('Radio3.' + tempgetal).checked = Waardes['Radio3'][tempgetal]; |
||
+ | vorigeuser[tempgetal] = ""; |
||
− | document.getElementById('Opmerking' + tempgetal).value = Waardes['Opmerking'][tempgetal]; |
||
+ | } |
||
− | document.getElementById('Thema' + tempgetal).value = Waardes['Thema'][tempgetal]; |
||
+ | if (text[Artikeln[tempgetal]]["O"]) { |
||
− | document.getElementById('Opmerking' + tempgetal).disabled = Waardes['Opmerkingdis'][tempgetal]; |
||
− | + | Opmerking[tempgetal] = text[Artikeln[tempgetal]]["O"]; |
|
+ | } else { |
||
− | tempgetal +=1; |
||
+ | Opmerking[tempgetal] = '<input type="text" id=Opmerking' + tempgetal + ' name=Opmerking' + tempgetal + ' size=70">'; |
||
− | } |
||
+ | } |
||
− | } |
||
+ | console.log(Artikeln[tempgetal] + ": " + Artikelr[tempgetal]); |
||
− | Nummer = undefined; |
||
+ | Artikellink[tempgetal] = '<a href="https://wikikids.nl/' + Artikelr[tempgetal] + '?projectopschonen=x&opschonengecontroleerd=' + linkextra[tempgetal] + '" target="_blank">' + Artikelr[tempgetal] + '</a>' + vorigeuser[tempgetal]; |
||
+ | tabel += '<tr> <td>' + Artikellink[tempgetal] + '</td>' + Knop1x[tempgetal] + Knop3x[tempgetal] + '<td>' + Opmerking[tempgetal] + '</td> </tr>'; |
||
+ | mw.notify("Artikel toegevoegd op deze pagina."); |
||
+ | document.getElementById('bodyContent').innerHTML = tabel + eindetabel; |
||
+ | tempgetalxyz = tempgetal; |
||
+ | tempgetal = 1; |
||
+ | while (tempgetal !== gewenstelengte) { |
||
+ | document.getElementById('Radio1.' + tempgetal).checked = Waardes['Radio1'][tempgetal]; |
||
+ | document.getElementById('Radio3.' + tempgetal).checked = Waardes['Radio3'][tempgetal]; |
||
+ | document.getElementById('Opmerking' + tempgetal).value = Waardes['Opmerking'][tempgetal]; |
||
+ | document.getElementById('Opmerking' + tempgetal).disabled = Waardes['Opmerkingdis'][tempgetal]; |
||
+ | tempgetal += 1; |
||
+ | } |
||
+ | if (comesfromcookie) { |
||
+ | document.getElementById('Radio1.' + tempgetalxyz).checked = true; |
||
+ | Change1Opschonen(tempgetalxyz); |
||
+ | comesfromcookie = false; |
||
+ | } |
||
+ | Nummer = undefined; |
||
+ | } |
||
} |
} |
||
− | function |
+ | function editPageNowOpschonen(textx) { |
+ | while (textx) { |
||
− | if (!Array.isArray(text)) { |
||
− | + | text = textx; |
|
+ | textx = false; |
||
− | } |
||
+ | } |
||
− | tempgetal = 1; |
||
+ | if (Array.isArray(text)) { |
||
− | highArtikelr = Artikelr.length; |
||
+ | text = JSON.stringify(text); |
||
− | while (tempgetal !== highArtikelr) { |
||
+ | } |
||
− | if (text[Artikeln[tempgetal]]["D"]) { |
||
+ | api.get({ |
||
− | } else { |
||
+ | action: 'query', |
||
− | getKnop3 = document.getElementById("Radio3." + tempgetal); |
||
+ | prop: 'info', |
||
− | if (getKnop3 && getKnop3.checked) { |
||
+ | intoken: 'edit', |
||
− | } else { |
||
+ | titles: 'kaslv', //Pagina moet niet bestaan. |
||
− | var getonderwerp = document.getElementById("Thema" + tempgetal); |
||
+ | }).done( |
||
− | if (getonderwerp && getonderwerp.value) { |
||
+ | function (data) { |
||
− | getonderwerp = getonderwerp.value; |
||
+ | edit_token = data.query.pages['-1'].edittoken; |
||
− | } else { |
||
+ | }).done(function (data) { |
||
− | getonderwerp = ""; |
||
+ | api.post({ |
||
− | } |
||
+ | 'action': 'edit', |
||
− | var getopmerking = document.getElementById("Opmerking" + tempgetal); |
||
+ | 'title': "Gebruiker:Rots61/Test.json", |
||
− | if (getopmerking && getopmerking.value) { |
||
+ | 'text': text, |
||
− | getopmerking = getopmerking.value; |
||
+ | 'summary': "Pagina's als gecontroleerd gemarkeerd. [[WikiKids:Opschonen|(bewerking gedaan met 'Opschonen')]]", |
||
− | } else { |
||
+ | 'tags': 'Opschonen', |
||
− | getopmerking = ""; |
||
+ | 'bot': true, |
||
− | } |
||
+ | 'token': edit_token, |
||
− | getKnop1 = document.getElementById("Radio1." + tempgetal); |
||
+ | }).done( |
||
− | getKnop2 = document.getElementById("Radio2." + tempgetal); |
||
+ | function (data) { |
||
− | if (getKnop1 && getKnop1.checked) { |
||
+ | if (data.edit.result == "Success") { |
||
− | if (getopmerking) { |
||
+ | mw.notify("Opgeslagen!", { autoHide: false }); |
||
− | text[Artikeln[tempgetal]]["U"] = mw.config.get('wgUserName'); |
||
+ | } else { |
||
− | text[Artikeln[tempgetal]]["O"] = getopmerking; |
||
+ | mw.notify("Mislukt, meldt dit bij mij", { autoHide: false }); |
||
− | text[Artikeln[tempgetal]]["D"] = "D"; |
||
+ | } |
||
− | } else { |
||
+ | console.log(data.edit); |
||
− | text[Artikeln[tempgetal]]["D"] = "D"; |
||
+ | isOpgeslagenOpschonen = true; |
||
− | text[Artikeln[tempgetal]]["U"] = mw.config.get('wgUserName'); |
||
+ | document.getElementsByTagName("h1")[0].textContent = "Opslaan gelukt!"; |
||
− | } |
||
+ | document.getElementById('bodyContent').innerHTML = "Herlaad de pagina."; |
||
− | } else if ((getKnop2 && getKnop2.checked) || getopmerking || getonderwerp) { |
||
+ | }); |
||
− | text[Artikeln[tempgetal]]["U"] = mw.config.get('wgUserName'); |
||
+ | }); |
||
− | text[Artikeln[tempgetal]]["O"] = getopmerking; |
||
− | text[Artikeln[tempgetal]]["T"] = getonderwerp; |
||
− | } |
||
− | } |
||
− | } |
||
− | tempgetal +=1; |
||
− | } |
||
− | editpage(); |
||
} |
} |
||
− | function |
+ | function startITOpschonen() { |
+ | if (!Array.isArray(text)) { |
||
− | return api.get({ |
||
+ | text = JSON.parse(text); |
||
− | action: "query", |
||
+ | } |
||
− | prop: "revisions", |
||
+ | tempgetal = 1; |
||
− | titles: "Gebruiker:Rots61/Test.json", |
||
+ | highArtikelr = Artikelr.length; |
||
− | rvlimit: "1", |
||
+ | while (tempgetal !== highArtikelr) { |
||
− | rvprop: "content", |
||
+ | if (text[Artikeln[tempgetal]]["D"]) { |
||
− | rvslots: "main", |
||
+ | } else { |
||
− | }).then(function(data) { |
||
+ | console.log(text[Artikeln[tempgetal]]); |
||
− | temp = data.query.pages; |
||
+ | getKnop3 = document.getElementById("Radio3." + tempgetal); |
||
− | temp = temp[148926]; |
||
+ | if (getKnop3 && getKnop3.checked) { |
||
− | temp = temp.revisions; |
||
+ | } else { |
||
− | temp = temp[0]; |
||
+ | var getopmerking = document.getElementById("Opmerking" + tempgetal); |
||
− | text = temp.slots.main; |
||
+ | if (getopmerking && getopmerking.value) { |
||
− | text = text["*"]; |
||
+ | getopmerking = getopmerking.value; |
||
− | return JSON.parse(text); |
||
+ | } else { |
||
− | }); |
||
+ | getopmerking = ""; |
||
+ | } |
||
+ | getKnop1 = document.getElementById("Radio1." + tempgetal); |
||
+ | if (getKnop1 && getKnop1.checked) { |
||
+ | if (getopmerking) { |
||
+ | text[Artikeln[tempgetal]]["U"] = mw.config.get('wgUserName'); |
||
+ | text[Artikeln[tempgetal]]["O"] = getopmerking; |
||
+ | text[Artikeln[tempgetal]]["D"] = "D"; |
||
+ | } else { |
||
+ | text[Artikeln[tempgetal]]["D"] = "D"; |
||
+ | text[Artikeln[tempgetal]]["U"] = mw.config.get('wgUserName'); |
||
+ | } |
||
+ | } else if (getopmerking) { |
||
+ | text[Artikeln[tempgetal]]["U"] = mw.config.get('wgUserName'); |
||
+ | text[Artikeln[tempgetal]]["O"] = getopmerking; |
||
+ | } |
||
+ | } |
||
+ | } |
||
+ | tempgetal += 1; |
||
+ | } |
||
+ | editPageNowOpschonen(text); |
||
} |
} |
||
− | function |
+ | function getJSONTextOpschonen() { |
+ | return api.get({ |
||
− | if (!Array.isArray(text)) { |
||
+ | action: "query", |
||
− | text = JSON.parse(text); |
||
+ | prop: "revisions", |
||
− | } else { |
||
+ | titles: "Gebruiker:Rots61/Test.json", |
||
− | text = JSON.stringify(text); |
||
+ | rvlimit: "1", |
||
− | } |
||
+ | rvprop: "content", |
||
− | api.get({ |
||
+ | rvslots: "main", |
||
− | action: 'query', |
||
+ | }).then(function (data) { |
||
− | prop: 'info', |
||
+ | temp = data.query.pages; |
||
− | intoken: 'edit', |
||
+ | temp = temp[148926]; |
||
− | titles: 'kaslv', //Pagina moet niet bestaan. |
||
+ | temp = temp.revisions; |
||
− | }).done( |
||
+ | temp = temp[0]; |
||
− | function(data) { |
||
+ | text = temp.slots.main; |
||
− | edit_token = data.query.pages['-1'].edittoken; |
||
+ | text = text["*"]; |
||
− | }).done(function(data) { |
||
+ | return JSON.parse(text); |
||
− | api.post({ |
||
+ | }); |
||
− | 'action': 'edit', |
||
− | 'title': "Gebruiker:Rots61/Test.json", |
||
− | 'text': text, |
||
− | 'summary': "Pagina's als gecontroleerd gemarkeerd. [[WikiKids:Opschonen|(bewerking gedaan met 'Opschonen')]]", |
||
− | 'tags': 'Opschonen', |
||
− | 'bot': true, |
||
− | 'token': edit_token, |
||
− | }).done( |
||
− | function(data) { |
||
− | if (data.edit.result == "Success") { |
||
− | mw.notify("Opgeslagen!", { autoHide: false }); |
||
− | } else { |
||
− | mw.notify("Mislukt, meldt dit op de OP van Rots61", { autoHide: false }); |
||
− | } |
||
− | console.log(data.edit); |
||
− | document.getElementById('bodyContent').innerHTML = "Opslaan gelukt. Herlaad de pagina om hem opnieuw te gebruiken. "; |
||
− | }); |
||
− | }); |
||
} |
} |
||
− | function |
+ | function getRandomNumberOpschonen(lengtetext) { |
− | + | if (showAll) { |
|
− | + | allNummer += 1; |
|
− | + | return allNummer; |
|
+ | } |
||
− | } |
||
− | + | return Math.floor(Math.random() * lengtetext); |
|
} |
} |
||
− | function |
+ | function startHintsOpschonen() { |
− | + | htmltext = document.getElementById('mw-content-text').innerHTML; |
|
− | + | paginalink = 'https://wikikids.nl/Wikikids:Wikiproject/Opschonen#'; |
|
− | + | document.getElementById('mw-content-text').innerHTML = '<div id="gadget-ophalen">Hints ophalen</div>' |
|
− | + | + '<div id="gadget-hint-standaard">Er kunnen taal of spellingsfouten in het artikel staan. De opmaak kan te wensen overlaten. Ook kan de informatie niet kloppen. </div>' |
|
− | + | + '<div id="gadget-hint-http" style="color:red; display:none;">Er is een link die begint met http. (<a href="' + paginalink + 'HTTP_links">Wat moet ik doen?</a>)</div>' |
|
− | + | + '<div id="gadget-hint-vreemdelink" style="color:red; display:none;">Er klopt iets niet met een link. (<a href="' + paginalink + 'Link_klopt_niet">Wat moet ik doen?</a>)</div>' |
|
− | + | + '<div id="gadget-hint-dp" style="color:red; display:none;">Er staat een link naar een doorverwijspagina op dit artikel. (<a href="' + paginalink + 'Doorverwijspagina">Wat moet ik doen?</a>)</div>' |
|
− | + | + '<span id="gadget-hint-geenlinks" style="color:red; display:none;">Er verwijzen geen andere artikels naar dit artikel. <span id="gadget-hint-welportaal" style="color:green; display:none;">(Wel een portaal) </span>(<a href="' + paginalink + 'Geen_links">Wat moet ik doen?</a>)</span>' |
|
− | + | + '<div id="gadget-hint-grootbeg" style="color:red; display:none;">Dit artikel is wel groot voor een beginnetje. (<a href="' + paginalink + 'Groot_beginnetje">Wat moet ik doen?</a>)</div>' |
|
− | + | + '<div id="gadget-hint-geencat" style="color:red; font-weight:bold; display:none;">Er staat geen categorie op dit artikel. (<a href="' + paginalink + 'Geen_categorie">Wat moet ik doen?</a>)</div>' |
|
− | + | + '<div id="gadget-hint-weiniglinks" style="color:red; display:none;">Er staan te weinig links op dit artikel. (<a href="' + paginalink + 'Te_weinig_links_op_pagina">Wat moet ik doen?</a>)</div>' |
|
− | + | + '<div id="gadget-hint-woordenschat" style="display:none;">Ter informatie: Woordenschatartikel</div>' |
|
− | + | + '<div id="gadget-hint-extlink" style="display:none;">Er staan externe links op deze pagina. (<a href="' + paginalink + 'Externe_links">Wat moet ik doen?</a>)</div>' |
|
− | + | + '<div id="gadget-hint-haslinks-dp" style="display:none;">Er wordt gelinkt naar deze doorverwijspagina. (<a href="' + paginalink + 'Artikel_al_gecontroleerd">Wat moet ik doen?</a>)</div>' |
|
+ | + '<div id="gadget-hint-hanssain" style="color:green; font-weight:bold; display:none;">Artikel is geschreven door Hanssain. (<a href="' + paginalink + 'Artikel_gemaakt_door_gebruiker">Wat moet ik doen?</a>)</div>' |
||
− | + '<hr id="gadget-ophalenlijn>' |
||
+ | + '<div id="gadget-hint-mike1023" style="color:green; font-weight:bold; display:none;">Artikel is geschreven door Mike1023. (<a href="' + paginalink + 'Artikel_gemaakt_door_gebruiker">Wat moet ik doen?</a>)</div>' |
||
− | + document.getElementById('mw-content-text').innerHTML; |
||
+ | + '<div id="gadget-hint-gecontroleerd" style="color:green; font-weight:bold; display:none;">Artikel is al gecontroleerd. (<a href="' + paginalink + 'Artikel_al_gecontroleerd">Wat moet ik doen?</a>)</div>' |
||
− | getFirstAuteur(); |
||
+ | + '<hr id="gadget-ophalenlijn>' |
||
− | getCategories(); |
||
+ | + document.getElementById('mw-content-text').innerHTML; |
||
− | getLinksIn(); |
||
+ | getFirstAuteur(); |
||
− | getTextLength(); |
||
+ | getTextLengthOpschonen(); |
||
− | getBeg(); |
||
+ | getBegOpschonen(); |
||
− | getLinksOut(); |
||
+ | checkIfDPOpschonen(); |
||
− | checkIfChecked(); |
||
+ | getLinksOut(); |
||
− | getWoordenschat(); |
||
+ | checkIfChecked(); |
||
− | setTimeout(removeloading,2000); |
||
+ | getWoordenschat(); |
||
− | // Gecontroleerd, gebruiker, extlink, vreemde link, http, geencat, geenlinks |
||
+ | getExterneLinks(); |
||
− | //Moet nog: weiniglinks, grootkopje, dp |
||
+ | setTimeout(removeLoadingOpschonen, 1500); |
||
} |
} |
||
− | function |
+ | function removeLoadingOpschonen() { |
− | + | if (!woordenschat) { |
|
− | + | if (isDP) { |
|
− | + | if (linksopartikel !== 0) { |
|
+ | console.log(linksopartikel); |
||
− | document.getElementById('gadget-hint-grootbeg').style.display = ""; |
||
+ | document.getElementById('gadget-hint-haslinks-dp').style.display = ""; |
||
− | } |
||
+ | } |
||
− | if (linksopartikel < 5) { |
||
+ | } else { |
||
+ | getLinksIn(); |
||
+ | getCategoriesOpschonen(); |
||
+ | if (articlesize > 2000) { |
||
+ | if (beg) { |
||
+ | document.getElementById('gadget-hint-grootbeg').style.display = ""; |
||
+ | } |
||
+ | if (linksopartikel < 5) { |
||
+ | document.getElementById('gadget-hint-weiniglinks').style.display = ""; |
||
+ | } |
||
+ | } else if (linksopartikel < 2) { |
||
document.getElementById('gadget-hint-weiniglinks').style.display = ""; |
document.getElementById('gadget-hint-weiniglinks').style.display = ""; |
||
− | + | } |
|
+ | } |
||
− | } else if (linksopartikel < 2) { |
||
+ | } |
||
− | document.getElementById('gadget-hint-weiniglinks').style.display = ""; |
||
+ | api.get({ |
||
− | } |
||
+ | action: "query", |
||
− | } |
||
+ | prop: "linkshere", |
||
− | document.getElementById("gadget-ophalen").innerHTML=""; |
||
+ | titles: articletitle, |
||
+ | lhnamespace: "100", |
||
+ | lhlimit: "50", |
||
+ | lhshow: "!redirect", |
||
+ | }).then(function (data) { |
||
+ | temp = data.query.pages[articleId]; |
||
+ | if (typeof temp.linkshere === 'undefined') { |
||
+ | } else { |
||
+ | document.getElementById('gadget-hint-welportaal').style.display = ""; |
||
+ | document.getElementById('gadget-hint-geenlinks').style.color = ""; |
||
+ | } |
||
+ | }); |
||
+ | document.getElementById("gadget-ophalen").innerHTML = ""; |
||
} |
} |
||
− | function |
+ | function getTextLengthOpschonen() { |
− | + | return api.get({ |
|
− | + | action: "query", |
|
− | + | prop: "revisions", |
|
− | + | titles: articletitle, |
|
− | + | rvlimit: "1", |
|
− | + | rvprop: "content|size", |
|
− | + | rvslots: "main", |
|
− | + | }).then(function (data) { |
|
− | + | temp = data.query.pages; |
|
− | + | temp = temp[articleId].revisions["0"].size; |
|
− | + | articlesize = temp; |
|
− | + | return temp; |
|
− | + | }); |
|
} |
} |
||
− | function |
+ | function checkIfDPOpschonen(){ |
− | + | return api.get({ |
|
− | + | action: "query", |
|
− | + | prop: "categories", |
|
+ | clcategories: "Categorie:Wikikids:Doorverwijspagina", |
||
− | titles: articletitle, |
||
+ | titles: articletitle, |
||
− | clshow: "!hidden", |
||
− | + | }).then(function (data) { |
|
− | + | temp = data.query.pages; |
|
+ | temp = temp[articleId]; |
||
− | if (!temp) { |
||
+ | if (typeof temp.categories !== 'undefined') { |
||
− | document.getElementById("gadget-hint-geencat").style.display=""; |
||
+ | isDP = true; |
||
− | } |
||
+ | } |
||
− | }); |
||
+ | }); |
||
} |
} |
||
− | function |
+ | function getCategoriesOpschonen() { |
− | + | return api.get({ |
|
− | + | action: "query", |
|
− | + | prop: "categories", |
|
− | + | titles: articletitle, |
|
+ | clshow: "!hidden", |
||
− | rvlimit: "1", |
||
+ | }).then(function (data) { |
||
− | rvprop: "user", |
||
+ | temp = data.query.pages[articleId].categories; |
||
− | rvdir: "newer", |
||
+ | if (!temp) { |
||
− | rvslots: "main", |
||
+ | document.getElementById("gadget-hint-geencat").style.display = ""; |
||
− | }).then( function (data) { |
||
+ | } |
||
− | temp = data.query.pages[articleId].revisions[0].user; |
||
+ | }); |
||
− | if (temp === "Hanssain") { |
||
− | document.getElementById("gadget-hint-gebruiker").style.display=""; |
||
− | } |
||
− | }); |
||
} |
} |
||
− | function |
+ | function getFirstAuteur() { |
− | return api.get( |
+ | return api.get({ |
+ | action: "query", |
||
+ | prop: "revisions", |
||
+ | titles: articletitle, |
||
+ | rvlimit: "1", |
||
+ | rvprop: "user", |
||
+ | rvdir: "newer", |
||
+ | rvslots: "main", |
||
+ | }).then(function (data) { |
||
+ | temp = data.query.pages[articleId].revisions[0].user; |
||
+ | if (temp === "Hanssain") { |
||
+ | document.getElementById("gadget-hint-hanssain").style.display = ""; |
||
+ | } |
||
+ | if (temp === "Mike1023") { |
||
+ | document.getElementById("gadget-hint-mike1023").style.display = ""; |
||
+ | } |
||
+ | }); |
||
+ | } |
||
+ | |||
+ | function getWoordenschat() { |
||
+ | return api.get({ |
||
action: "query", |
action: "query", |
||
prop: "categories", |
prop: "categories", |
||
clcategories: "Category:Woordenschat", |
clcategories: "Category:Woordenschat", |
||
− | titles: articletitle, |
+ | titles: articletitle, |
− | } |
+ | }).then(function (data) { |
− | + | temp = data.query.pages; |
|
− | + | temp = temp[articleId]; |
|
− | + | if (typeof temp.categories !== 'undefined') { |
|
− | + | woordenschat = true; |
|
− | + | document.getElementById('gadget-hint-woordenschat').style.display = ""; |
|
− | + | } |
|
}); |
}); |
||
} |
} |
||
− | function |
+ | function getBegOpschonen() { |
− | return api.get( |
+ | return api.get({ |
action: "query", |
action: "query", |
||
prop: "categories", |
prop: "categories", |
||
clcategories: "Category:WikiKids:Beginnetje", |
clcategories: "Category:WikiKids:Beginnetje", |
||
− | titles: articletitle, |
+ | titles: articletitle, |
− | } |
+ | }).then(function (data) { |
− | + | temp = data.query.pages; |
|
− | + | temp = temp[articleId]; |
|
− | + | if (typeof temp.categories !== 'undefined') { |
|
− | + | beg = true; |
|
− | + | } |
|
}); |
}); |
||
} |
} |
||
− | function getLinksOut() { |
+ | function getLinksOut() { |
− | return api.get( |
+ | return api.get({ |
action: "query", |
action: "query", |
||
prop: "links", |
prop: "links", |
||
− | titles: articletitle, |
+ | titles: articletitle, |
pllimit: "5000", |
pllimit: "5000", |
||
− | } |
+ | }).then(function (data) { |
− | + | temp = data.query.pages; |
|
− | + | temp = temp[articleId]; |
|
− | + | if (typeof temp.links !== 'undefined') { |
|
− | + | linksopartikel = temp.links.length; |
|
− | + | getDP(); |
|
− | + | } else { |
|
− | + | linksopartikel = 0; |
|
− | + | } |
|
− | } |
+ | }); |
} |
} |
||
function getLinksIn() { |
function getLinksIn() { |
||
− | api.get( |
+ | api.get({ |
action: "query", |
action: "query", |
||
prop: "linkshere", |
prop: "linkshere", |
||
− | titles: articletitle, |
+ | titles: articletitle, |
lhnamespace: "0", |
lhnamespace: "0", |
||
lhlimit: "50", |
lhlimit: "50", |
||
lhshow: "!redirect", |
lhshow: "!redirect", |
||
− | } |
+ | }).then(function (data) { |
− | + | temp = data.query.pages[articleId]; |
|
− | + | if (typeof temp.linkshere === 'undefined') { |
|
− | + | document.getElementById("gadget-hint-geenlinks").style.display = ""; |
|
− | + | } |
|
− | + | }); |
|
− | } ); |
||
} |
} |
||
− | function checkIfChecked |
+ | function checkIfChecked() { |
− | + | valuechecked = mw.util.getParamValue('opschonengecontroleerd'); |
|
− | + | if (valuechecked === "Done") { |
|
− | + | document.getElementById("gadget-hint-gecontroleerd").style.display = ""; |
|
− | + | } else { |
|
− | + | getJSONTextOpschonen().done(function (text) { |
|
− | + | for (var i = 0, iLen = text.length; i < iLen; i++) { |
|
− | + | if (text[i].N == articletitle) checkChecked = text[i]["D"]; |
|
+ | } |
||
− | } |
||
− | + | if (checkChecked === "D") { |
|
− | + | document.getElementById("gadget-hint-gecontroleerd").style.display = ""; |
|
+ | } |
||
− | } |
||
− | + | }); |
|
+ | } |
||
− | } |
||
} |
} |
||
− | function getDP |
+ | function getDP() { |
− | + | api.get({ |
|
action: "query", |
action: "query", |
||
generator: "links", |
generator: "links", |
||
prop: "categories", |
prop: "categories", |
||
− | titles: articletitle, |
+ | titles: articletitle, |
gpllimit: "5000", |
gpllimit: "5000", |
||
cllimit: "5000", |
cllimit: "5000", |
||
clcategories: "Categorie:Wikikids:Doorverwijspagina", |
clcategories: "Categorie:Wikikids:Doorverwijspagina", |
||
− | } |
+ | }).then(function (data) { |
− | + | temp = data.query.pages; |
|
− | + | for (const property in temp) { |
|
− | + | if (temp[property].categories) { |
|
+ | console.log(temp[property].title); |
||
− | document.getElementById("gadget-hint-dp").style.display=""; |
||
+ | document.getElementById("gadget-hint-dp").style.display = ""; |
||
− | } |
||
+ | } |
||
− | } |
||
− | + | } |
|
+ | }); |
||
} |
} |
||
− | function getExterneLinks() { |
+ | function getExterneLinks() { |
− | api.get( |
+ | api.get({ |
action: "query", |
action: "query", |
||
prop: "extlinks|categories", |
prop: "extlinks|categories", |
||
− | titles: articletitle, |
+ | titles: articletitle, |
ellimit: "5000", |
ellimit: "5000", |
||
− | } |
+ | }).then(function (data) { |
− | + | temp = data.query.pages; |
|
− | + | temp = temp[articleId].extlinks; |
|
− | + | if (typeof temp === 'undefined') { |
|
− | + | } else { |
|
− | + | var tempgetal = 0; |
|
− | + | var aantallinks = 0; |
|
− | + | while (typeof temp[tempgetal] !== 'undefined') { |
|
+ | if (temp[tempgetal]["*"].startsWith("http:")) { |
||
− | document.getElementById("gadget-hint-http").style.display=""; |
||
− | + | document.getElementById("gadget-hint-http").style.display = ""; |
|
− | + | } else if (temp[tempgetal]["*"].startsWith("https:")) { |
|
+ | aantallinks +=1; |
||
− | if (temp[tempgetal]["*"] == "https://schooltv.nl/zoekresultaten/?q=" + articletitle ) { |
||
+ | } else { |
||
− | } else if (temp[tempgetal]["*"] == "https://www.youtube.com/results?search_query=" + articletitle ) { |
||
+ | document.getElementById("gadget-hint-vreemdelink").style.display = ""; |
||
− | } else if (temp[tempgetal]["*"] == "https://commons.wikimedia.org/w/index.php?title=Special:Search&search=" + articletitle + "&ns0=1&ns6=1&ns12=1&ns14=1&ns100=1&ns106=1") { |
||
+ | } |
||
− | } else if (temp[tempgetal]["*"] == "https://commons.wikimedia.org/w/index.php?search=" + articletitle + "&title=Special:MediaSearch&go=Go&type=image") { |
||
− | + | tempgetal += 1; |
|
− | } else if (temp[tempgetal]["*"] == "https://nl.wikipedia.org/wiki/" + articletitle) { |
||
− | } else if (temp[tempgetal]["*"] == "https://wikikids.nl/Wikikids:Beeldbank") { |
||
− | } else { document.getElementById("gadget-hint-extlink").style.display=""; |
||
− | } |
||
− | } else { |
||
− | document.getElementById("gadget-hint-extlink").style.display=""; |
||
− | } |
||
− | } else { |
||
− | document.getElementById("gadget-hint-vreemdelink").style.display=""; |
||
− | } |
||
− | tempgetal += 1; |
||
− | } |
||
} |
} |
||
+ | if (beg === true) { |
||
− | } ); |
||
+ | aantallinks -=6; |
||
+ | } |
||
+ | if (aantallinks > 0) { |
||
+ | document.getElementById("gadget-hint-extlink").style.display = ""; |
||
+ | } |
||
+ | } |
||
+ | }); |
||
} |
} |
||
− | function |
+ | function changeInstellingen() { |
+ | var instelling = document.getElementById("instellingen").style.display; |
||
− | document.getElementsByTagName("h1")[0].textContent = "Speciaal:Opschonen"; |
||
+ | if (instelling === 'none') { |
||
− | document.title = "Help - Opschonen - WikiKids"; |
||
+ | document.getElementById("instellingen").style.display = ""; |
||
− | infotext = "Op deze pagina kun je artikels controleren. Druk nu gewoon op 'Bekijk pagina's' als je 50 willekeurige artikels wilt controleren. " |
||
+ | document.getElementById("maxoption").disabled = false; |
||
− | + '<br>Opslaan duurt een paar seconden, wacht totdat je ziet dat de wijziging is doorgevoerd.<br>' |
||
+ | } else { |
||
− | + '<input type="checkbox" id="allepaginas">Krijg alle pagina\'s op alfabetische volgorde.<br>' |
||
+ | document.getElementById("instellingen").style.display = 'none'; |
||
− | + 'Start paginanaam met: <input type="text" id="startwith"> (Als dit ingevuld is, wordt het automatisch op alfabetische volgorde)<br>' |
||
+ | document.getElementById("maxoption").disabled = true; |
||
− | + '<input type="radio" id="notdone" name="VariantD" checked>Ongecontroleerd<br>' |
||
+ | document.getElementById("user").value = ""; |
||
− | + '<input type="radio" id="xdone" name="VariantD">Maakt niet uit<br>' |
||
+ | document.getElementById("startwith").value = ""; |
||
− | + '<input type="radio" id="done" name="VariantD">Gecontroleerd<br><hr>' |
||
+ | } |
||
− | + '<input type="radio" id="notthema" name="VariantT">Zonder thema (nog niet eerder bekeken)<br>' |
||
− | + '<input type="radio" id="xthema" name="VariantT" checked>Maakt niet uit<br>' |
||
− | + '<input type="radio" id="thema" name="VariantT">Met thema (al eerder bekeken)<br>' |
||
− | + 'Gebruiker: <input type="text" id="user"><br>' |
||
− | + 'Aantal artikels: <input type="text" id="aantal" value="50"> (Als je hier een nummer intypt dat groter is dan het aantal artikels, krijg je niets terug. Als je "max" invult, krijg je het maximale aantal terug.)' |
||
− | + '<br><button onclick="getsettings()">Bekijk pagina\'s</button>'; |
||
− | document.getElementById('bodyContent').innerHTML = infotext; |
||
} |
} |
||
− | function |
+ | function hulpGadgetOpschonen() { |
+ | document.getElementsByTagName("h1")[0].textContent = "Speciaal:Opschonen"; |
||
− | var allepaginasl = document.getElementById('allepaginas').checked; |
||
+ | document.title = "Help - Opschonen - WikiKids"; |
||
− | var startwithl = document.getElementById('startwith').value; |
||
+ | infotext = '<input type="checkbox" id="allepaginas" onclick="changeInstellingen();">Krijg willekeurige pagina\'s. <br>' |
||
− | var themal = document.getElementById('thema').checked; |
||
+ | + '<div id="instellingen">' |
||
− | var themanl = document.getElementById('notthema').checked; |
||
+ | + 'Gebruiker: <input type="text" id="user"><br>' |
||
− | var userl = document.getElementById('user').value; |
||
+ | + 'Alleen artikels die starten met: <input type="text" id="startwith"><br></div>' |
||
− | var aantall = document.getElementById('aantal').value; |
||
+ | + 'Gecontroleerd: <select name="done" id="done">' |
||
− | var donel = document.getElementById('done').checked; |
||
+ | + '<option value="notdone">Niet</option>' |
||
− | var donenl = document.getElementById('notdone').checked; |
||
+ | + '<option value="xdone" selected>Maakt niet uit</option>' |
||
− | var url = 'https://wikikids.nl/Speciaal:Opschonen?'; |
||
+ | + '<option value="done">Wel</option>' |
||
− | if (startwithl) { |
||
+ | + '</select><br>' |
||
− | url += 'startwith=' + startwithl + '&allepaginas=x&'; |
||
+ | + 'Aantal: <select name="aantal" id="aantal">' |
||
− | } else if (aantall === 'max') { |
||
+ | + '<option value="100">100</option>' |
||
− | url +='allepaginas=x&'; |
||
+ | + '<option value="50" selected>50</option>' |
||
− | } else if (allepaginasl) { |
||
+ | + '<option value="10">10</option>' |
||
− | url += 'allepaginas=x&'; |
||
+ | + '<option value="0">0</option>' |
||
− | } |
||
+ | + '<option value="max" id="maxoption">Max</option>' |
||
− | if (themal) { |
||
+ | + '</select>' |
||
− | url +='thema=x&'; |
||
+ | + '<br><button onclick="getsettings()">Bekijk pagina\'s</button>' |
||
− | } else if (themanl) { |
||
+ | + ' Vragen? Laat het me weten'; |
||
− | url +='notthema=x&'; |
||
+ | document.getElementById('bodyContent').innerHTML = terugnaaropschonen + infotext; |
||
− | } |
||
− | if (donel) { |
||
− | url +='done=x&'; |
||
− | } else if (donenl) { |
||
− | url +='notdone=x&'; |
||
− | } |
||
− | if (user) { |
||
− | url +='user='+ userl + '&'; |
||
− | } |
||
− | if (parseInt(aantall)) { |
||
− | url +='aantal=' + aantall; |
||
− | } else if (aantall === 'max') { |
||
− | url +='aantal=max'; |
||
− | } else { |
||
− | url +='aantal=50'; |
||
− | } |
||
− | |||
− | window.location.href = url; |
||
− | |||
} |
} |
||
+ | function getsettings() { |
||
− | if (mw.config.get('wgNamespaceNumber') === -1 && mw.config.get('wgTitle') === "Opschonen") { |
||
+ | var allepaginasl = document.getElementById('allepaginas').checked; |
||
− | if (document.URL === "https://wikikids.nl/Speciaal:Opschonen?action=help") { |
||
+ | var startwithl = document.getElementById('startwith').value; |
||
− | var infotext; |
||
+ | var userl = document.getElementById('user').value; |
||
− | hulpInfo(); |
||
+ | var aantall = document.getElementById('aantal').value; |
||
− | } else { |
||
+ | var donel = document.getElementById('done').value; |
||
− | showAantal = parseInt(mw.util.getParamValue( 'aantal' )); |
||
+ | var url = 'https://wikikids.nl/Speciaal:Opschonen?'; |
||
− | showUser = mw.util.getParamValue('user'); |
||
+ | if (allepaginasl) { |
||
− | showStartwith = mw.util.getParamValue('Startwith'); |
||
+ | } else { |
||
− | var tussenvoegsel; |
||
+ | url += 'allepaginas=x&'; |
||
− | if (showUser) { |
||
+ | } |
||
− | tussenvoegsel = 'Je vraagt de gegevens op van ' +showUser + ' als hij met dit project mee heeft gedaan, worden zijn bijdragen zo getoont. '; |
||
+ | if (startwithl) { |
||
+ | url += 'startwith=' + startwithl + '&'; |
||
+ | } |
||
+ | if (donel === "done") { |
||
+ | url += 'done=x&'; |
||
+ | } else if (donel === "notdone") { |
||
+ | url += 'notdone=x&'; |
||
+ | } |
||
+ | if (userl) { |
||
+ | url += 'user=' + userl + '&'; |
||
+ | } |
||
+ | url += 'aantal=' + aantall; |
||
+ | window.location.href = url; |
||
+ | } |
||
+ | |||
+ | function statsOpschonen(text){ |
||
+ | var xaantal = {"totaal": 300}; |
||
+ | var opschonenuser = []; |
||
+ | for (const x of text) { |
||
+ | if (x.D === "D") { |
||
+ | xaantal.totaal += 1; |
||
+ | if (x.U) { |
||
+ | opschonenuser.push(x.U); |
||
+ | if (xaantal[x.U]) { |
||
+ | xaantal[x.U] += 1; |
||
+ | } else { |
||
+ | xaantal[x.U] = 1; |
||
+ | } |
||
+ | } |
||
} |
} |
||
+ | } |
||
− | if (showStartwith) { |
||
+ | var aantalwikikidsartikelen = 5000; |
||
− | tussenvoegsel += 'Je wil dat alle artikels starten met een '; |
||
+ | api.get({ |
||
+ | action: "query", |
||
+ | meta: 'siteinfo', |
||
+ | siprop: 'statistics' |
||
+ | }).then(function (ret) { |
||
+ | aantalwikikidsartikelen = ret.query.statistics.articles; |
||
+ | console.log('X', ret, aantalwikikidsartikelen); |
||
+ | opschonenuser = removeDuplicates(opschonenuser); |
||
+ | document.getElementsByTagName("h1")[0].textContent = "Speciaal:Opschonen"; |
||
+ | document.title = "Opschonen - WikiKids"; |
||
+ | var tobody = `<br> Er zijn totaal ${xaantal.totaal} artikelen gecontroleerd. Dat is ${Math.round((xaantal.totaal/aantalwikikidsartikelen) * 100 * 1000) / 1000}% van WikiKids. Hieronder staan alle gebruikers die minimaal een artikel hebben gecontroleerd. <ul>`; |
||
+ | tobody += `<div style="background-color:#eeeeee; width:400px;height:18px;float:left;margin-right:5px;border:1px solid #bbb;"><div style="background-color:#119000;width:${(xaantal.totaal/aantalwikikidsartikelen) * 100 * 4}px;height:18px;"><div style="font-weight:bold;width:400px;text-align:center;height:18px;line-height:18px;color:black;"><abbr title="7 %"></abbr>${Math.round((xaantal.totaal/aantalwikikidsartikelen) * 100 * 1000) / 1000} / 100%</div></div></div><br>`; |
||
+ | console.log(aantalwikikidsartikelen); |
||
+ | for (const x of opschonenuser) { |
||
+ | tobody += '<li>' + x + ' (aantal: ' + xaantal[x] + ')</li>'; |
||
} |
} |
||
+ | tobody += '</ul>'; |
||
− | document.getElementById('bodyContent').innerHTML = "Laden..." + "Als dit langer dan 10 seconen duurt, melden bij Rots61 met de volledige url."; |
||
+ | document.getElementById('bodyContent').innerHTML = terugnaaropschonen + tobody; |
||
− | var api = new mw.Api(); |
||
+ | }); |
||
− | var edit_token; |
||
+ | } |
||
− | var tempgetal; |
||
+ | |||
− | var temp; |
||
+ | function removeDuplicates(arr) { |
||
− | var Artikelr = []; |
||
+ | let unique = arr.reduce(function (acc, curr) { |
||
− | var Artikeln = []; |
||
+ | if (!acc.includes(curr)) |
||
− | var Artikellink = []; |
||
+ | acc.push(curr); |
||
− | var getUser; |
||
+ | return acc; |
||
− | var Thematemp = []; |
||
− | + | }, []); |
|
+ | return unique; |
||
− | var Thematempx; |
||
− | var Opmerkingtempx; |
||
− | var Knop1x = []; |
||
− | var Knop2x = []; |
||
− | var Knop3x = []; |
||
− | var Opmerking = []; |
||
− | var Thema = []; |
||
− | var tabel; |
||
− | var eindetabel; |
||
− | var highArtikelr; |
||
− | var showAantal; |
||
− | var gedaan = []; |
||
− | var vorigeuser = []; |
||
− | var linkextra = []; |
||
− | var getKnop3; |
||
− | var getKnop2; |
||
− | var getKnop1; |
||
− | var randomNumber; |
||
− | var showAll; |
||
− | var showSkipDone; |
||
− | var showSkipSkipped; |
||
− | var showDone; |
||
− | var showThema; |
||
− | var addarticle; |
||
− | var paginalink; |
||
− | var checkChecked; |
||
− | var allNummer = 1; |
||
− | var showFrom; |
||
− | var showTo; |
||
− | var showSkipThema; |
||
− | var lengtetext; |
||
− | var showMax; |
||
− | var Waardes = {"Radio1":[],"Radio2":[],"Radio3":[],"Opmerking":[],"Thema":[], "Opmerkingdis":[],"Themadis":[]}; |
||
− | //varvar |
||
− | getJSONText().done( function(text) { |
||
− | showProject(text); |
||
− | }); |
||
− | } |
||
} |
} |
||
+ | if (mw.config.get('wgNamespaceNumber') === -1 && mw.config.get('wgTitle') === "Opschonen") { |
||
− | var showHints = mw.util.getParamValue( 'projectopschonen' ); |
||
+ | var terugnaaropschonen = '<div id="contentSub"><span class="subpages">< <a href="/Speciaal:Opschonen" title="Speciaal:Opschonen">Speciaal:Opschonen</a></span></div>'; |
||
− | if (showHints) { |
||
+ | document.getElementById("footer-places").innerHTML += '<li id="footer-places-gadget-opschonen">Script gemaakt door <a href="/User:Rots61" title="Gebruiker:Rots61">Rots61</a></li>'; |
||
− | //varvar |
||
+ | var isOpgeslagenOpschonen = false; |
||
− | var articletitle = mw.config.get('wgPageName'); |
||
+ | window.onbeforeunload = function() { |
||
− | var articleId = mw.config.get('wgArticleId'); |
||
+ | if (!isOpgeslagenOpschonen) { |
||
− | var beg = false; |
||
+ | return 'Weet je zeker dat je deze pagina wilt verlaten?'; |
||
− | var api = new mw.Api(); |
||
+ | } |
||
− | var dp = false; |
||
+ | return undefined; |
||
− | var link = 0; |
||
+ | }; |
||
− | var link2 = ""; |
||
+ | if (document.URL === "https://wikikids.nl/Speciaal:Opschonen?action=help") { |
||
− | var temp; |
||
− | + | var infotext; |
|
+ | hulpGadgetOpschonen(); |
||
− | var linkhttp = 0; |
||
+ | } else if (mw.util.getParamValue('action') === 'stats') { |
||
− | var redirects = ""; |
||
+ | getJSONTextOpschonen().done(function (text) { |
||
− | var Hints = ""; |
||
+ | statsOpschonen(text); |
||
− | var htmltext; |
||
+ | }); |
||
− | var Nummer; |
||
+ | } else { |
||
− | var CheckChecked; |
||
+ | showAantal = parseInt(mw.util.getParamValue('aantal')); |
||
− | var articlesize; |
||
+ | showUser = mw.util.getParamValue('user'); |
||
− | var linksopartikel; |
||
+ | showStartwith = mw.util.getParamValue('startwith'); |
||
− | var valuechecked; |
||
+ | var tussenvoegsel; |
||
− | var woordenschat = false; |
||
+ | document.getElementById('bodyContent').innerHTML = "Laden... krijg je niets te zien? Maak hier dan een melding van bij mij met deze url:" + document.URL; |
||
− | startHints(); |
||
+ | var edit_token; |
||
+ | var tempgetal; |
||
+ | var temp; |
||
+ | var Artikelr = []; |
||
+ | var Artikeln = []; |
||
+ | var Artikellink = []; |
||
+ | var getUser; |
||
+ | var Opmerkingtemp = []; |
||
+ | var Opmerkingtempx; |
||
+ | var Knop1x = []; |
||
+ | var Knop3x = []; |
||
+ | var Opmerking = []; |
||
+ | var tabel; |
||
+ | var eindetabel; |
||
+ | var highArtikelr; |
||
+ | var showAantal; |
||
+ | var gedaan = []; |
||
+ | var vorigeuser = []; |
||
+ | var linkextra = []; |
||
+ | var getKnop3; |
||
+ | var getKnop1; |
||
+ | var randomNumber; |
||
+ | var showAll; |
||
+ | var showSkipDone; |
||
+ | var showSkipSkipped; |
||
+ | var showDone; |
||
+ | var addarticle; |
||
+ | var paginalink; |
||
+ | var checkChecked; |
||
+ | var allNummer = 1; |
||
+ | var showFrom; |
||
+ | var showTo; |
||
+ | var lengtetext; |
||
+ | var showMax; |
||
+ | var Waardes = { "Radio1": [], "Radio3": [], "Opmerking": [], "Opmerkingdis": []}; |
||
+ | //varvar |
||
+ | getJSONTextOpschonen().done(function (text) { |
||
+ | showProjectOpschonen(text); |
||
+ | }); |
||
+ | } |
||
} |
} |
||
+ | |||
− | if ((mw.config.get('wgNamespaceNumber') === 0) && (mw.config.get('wgArticleId') > 1 )) { |
||
+ | var showHints = mw.util.getParamValue('projectopschonen'); |
||
− | document.getElementById("mw-panel").innerHTML +=' Gadget:Opschonen<br> <input type="button" onclick="location.href=\'https://wikikids.nl/Speciaal:Opschonen\';" value="Speciaal:Opschonen" />' |
||
+ | if (showHints) { |
||
− | +'<br> <input type="button" onclick="location.href=\'https://wikikids.nl/' + mw.config.get( 'wgPageName' ) + '?projectopschonen=x\';" value="Opschoon hints" />'; |
||
+ | document.getElementById("footer-places").innerHTML += '<li id="footer-places-gadget-opschonen">Hints zijn gemaakt door <a href="/User:Rots61" title="Gebruiker:Rots61">Rots61</a></li>'; |
||
− | +'<br> <input type="button" onclick="addCookie();" value="Voeg toe aan lijst" />'; |
||
+ | //varvar |
||
+ | var articletitle = mw.config.get('wgPageName'); |
||
+ | var articleId = mw.config.get('wgArticleId'); |
||
+ | var beg = false; |
||
+ | var isDP = false; |
||
+ | var link = 0; |
||
+ | var link2 = ""; |
||
+ | var temp; |
||
+ | var temp2; |
||
+ | var linkhttp = 0; |
||
+ | var redirects = ""; |
||
+ | var Hints = ""; |
||
+ | var htmltext; |
||
+ | var Nummer; |
||
+ | var CheckChecked; |
||
+ | var articlesize; |
||
+ | var linksopartikel; |
||
+ | var valuechecked; |
||
+ | var woordenschat = false; |
||
+ | startHintsOpschonen(); |
||
+ | } |
||
+ | |||
+ | if ((mw.config.get('wgNamespaceNumber') === 0) && (mw.config.get('wgArticleId') > 1)) { |
||
+ | document.getElementById("mw-panel").innerHTML += `<nav id="p-op" style="background-color: #1D9CB9" class="vector-menu vector-menu-portal portal" |
||
+ | aria-labelledby="p-op-label" role="navigation"> |
||
+ | <h3 id="p-op-label"> |
||
+ | <span>Opschonen</span> |
||
+ | </h3> |
||
+ | <div class="body vector-menu-content" style="border-bottom: 1px solid #1D9CB9"> |
||
+ | <ul class="vector-menu-content-list"> |
||
+ | <li> |
||
+ | <a href="https://wikikids.nl/Speciaal:Opschonen">Speciaal:Opschonen</a> |
||
+ | </li> |
||
+ | <li> |
||
+ | <a href="https://wikikids.nl/${mw.config.get('wgPageName')}?projectopschonen=x">Opschoon hints</a> |
||
+ | </li> |
||
+ | <li> |
||
+ | <button onclick="fromPageaddPageOpschonen()">Gecontroleerd</button> |
||
+ | </li> |
||
+ | </ul> |
||
+ | </div> |
||
+ | </nav>`; |
||
} |
} |
Huidige versie van 11 apr 2023 om 18:56
/* jshint sub:true maxerr:100000 */
// Gadget gemaakt door [[User:Rots61]]
// Documentatie op [[WikiKids:Opschonen]]
var text;
var api = new mw.Api();
var alreadydone;
var Nummer;
function showProjectOpschonen(text) {
// text = array
document.getElementsByTagName("h1")[0].textContent = "Speciaal:Opschonen";
document.title = "Opschonen - WikiKids";
tempgetal = 1;
tempnumber = 1;
var tabelstuk1 = '<th style="line-height:99%;vertical-align:bottom;padding:.4em .4em .2em;background-position:50% .4em !important;min-width:0.875em;max-width:0.875em;width:0.875em;overflow:hidden;"><div style="vertical-rl=-webkit-writing-mode: vertical-rl; -o-writing-mode: vertical-rl; -ms-writing-mode: tb-rl;writing-mode: tb-rl; writing-mode: vertical-rl; layout-flow: vertical-ideographic;transform:rotate(180deg);display:inline-block;padding-left:1px;text-align:left;">Gecontroleerd</div></th>';
var tabelstuk3 = '<th style="line-height:99%;vertical-align:bottom;padding:.4em .4em .2em;background-position:50% .4em !important;min-width:0.875em;max-width:0.875em;width:0.875em;overflow:hidden;"><div style="vertical-rl=-webkit-writing-mode: vertical-rl; -o-writing-mode: vertical-rl; -ms-writing-mode: tb-rl;writing-mode: tb-rl; writing-mode: vertical-rl; layout-flow: vertical-ideographic;transform:rotate(180deg);display:inline-block;padding-left:1px;text-align:left;">Niet bekeken</div></th>';
tabel = "Deze artikels kun je controleren. Je hoeft niet alle onderstaande artikels te controleren. Dat mag natuurlijk wel. "
+ 'Als je specifieker wilt controleren klik dan <a href="https://wikikids.nl/Speciaal:Opschonen?action=help">hier</a>. <br>Er zijn ook statistieken beschikbaar voor deze pagina, deze kun je <a href="https://wikikids.nl/Speciaal:Opschonen?action=stats">hier</a> vinden. '
+ 'Om ervoor te zorgen dat je niets verliest, wordt je altijd gevraagd of je de pagina af wilt sluiten. '
+ '<br><input type="text" id="addarticle" name="addarticle"> <button onclick="addArticleToListOpschonen()">Voeg toe</button><br>'
+ '<table class="wikitable"><tbody><tr> <th width="300"><div style="float: left; text-align: left">Pagina</div><div style="float: right; text-align: right">Gebruiker</div></th>' + tabelstuk1 + tabelstuk3 + '<th width="1">Opmerking<br><span style="color:gray;">van de andere gebruiker</span></th></tr>';
showAantal = mw.util.getParamValue('aantal');
showAll = mw.util.getParamValue('allepaginas');
showSkipDone = mw.util.getParamValue('notdone');
//Zorg ervoor dat je al gecontroleerde pagina's niet ziet
showDone = mw.util.getParamValue('done');
//Zorg ervoor dat je alle pagina's ziet waar deze gebruiker bij staat.
showUser = mw.util.getParamValue('user');
showStartwith = mw.util.getParamValue('startwith');
showTo = mw.util.getParamValue('to');
showFrom = mw.util.getParamValue('from');
if (showAantal === 'max') {
showAantal = text.length - 1;
showMax = true;
showAll = true;
} else if (showAantal) {
showAantal = parseInt(showAantal) + 1;
} else if (showAll) {
showAantal = text.length - 1;
}
if ( showDone || (showSkipDone || (showTo || (showFrom || (showUser || (showStartwith || showAantal)))))) {
} else {
showAantal = 51;
showSkipDone = true;
}
lengtetext = text.length;
while (tempnumber !== showAantal) {
Artikeln[tempgetal] = getURLParamNumberOpschonen(text);
if (Artikeln[tempgetal] === 'exit') {
tempnumber = -1;
showAantal = -1;
} else {
Artikelr[tempgetal] = text[Artikeln[tempgetal]]["N"];
if (text[Artikeln[tempgetal]]["D"]) {
gedaan[tempgetal] = " disabled";
linkextra[tempgetal] = "Done";
Knop1x[tempgetal] = "";
Knop3x[tempgetal] = '<td colspan="2" style="color:green; font-weight: bold; text-align: center;">Gedaan</td>';
} else {
gedaan[tempgetal] = "";
linkextra[tempgetal] = "Niet";
Knop1x[tempgetal] = '<td><input type="radio" id="Radio1.' + tempgetal + '" name="Knop' + tempgetal + '" onclick="Change1Opschonen(' + tempgetal + ');"></td>';
Knop3x[tempgetal] = '<td><input type="radio" id="Radio3.' + tempgetal + '" name="Knop' + tempgetal + '" onclick="Change3Opschonen(' + tempgetal + ');"></td>';
}
if (text[Artikeln[tempgetal]]["U"]) {
vorigeuser[tempgetal] = ' <div style="float: right; font-weight: bold; text-align: right">' + text[Artikeln[tempgetal]]["U"] + '</div>';
} else {
vorigeuser[tempgetal] = "";
}
if (text[Artikeln[tempgetal]]["O"]) {
Opmerking[tempgetal] = text[Artikeln[tempgetal]]["O"];
} else {
Opmerking[tempgetal] = '<input type="text" id=Opmerking' + tempgetal + ' name=Opmerking' + tempgetal + ' size=70">';
}
console.log(Artikeln[tempgetal] + ": " + Artikelr[tempgetal]);
Artikellink[tempgetal] = '<a href="https://wikikids.nl/' + Artikelr[tempgetal] + '?projectopschonen=x&opschonengecontroleerd=' + linkextra[tempgetal] + '" target="_blank">' + Artikelr[tempgetal] + '</a>' + vorigeuser[tempgetal];
tabel += '<tr> <td>' + Artikellink[tempgetal] + '</td>' + Knop1x[tempgetal] + Knop3x[tempgetal] + '<td>' + Opmerking[tempgetal] + '</td> </tr>';
tempgetal += 1;
if (showMax) {
tempnumber = allNummer;
} else {
tempnumber = tempgetal;
}
}
}
// text = array
eindetabel += '</tbody></table> <button onclick="startITOpschonen()">Opslaan</button> Dit kan een paar seconden duren. Wacht totdat je ziet dat de wijziging is opgeslagen. ';
document.getElementById('bodyContent').innerHTML = tabel + eindetabel;
mw.notify("Welkom!");
}
function getURLParamNumberOpschonen(text, nummer) {
willekeuriggetal = 0;
while (willekeuriggetal === 0) {
willekeuriggetal = getRandomNumberOpschonen(text.length);
if (willekeuriggetal === text.length) {
return 'exit';
} else {
if (showUser) {
if (text[willekeuriggetal]["U"] === showUser) {
} else {
willekeuriggetal = 0;
}
}
if (showDone) {
if (text[willekeuriggetal]["D"]) {
} else {
willekeuriggetal = 0;
}
} else if (showSkipDone) {
if (text[willekeuriggetal]["D"]) {
willekeuriggetal = 0;
}
}
if (showStartwith) {
var re = new RegExp('^' + showStartwith, "g");
if (text[willekeuriggetal]["N"] !== text[willekeuriggetal]["N"].replace(re, "newstring")) {
console.log(text[willekeuriggetal]["N"]);
} else {
willekeuriggetal = 0;
}
}
if (showFrom) {
if (text[willekeuriggetal]["N"]) {
}
if (showTo) {
if (text[willekeuriggetal]["N"]) {
}
}
}
}
}
return willekeuriggetal;
}
function Change1Opschonen(getal) {
document.getElementById('Opmerking' + getal).disabled = false;
Opmerkingtempx = document.getElementById('Opmerking' + getal).value;
document.getElementById('Opmerking' + getal).value = Opmerkingtemp[getal] ? Opmerkingtemp[getal] : Opmerkingtempx ? Opmerkingtempx : "";
}
function Change3Opschonen(getal) {
Opmerkingtemp[getal] = document.getElementById('Opmerking' + getal).value;
document.getElementById('Opmerking' + getal).disabled = true;
document.getElementById('Opmerking' + getal).value = "";
}
function fromPageaddPageOpschonen() {
var text;
var artikel;
var checkconfirm;
var checkopmerking;
getJSONTextOpschonen().done(function (text) {
fromPageCheckOnListOpschonen(text);
});
}
function fromPageCheckOnListOpschonen(text) {
if (!Array.isArray(text)) {
text = JSON.parse(text);
}
if (!text[1]["N"]) {
text = JSON.parse(text);
}
addarticle = mw.config.get('wgPageName').replace(/ /g, '_');
for (var i = 0, iLen = text.length; i < iLen; i++) {
if (text[i].N == addarticle) Nummer = i;
}
if (!Nummer) {
api.get({
action: "query",
titles: addarticle,
redirects: true,
}).then(function (ret) {
if (ret.query.redirects) {
alreadydone = true;
mw.notify("Pagina is een redirect.");
} else {
$.each(ret.query.pages, function () {
if (this.missing !== "") {
if (this.ns === 0) {
Nummer = text.length;
text[text.length] = { "N": addarticle, "D": "D", "U": mw.config.get('wgUserName') };
} else {
alreadydone = true;
mw.notify("Pagina staat niet in de hoofdnaamruimte.");
}
} else {
alreadydone = true;
mw.notify("Pagina bestaat niet. ");
}
}, function (error) {
});
}
});
} else if (text[Nummer]["D"] === "D") {
mw.notify("Dit aritkel is al gecontroleerd door " + text[Nummer]["U"]);
alreadydone = true;
} else {
text[Nummer]["D"] = "D";
text[Nummer]["U"] = mw.config.get('wgUserName');
}
fromPageSaveOpschonen(text);
}
function fromPageSaveOpschonen(text) {
if (alreadydone) {
} else if (!Nummer) {
setTimeout(function () {fromPageSaveOpschonen(text)}, 250);
} else {
checkopmerking = prompt("Mogelijke opmerking over het artikel: ");
if (checkopmerking === null) {
} else if (checkopmerking === '') {
editPageNowOpschonen(text);
} else {
text[Nummer]["O"] = checkopmerking;
editPageNowOpschonen(text);
}
}
}
function addArticleToListOpschonen(artikel) {
if (!text[1]["N"]) {
text = JSON.parse(text);
}
addarticle = undefined;
var comesfromcookie;
if (artikel) {
addarticle = artikel;
comesfromcookie = true;
} else {
addarticle = document.getElementById('addarticle').value.replace(/ /g, '_');
}
for (var i = 0, iLen = text.length; i < iLen; i++) {
if (text[i].N == addarticle) Nummer = i;
}
if (!Nummer) {
api.get({
action: "query",
titles: addarticle,
redirects: true,
}).then(function (ret) {
if (ret.query.redirects) {
mw.notify("Pagina is een redirect, kan niet gecontroleerd worden.");
} else {
$.each(ret.query.pages, function () {
if (this.missing !== "") {
if (this.ns === 0) {
Nummer = text.length;
text[text.length] = { "N": addarticle };
} else {
mw.notify("Pagina staat niet in de hoofdnaamruimte.");
}
} else {
mw.notify("Pagina bestaat niet. ");
}
}, function (error) {
});
}
});
}
if (Nummer) {
tempgetal = 1;
var gewenstelengte = Artikelr.length;
if (gewenstelengte === 0) {
gewenstelengte = 1;
tempgetal = 1;
}
console.log(gewenstelengte + ":" + tempgetal);
while (tempgetal !== gewenstelengte) {
if (document.getElementById('Radio1.' + tempgetal)) {
Waardes['Radio1'][tempgetal] = document.getElementById('Radio1.' + tempgetal).checked;
Waardes['Radio3'][tempgetal] = document.getElementById('Radio3.' + tempgetal).checked;
Waardes['Opmerking'][tempgetal] = document.getElementById('Opmerking' + tempgetal).value;
Waardes['Opmerkingdis'][tempgetal] = document.getElementById('Opmerking' + tempgetal).disabled;
}
tempgetal += 1;
}
tempgetal = Artikelr.length;
Artikeln[tempgetal] = Nummer;
Artikelr[tempgetal] = text[Artikeln[tempgetal]]["N"];
if (text[Artikeln[tempgetal]]["D"]) {
gedaan[tempgetal] = " disabled";
linkextra[tempgetal] = "Done";
Knop1x[tempgetal] = "";
Knop3x[tempgetal] = '<td colspan="2" style="color:green; font-weight: bold;">Gedaan</td>';
} else {
gedaan[tempgetal] = "";
linkextra[tempgetal] = "Niet";
Knop1x[tempgetal] = '<td><input type="radio" id="Radio1.' + tempgetal + '" name="Knop' + tempgetal + '" onclick="Change1Opschonen(' + tempgetal + ');"></td>';
Knop3x[tempgetal] = '<td><input type="radio" id="Radio3.' + tempgetal + '" name="Knop' + tempgetal + '" onclick="Change3Opschonen(' + tempgetal + ');"></td>';
}
if (text[Artikeln[tempgetal]]["U"]) {
vorigeuser[tempgetal] = ' <div style="float: right; font-weight: bold; text-align: right">' + text[Artikeln[tempgetal]]["U"] + '</div>';
} else {
vorigeuser[tempgetal] = "";
}
if (text[Artikeln[tempgetal]]["O"]) {
Opmerking[tempgetal] = text[Artikeln[tempgetal]]["O"];
} else {
Opmerking[tempgetal] = '<input type="text" id=Opmerking' + tempgetal + ' name=Opmerking' + tempgetal + ' size=70">';
}
console.log(Artikeln[tempgetal] + ": " + Artikelr[tempgetal]);
Artikellink[tempgetal] = '<a href="https://wikikids.nl/' + Artikelr[tempgetal] + '?projectopschonen=x&opschonengecontroleerd=' + linkextra[tempgetal] + '" target="_blank">' + Artikelr[tempgetal] + '</a>' + vorigeuser[tempgetal];
tabel += '<tr> <td>' + Artikellink[tempgetal] + '</td>' + Knop1x[tempgetal] + Knop3x[tempgetal] + '<td>' + Opmerking[tempgetal] + '</td> </tr>';
mw.notify("Artikel toegevoegd op deze pagina.");
document.getElementById('bodyContent').innerHTML = tabel + eindetabel;
tempgetalxyz = tempgetal;
tempgetal = 1;
while (tempgetal !== gewenstelengte) {
document.getElementById('Radio1.' + tempgetal).checked = Waardes['Radio1'][tempgetal];
document.getElementById('Radio3.' + tempgetal).checked = Waardes['Radio3'][tempgetal];
document.getElementById('Opmerking' + tempgetal).value = Waardes['Opmerking'][tempgetal];
document.getElementById('Opmerking' + tempgetal).disabled = Waardes['Opmerkingdis'][tempgetal];
tempgetal += 1;
}
if (comesfromcookie) {
document.getElementById('Radio1.' + tempgetalxyz).checked = true;
Change1Opschonen(tempgetalxyz);
comesfromcookie = false;
}
Nummer = undefined;
}
}
function editPageNowOpschonen(textx) {
while (textx) {
text = textx;
textx = false;
}
if (Array.isArray(text)) {
text = JSON.stringify(text);
}
api.get({
action: 'query',
prop: 'info',
intoken: 'edit',
titles: 'kaslv', //Pagina moet niet bestaan.
}).done(
function (data) {
edit_token = data.query.pages['-1'].edittoken;
}).done(function (data) {
api.post({
'action': 'edit',
'title': "Gebruiker:Rots61/Test.json",
'text': text,
'summary': "Pagina's als gecontroleerd gemarkeerd. [[WikiKids:Opschonen|(bewerking gedaan met 'Opschonen')]]",
'tags': 'Opschonen',
'bot': true,
'token': edit_token,
}).done(
function (data) {
if (data.edit.result == "Success") {
mw.notify("Opgeslagen!", { autoHide: false });
} else {
mw.notify("Mislukt, meldt dit bij mij", { autoHide: false });
}
console.log(data.edit);
isOpgeslagenOpschonen = true;
document.getElementsByTagName("h1")[0].textContent = "Opslaan gelukt!";
document.getElementById('bodyContent').innerHTML = "Herlaad de pagina.";
});
});
}
function startITOpschonen() {
if (!Array.isArray(text)) {
text = JSON.parse(text);
}
tempgetal = 1;
highArtikelr = Artikelr.length;
while (tempgetal !== highArtikelr) {
if (text[Artikeln[tempgetal]]["D"]) {
} else {
console.log(text[Artikeln[tempgetal]]);
getKnop3 = document.getElementById("Radio3." + tempgetal);
if (getKnop3 && getKnop3.checked) {
} else {
var getopmerking = document.getElementById("Opmerking" + tempgetal);
if (getopmerking && getopmerking.value) {
getopmerking = getopmerking.value;
} else {
getopmerking = "";
}
getKnop1 = document.getElementById("Radio1." + tempgetal);
if (getKnop1 && getKnop1.checked) {
if (getopmerking) {
text[Artikeln[tempgetal]]["U"] = mw.config.get('wgUserName');
text[Artikeln[tempgetal]]["O"] = getopmerking;
text[Artikeln[tempgetal]]["D"] = "D";
} else {
text[Artikeln[tempgetal]]["D"] = "D";
text[Artikeln[tempgetal]]["U"] = mw.config.get('wgUserName');
}
} else if (getopmerking) {
text[Artikeln[tempgetal]]["U"] = mw.config.get('wgUserName');
text[Artikeln[tempgetal]]["O"] = getopmerking;
}
}
}
tempgetal += 1;
}
editPageNowOpschonen(text);
}
function getJSONTextOpschonen() {
return api.get({
action: "query",
prop: "revisions",
titles: "Gebruiker:Rots61/Test.json",
rvlimit: "1",
rvprop: "content",
rvslots: "main",
}).then(function (data) {
temp = data.query.pages;
temp = temp[148926];
temp = temp.revisions;
temp = temp[0];
text = temp.slots.main;
text = text["*"];
return JSON.parse(text);
});
}
function getRandomNumberOpschonen(lengtetext) {
if (showAll) {
allNummer += 1;
return allNummer;
}
return Math.floor(Math.random() * lengtetext);
}
function startHintsOpschonen() {
htmltext = document.getElementById('mw-content-text').innerHTML;
paginalink = 'https://wikikids.nl/Wikikids:Wikiproject/Opschonen#';
document.getElementById('mw-content-text').innerHTML = '<div id="gadget-ophalen">Hints ophalen</div>'
+ '<div id="gadget-hint-standaard">Er kunnen taal of spellingsfouten in het artikel staan. De opmaak kan te wensen overlaten. Ook kan de informatie niet kloppen. </div>'
+ '<div id="gadget-hint-http" style="color:red; display:none;">Er is een link die begint met http. (<a href="' + paginalink + 'HTTP_links">Wat moet ik doen?</a>)</div>'
+ '<div id="gadget-hint-vreemdelink" style="color:red; display:none;">Er klopt iets niet met een link. (<a href="' + paginalink + 'Link_klopt_niet">Wat moet ik doen?</a>)</div>'
+ '<div id="gadget-hint-dp" style="color:red; display:none;">Er staat een link naar een doorverwijspagina op dit artikel. (<a href="' + paginalink + 'Doorverwijspagina">Wat moet ik doen?</a>)</div>'
+ '<span id="gadget-hint-geenlinks" style="color:red; display:none;">Er verwijzen geen andere artikels naar dit artikel. <span id="gadget-hint-welportaal" style="color:green; display:none;">(Wel een portaal) </span>(<a href="' + paginalink + 'Geen_links">Wat moet ik doen?</a>)</span>'
+ '<div id="gadget-hint-grootbeg" style="color:red; display:none;">Dit artikel is wel groot voor een beginnetje. (<a href="' + paginalink + 'Groot_beginnetje">Wat moet ik doen?</a>)</div>'
+ '<div id="gadget-hint-geencat" style="color:red; font-weight:bold; display:none;">Er staat geen categorie op dit artikel. (<a href="' + paginalink + 'Geen_categorie">Wat moet ik doen?</a>)</div>'
+ '<div id="gadget-hint-weiniglinks" style="color:red; display:none;">Er staan te weinig links op dit artikel. (<a href="' + paginalink + 'Te_weinig_links_op_pagina">Wat moet ik doen?</a>)</div>'
+ '<div id="gadget-hint-woordenschat" style="display:none;">Ter informatie: Woordenschatartikel</div>'
+ '<div id="gadget-hint-extlink" style="display:none;">Er staan externe links op deze pagina. (<a href="' + paginalink + 'Externe_links">Wat moet ik doen?</a>)</div>'
+ '<div id="gadget-hint-haslinks-dp" style="display:none;">Er wordt gelinkt naar deze doorverwijspagina. (<a href="' + paginalink + 'Artikel_al_gecontroleerd">Wat moet ik doen?</a>)</div>'
+ '<div id="gadget-hint-hanssain" style="color:green; font-weight:bold; display:none;">Artikel is geschreven door Hanssain. (<a href="' + paginalink + 'Artikel_gemaakt_door_gebruiker">Wat moet ik doen?</a>)</div>'
+ '<div id="gadget-hint-mike1023" style="color:green; font-weight:bold; display:none;">Artikel is geschreven door Mike1023. (<a href="' + paginalink + 'Artikel_gemaakt_door_gebruiker">Wat moet ik doen?</a>)</div>'
+ '<div id="gadget-hint-gecontroleerd" style="color:green; font-weight:bold; display:none;">Artikel is al gecontroleerd. (<a href="' + paginalink + 'Artikel_al_gecontroleerd">Wat moet ik doen?</a>)</div>'
+ '<hr id="gadget-ophalenlijn>'
+ document.getElementById('mw-content-text').innerHTML;
getFirstAuteur();
getTextLengthOpschonen();
getBegOpschonen();
checkIfDPOpschonen();
getLinksOut();
checkIfChecked();
getWoordenschat();
getExterneLinks();
setTimeout(removeLoadingOpschonen, 1500);
}
function removeLoadingOpschonen() {
if (!woordenschat) {
if (isDP) {
if (linksopartikel !== 0) {
console.log(linksopartikel);
document.getElementById('gadget-hint-haslinks-dp').style.display = "";
}
} else {
getLinksIn();
getCategoriesOpschonen();
if (articlesize > 2000) {
if (beg) {
document.getElementById('gadget-hint-grootbeg').style.display = "";
}
if (linksopartikel < 5) {
document.getElementById('gadget-hint-weiniglinks').style.display = "";
}
} else if (linksopartikel < 2) {
document.getElementById('gadget-hint-weiniglinks').style.display = "";
}
}
}
api.get({
action: "query",
prop: "linkshere",
titles: articletitle,
lhnamespace: "100",
lhlimit: "50",
lhshow: "!redirect",
}).then(function (data) {
temp = data.query.pages[articleId];
if (typeof temp.linkshere === 'undefined') {
} else {
document.getElementById('gadget-hint-welportaal').style.display = "";
document.getElementById('gadget-hint-geenlinks').style.color = "";
}
});
document.getElementById("gadget-ophalen").innerHTML = "";
}
function getTextLengthOpschonen() {
return api.get({
action: "query",
prop: "revisions",
titles: articletitle,
rvlimit: "1",
rvprop: "content|size",
rvslots: "main",
}).then(function (data) {
temp = data.query.pages;
temp = temp[articleId].revisions["0"].size;
articlesize = temp;
return temp;
});
}
function checkIfDPOpschonen(){
return api.get({
action: "query",
prop: "categories",
clcategories: "Categorie:Wikikids:Doorverwijspagina",
titles: articletitle,
}).then(function (data) {
temp = data.query.pages;
temp = temp[articleId];
if (typeof temp.categories !== 'undefined') {
isDP = true;
}
});
}
function getCategoriesOpschonen() {
return api.get({
action: "query",
prop: "categories",
titles: articletitle,
clshow: "!hidden",
}).then(function (data) {
temp = data.query.pages[articleId].categories;
if (!temp) {
document.getElementById("gadget-hint-geencat").style.display = "";
}
});
}
function getFirstAuteur() {
return api.get({
action: "query",
prop: "revisions",
titles: articletitle,
rvlimit: "1",
rvprop: "user",
rvdir: "newer",
rvslots: "main",
}).then(function (data) {
temp = data.query.pages[articleId].revisions[0].user;
if (temp === "Hanssain") {
document.getElementById("gadget-hint-hanssain").style.display = "";
}
if (temp === "Mike1023") {
document.getElementById("gadget-hint-mike1023").style.display = "";
}
});
}
function getWoordenschat() {
return api.get({
action: "query",
prop: "categories",
clcategories: "Category:Woordenschat",
titles: articletitle,
}).then(function (data) {
temp = data.query.pages;
temp = temp[articleId];
if (typeof temp.categories !== 'undefined') {
woordenschat = true;
document.getElementById('gadget-hint-woordenschat').style.display = "";
}
});
}
function getBegOpschonen() {
return api.get({
action: "query",
prop: "categories",
clcategories: "Category:WikiKids:Beginnetje",
titles: articletitle,
}).then(function (data) {
temp = data.query.pages;
temp = temp[articleId];
if (typeof temp.categories !== 'undefined') {
beg = true;
}
});
}
function getLinksOut() {
return api.get({
action: "query",
prop: "links",
titles: articletitle,
pllimit: "5000",
}).then(function (data) {
temp = data.query.pages;
temp = temp[articleId];
if (typeof temp.links !== 'undefined') {
linksopartikel = temp.links.length;
getDP();
} else {
linksopartikel = 0;
}
});
}
function getLinksIn() {
api.get({
action: "query",
prop: "linkshere",
titles: articletitle,
lhnamespace: "0",
lhlimit: "50",
lhshow: "!redirect",
}).then(function (data) {
temp = data.query.pages[articleId];
if (typeof temp.linkshere === 'undefined') {
document.getElementById("gadget-hint-geenlinks").style.display = "";
}
});
}
function checkIfChecked() {
valuechecked = mw.util.getParamValue('opschonengecontroleerd');
if (valuechecked === "Done") {
document.getElementById("gadget-hint-gecontroleerd").style.display = "";
} else {
getJSONTextOpschonen().done(function (text) {
for (var i = 0, iLen = text.length; i < iLen; i++) {
if (text[i].N == articletitle) checkChecked = text[i]["D"];
}
if (checkChecked === "D") {
document.getElementById("gadget-hint-gecontroleerd").style.display = "";
}
});
}
}
function getDP() {
api.get({
action: "query",
generator: "links",
prop: "categories",
titles: articletitle,
gpllimit: "5000",
cllimit: "5000",
clcategories: "Categorie:Wikikids:Doorverwijspagina",
}).then(function (data) {
temp = data.query.pages;
for (const property in temp) {
if (temp[property].categories) {
console.log(temp[property].title);
document.getElementById("gadget-hint-dp").style.display = "";
}
}
});
}
function getExterneLinks() {
api.get({
action: "query",
prop: "extlinks|categories",
titles: articletitle,
ellimit: "5000",
}).then(function (data) {
temp = data.query.pages;
temp = temp[articleId].extlinks;
if (typeof temp === 'undefined') {
} else {
var tempgetal = 0;
var aantallinks = 0;
while (typeof temp[tempgetal] !== 'undefined') {
if (temp[tempgetal]["*"].startsWith("http:")) {
document.getElementById("gadget-hint-http").style.display = "";
} else if (temp[tempgetal]["*"].startsWith("https:")) {
aantallinks +=1;
} else {
document.getElementById("gadget-hint-vreemdelink").style.display = "";
}
tempgetal += 1;
}
if (beg === true) {
aantallinks -=6;
}
if (aantallinks > 0) {
document.getElementById("gadget-hint-extlink").style.display = "";
}
}
});
}
function changeInstellingen() {
var instelling = document.getElementById("instellingen").style.display;
if (instelling === 'none') {
document.getElementById("instellingen").style.display = "";
document.getElementById("maxoption").disabled = false;
} else {
document.getElementById("instellingen").style.display = 'none';
document.getElementById("maxoption").disabled = true;
document.getElementById("user").value = "";
document.getElementById("startwith").value = "";
}
}
function hulpGadgetOpschonen() {
document.getElementsByTagName("h1")[0].textContent = "Speciaal:Opschonen";
document.title = "Help - Opschonen - WikiKids";
infotext = '<input type="checkbox" id="allepaginas" onclick="changeInstellingen();">Krijg willekeurige pagina\'s. <br>'
+ '<div id="instellingen">'
+ 'Gebruiker: <input type="text" id="user"><br>'
+ 'Alleen artikels die starten met: <input type="text" id="startwith"><br></div>'
+ 'Gecontroleerd: <select name="done" id="done">'
+ '<option value="notdone">Niet</option>'
+ '<option value="xdone" selected>Maakt niet uit</option>'
+ '<option value="done">Wel</option>'
+ '</select><br>'
+ 'Aantal: <select name="aantal" id="aantal">'
+ '<option value="100">100</option>'
+ '<option value="50" selected>50</option>'
+ '<option value="10">10</option>'
+ '<option value="0">0</option>'
+ '<option value="max" id="maxoption">Max</option>'
+ '</select>'
+ '<br><button onclick="getsettings()">Bekijk pagina\'s</button>'
+ ' Vragen? Laat het me weten';
document.getElementById('bodyContent').innerHTML = terugnaaropschonen + infotext;
}
function getsettings() {
var allepaginasl = document.getElementById('allepaginas').checked;
var startwithl = document.getElementById('startwith').value;
var userl = document.getElementById('user').value;
var aantall = document.getElementById('aantal').value;
var donel = document.getElementById('done').value;
var url = 'https://wikikids.nl/Speciaal:Opschonen?';
if (allepaginasl) {
} else {
url += 'allepaginas=x&';
}
if (startwithl) {
url += 'startwith=' + startwithl + '&';
}
if (donel === "done") {
url += 'done=x&';
} else if (donel === "notdone") {
url += 'notdone=x&';
}
if (userl) {
url += 'user=' + userl + '&';
}
url += 'aantal=' + aantall;
window.location.href = url;
}
function statsOpschonen(text){
var xaantal = {"totaal": 300};
var opschonenuser = [];
for (const x of text) {
if (x.D === "D") {
xaantal.totaal += 1;
if (x.U) {
opschonenuser.push(x.U);
if (xaantal[x.U]) {
xaantal[x.U] += 1;
} else {
xaantal[x.U] = 1;
}
}
}
}
var aantalwikikidsartikelen = 5000;
api.get({
action: "query",
meta: 'siteinfo',
siprop: 'statistics'
}).then(function (ret) {
aantalwikikidsartikelen = ret.query.statistics.articles;
console.log('X', ret, aantalwikikidsartikelen);
opschonenuser = removeDuplicates(opschonenuser);
document.getElementsByTagName("h1")[0].textContent = "Speciaal:Opschonen";
document.title = "Opschonen - WikiKids";
var tobody = `<br> Er zijn totaal ${xaantal.totaal} artikelen gecontroleerd. Dat is ${Math.round((xaantal.totaal/aantalwikikidsartikelen) * 100 * 1000) / 1000}% van WikiKids. Hieronder staan alle gebruikers die minimaal een artikel hebben gecontroleerd. <ul>`;
tobody += `<div style="background-color:#eeeeee; width:400px;height:18px;float:left;margin-right:5px;border:1px solid #bbb;"><div style="background-color:#119000;width:${(xaantal.totaal/aantalwikikidsartikelen) * 100 * 4}px;height:18px;"><div style="font-weight:bold;width:400px;text-align:center;height:18px;line-height:18px;color:black;"><abbr title="7 %"></abbr>${Math.round((xaantal.totaal/aantalwikikidsartikelen) * 100 * 1000) / 1000} / 100%</div></div></div><br>`;
console.log(aantalwikikidsartikelen);
for (const x of opschonenuser) {
tobody += '<li>' + x + ' (aantal: ' + xaantal[x] + ')</li>';
}
tobody += '</ul>';
document.getElementById('bodyContent').innerHTML = terugnaaropschonen + tobody;
});
}
function removeDuplicates(arr) {
let unique = arr.reduce(function (acc, curr) {
if (!acc.includes(curr))
acc.push(curr);
return acc;
}, []);
return unique;
}
if (mw.config.get('wgNamespaceNumber') === -1 && mw.config.get('wgTitle') === "Opschonen") {
var terugnaaropschonen = '<div id="contentSub"><span class="subpages">< <a href="/Speciaal:Opschonen" title="Speciaal:Opschonen">Speciaal:Opschonen</a></span></div>';
document.getElementById("footer-places").innerHTML += '<li id="footer-places-gadget-opschonen">Script gemaakt door <a href="/User:Rots61" title="Gebruiker:Rots61">Rots61</a></li>';
var isOpgeslagenOpschonen = false;
window.onbeforeunload = function() {
if (!isOpgeslagenOpschonen) {
return 'Weet je zeker dat je deze pagina wilt verlaten?';
}
return undefined;
};
if (document.URL === "https://wikikids.nl/Speciaal:Opschonen?action=help") {
var infotext;
hulpGadgetOpschonen();
} else if (mw.util.getParamValue('action') === 'stats') {
getJSONTextOpschonen().done(function (text) {
statsOpschonen(text);
});
} else {
showAantal = parseInt(mw.util.getParamValue('aantal'));
showUser = mw.util.getParamValue('user');
showStartwith = mw.util.getParamValue('startwith');
var tussenvoegsel;
document.getElementById('bodyContent').innerHTML = "Laden... krijg je niets te zien? Maak hier dan een melding van bij mij met deze url:" + document.URL;
var edit_token;
var tempgetal;
var temp;
var Artikelr = [];
var Artikeln = [];
var Artikellink = [];
var getUser;
var Opmerkingtemp = [];
var Opmerkingtempx;
var Knop1x = [];
var Knop3x = [];
var Opmerking = [];
var tabel;
var eindetabel;
var highArtikelr;
var showAantal;
var gedaan = [];
var vorigeuser = [];
var linkextra = [];
var getKnop3;
var getKnop1;
var randomNumber;
var showAll;
var showSkipDone;
var showSkipSkipped;
var showDone;
var addarticle;
var paginalink;
var checkChecked;
var allNummer = 1;
var showFrom;
var showTo;
var lengtetext;
var showMax;
var Waardes = { "Radio1": [], "Radio3": [], "Opmerking": [], "Opmerkingdis": []};
//varvar
getJSONTextOpschonen().done(function (text) {
showProjectOpschonen(text);
});
}
}
var showHints = mw.util.getParamValue('projectopschonen');
if (showHints) {
document.getElementById("footer-places").innerHTML += '<li id="footer-places-gadget-opschonen">Hints zijn gemaakt door <a href="/User:Rots61" title="Gebruiker:Rots61">Rots61</a></li>';
//varvar
var articletitle = mw.config.get('wgPageName');
var articleId = mw.config.get('wgArticleId');
var beg = false;
var isDP = false;
var link = 0;
var link2 = "";
var temp;
var temp2;
var linkhttp = 0;
var redirects = "";
var Hints = "";
var htmltext;
var Nummer;
var CheckChecked;
var articlesize;
var linksopartikel;
var valuechecked;
var woordenschat = false;
startHintsOpschonen();
}
if ((mw.config.get('wgNamespaceNumber') === 0) && (mw.config.get('wgArticleId') > 1)) {
document.getElementById("mw-panel").innerHTML += `<nav id="p-op" style="background-color: #1D9CB9" class="vector-menu vector-menu-portal portal"
aria-labelledby="p-op-label" role="navigation">
<h3 id="p-op-label">
<span>Opschonen</span>
</h3>
<div class="body vector-menu-content" style="border-bottom: 1px solid #1D9CB9">
<ul class="vector-menu-content-list">
<li>
<a href="https://wikikids.nl/Speciaal:Opschonen">Speciaal:Opschonen</a>
</li>
<li>
<a href="https://wikikids.nl/${mw.config.get('wgPageName')}?projectopschonen=x">Opschoon hints</a>
</li>
<li>
<button onclick="fromPageaddPageOpschonen()">Gecontroleerd</button>
</li>
</ul>
</div>
</nav>`;
}