Gebruiker:Rots61/Gadget-Opschonen.js: verschil tussen versies
Naar navigatie springen
Naar zoeken springen
Regel 440: | Regel 440: | ||
function startHints(){ |
function startHints(){ |
||
htmltext = document.getElementById('mw-content-text').innerHTML; |
htmltext = document.getElementById('mw-content-text').innerHTML; |
||
− | paginalink = 'https://wikikids.nl/Wikikids:Opschonen#'; |
+ | paginalink = 'https://wikikids.nl/Wikikids:Wikiproject/Opschonen#'; |
document.getElementById('mw-content-text').innerHTML = '<span id="gadget-ophalen">Hints ophalen</span>' |
document.getElementById('mw-content-text').innerHTML = '<span id="gadget-ophalen">Hints ophalen</span>' |
||
+ '<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-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>' |
Versie van 27 dec 2022 17:45
/* jshint sub:true maxerr:100000 */
// Gadget gemaakt door [[User:Rots61]]
// Documentatie op [[WikiKids:Opschonen]]
var text;
var api = new mw.Api();
function showProject (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 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>';
}
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">';
}
if (text[Artikeln[tempgetal]]["T"]){
Thema[tempgetal] = '<center>' + text[Artikeln[tempgetal]]["T"] + '</center>';
} else {
Thema[tempgetal] = '<input type="text" id=Thema' + tempgetal + ' name=Thema' + tempgetal + ' size=10">';
}
console.log(Artikeln[tempgetal] + ": " + Artikelr[tempgetal]);
Artikellink[tempgetal] = '<a href="https://wikikids.nl/' + Artikelr[tempgetal] + '?projectopschonen=x&checked=' + linkextra[tempgetal] +'" target="_blank">' + Artikelr[tempgetal] + '</a>' + vorigeuser[tempgetal];
tabel += '<tr> <td>' + Artikellink[tempgetal] + '</td>' + Knop1x[tempgetal] + Knop2x[tempgetal] + Knop3x[tempgetal] + '<td>' + Opmerking[tempgetal] + '</td> <td>' + Thema[tempgetal] + '</td> </tr>';
tempgetal += 1;
if (showMax) {
tempnumber = allNummer;
} else {
tempnumber = tempgetal;
}
}
}
// text = array
eindetabel += '</tbody></table> <button onclick="startIT()">Opslaan</button>';
document.getElementById('bodyContent').innerHTML = tabel + eindetabel;
mw.notify("Welkom!");
}
function getURLParamNumber (text, nummer) {
willekeuriggetal = 0;
while (willekeuriggetal === 0) {
willekeuriggetal = getRandomNumber(text.length);
if (willekeuriggetal === text.length) {
return 'exit';
} else {
if (showUser) {
if (text[willekeuriggetal]["U"] === showUser) {
} else {
willekeuriggetal = 0;
}
}
if (showThema) {
if (text[willekeuriggetal]["T"]) {
} else {
willekeuriggetal = 0;
}
} else if (showSkipThema) {
if (text[willekeuriggetal]["T"]) {
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 Change1(getal){
if (!document.getElementById('Thema' + getal).disabled) {
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;
document.getElementById('Opmerking' + getal).value = Opmerkingtemp[getal] ? Opmerkingtemp[getal] : Opmerkingtempx ? Opmerkingtempx : "";
}
function Change2(getal){
Thematempx = document.getElementById('Thema' + getal).value;
Opmerkingtempx = document.getElementById('Opmerking' + getal).value;
document.getElementById('Thema' + getal).disabled = false;
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 Change3(getal){
if (!document.getElementById('Thema' + getal).disabled) {
Thematemp[getal] = document.getElementById('Thema' + getal).value;
}
if (!document.getElementById('Opmerking' + getal).disabled) {
Opmerkingtemp[getal] = document.getElementById('Opmerking' + getal).value;
}
document.getElementById('Thema' + getal).disabled = true;
document.getElementById('Opmerking' + getal).disabled = true;
document.getElementById('Thema' + getal).value = "";
document.getElementById('Opmerking' + getal).value = "";
}
function loadCookie (){
cookiecount = parseInt(mw.storage.get( "gadget-opschonen-count"));
while (cookiecount !== 0) {
artikel = mw.storage.get("gadget-opschonen-" + cookiecount);
console.log("Cookiecount: " + cookiecount);
addArticleToList(artikel);
mw.storage.remove("gadget-opschonen-" + cookiecount);
cookiecount -= 1;
}
mw.storage.set("gadget-opschonen-count", 0);
}
function addCookie (){
var cookiecount = 0;
if (mw.storage.get( "gadget-opschonen-count")) {
cookiecount = parseInt(mw.storage.get( "gadget-opschonen-count"));
}
cookiecount += 1;
mw.storage.set("gadget-opschonen-count", cookiecount);
mw.storage.set("gadget-opschonen-" + cookiecount, mw.config.get( 'wgPageName' ), 2629743);
mw.notify("Toegevoegd");
}
function addArticleToList (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(' ', '_');
}
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;
console.log(gewenstelengte + ":" + tempgetal);
while (tempgetal !== gewenstelengte ) {
Waardes['Radio1'][tempgetal] = document.getElementById('Radio1.' + tempgetal).checked;
Waardes['Radio2'][tempgetal] = document.getElementById('Radio2.' + tempgetal).checked;
Waardes['Radio3'][tempgetal] = document.getElementById('Radio3.' + tempgetal).checked;
Waardes['Opmerking'][tempgetal] = document.getElementById('Opmerking' + tempgetal).value;
Waardes['Thema'][tempgetal] = document.getElementById('Thema' + tempgetal).value;
Waardes['Themadis'][tempgetal] = document.getElementById('Thema' + tempgetal).disabled;
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";
text[Artikeln[tempgetal]]["T"] = " ";
linkextra[tempgetal] = "Done";
Knop1x[tempgetal] = "";
Knop2x[tempgetal] = "";
Knop3x[tempgetal] = '<td colspan="3" 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="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>';
}
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">';
}
if (text[Artikeln[tempgetal]]["T"]){
Thema[tempgetal] = '<center>' + text[Artikeln[tempgetal]]["T"] + '</center>';
} else {
Thema[tempgetal] = '<input type="text" id=Thema' + tempgetal + ' name=Thema' + tempgetal + ' size=10">';
}
console.log(Artikeln[tempgetal] + ": " + Artikelr[tempgetal]);
Artikellink[tempgetal] = '<a href="https://wikikids.nl/' + Artikelr[tempgetal] + '?projectopschonen=x&checked=' + linkextra[tempgetal] +'" target="_blank">' + Artikelr[tempgetal] + '</a>' + vorigeuser[tempgetal];
tabel += '<tr> <td>' + Artikellink[tempgetal] + '</td>' + Knop1x[tempgetal] + Knop2x[tempgetal] + Knop3x[tempgetal] + '<td>' + Opmerking[tempgetal] + '</td> <td>' + Thema[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('Radio2.' + tempgetal).checked = Waardes['Radio2'][tempgetal];
document.getElementById('Radio3.' + tempgetal).checked = Waardes['Radio3'][tempgetal];
document.getElementById('Opmerking' + tempgetal).value = Waardes['Opmerking'][tempgetal];
document.getElementById('Thema' + tempgetal).value = Waardes['Thema'][tempgetal];
document.getElementById('Opmerking' + tempgetal).disabled = Waardes['Opmerkingdis'][tempgetal];
document.getElementById('Thema' + tempgetal).disabled = Waardes['Themadis'][tempgetal];
tempgetal +=1;
}
if (comesfromcookie) {
document.getElementById('Radio1.' + tempgetalxyz).checked = true;
Change1(tempgetalxyz);
comesfromcookie = false;
}
Nummer = undefined;
}
}
function startIT() {
if (!Array.isArray(text)) {
text = JSON.parse(text);
}
tempgetal = 1;
highArtikelr = Artikelr.length;
while (tempgetal !== highArtikelr) {
if (text[Artikeln[tempgetal]]["D"]) {
} else {
getKnop3 = document.getElementById("Radio3." + tempgetal);
if (getKnop3 && getKnop3.checked) {
} else {
var getonderwerp = document.getElementById("Thema" + tempgetal);
if (getonderwerp && getonderwerp.value) {
getonderwerp = getonderwerp.value;
} else {
getonderwerp = "";
}
var getopmerking = document.getElementById("Opmerking" + tempgetal);
if (getopmerking && getopmerking.value) {
getopmerking = getopmerking.value;
} else {
getopmerking = "";
}
getKnop1 = document.getElementById("Radio1." + tempgetal);
getKnop2 = document.getElementById("Radio2." + 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 ((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 getJSONText() {
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 editpage() {
if (!Array.isArray(text)) {
text = JSON.parse(text);
} else {
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 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 getRandomNumber (lengtetext) {
if (showAll) {
allNummer += 1;
return allNummer;
}
return Math.floor(Math.random() * lengtetext) ;
}
function startHints(){
htmltext = document.getElementById('mw-content-text').innerHTML;
paginalink = 'https://wikikids.nl/Wikikids:Wikiproject/Opschonen#';
document.getElementById('mw-content-text').innerHTML = '<span id="gadget-ophalen">Hints ophalen</span>'
+ '<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>'
+ '<div id="gadget-hint-geenlinks" style="color:red; display:none;">Er verwijzen geen andere artikels naar dit artikel. (<a href="' + paginalink + 'Geen_links">Wat moet ik doen?</a>)</div>'
+ '<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-gebruiker" 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-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();
getCategories();
getLinksIn();
getTextLength();
getBeg();
getLinksOut();
checkIfChecked();
getWoordenschat();
setTimeout(removeloading,2000);
// Gecontroleerd, gebruiker, extlink, vreemde link, http, geencat, geenlinks
//Moet nog: weiniglinks, grootkopje, dp
}
function removeloading (){
if (!woordenschat) {
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-ophalen").innerHTML="";
}
function getTextLength (){
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 getCategories () {
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-gebruiker").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 getBeg () {
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( 'checked' );
if (valuechecked === "Done") {
document.getElementById("gadget-hint-gecontroleerd").style.display="";
} else {
getJSONText().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) {
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;
while (typeof temp[tempgetal] !== 'undefined'){
if ( temp[tempgetal]["*"].startsWith("http:") ) {
document.getElementById("gadget-hint-http").style.display="";
} else if (temp[tempgetal]["*"].startsWith("https:")) {
if (beg === true) {
if (temp[tempgetal]["*"] == "https://schooltv.nl/zoekresultaten/?q=" + articletitle ) {
} else if (temp[tempgetal]["*"] == "https://www.youtube.com/results?search_query=" + articletitle ) {
} 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") {
} else if (temp[tempgetal]["*"] == "https://www.google.nl/search?q=" + articletitle ) {
} 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;
}
}
} );
}
function hulpInfo() {
document.getElementsByTagName("h1")[0].textContent = "Speciaal:Opschonen";
document.title = "Help - Opschonen - WikiKids";
infotext = "Op deze pagina kun je artikels controleren. Druk nu gewoon op 'Bekijk pagina's' als je 50 willekeurige artikels wilt controleren. "
+ '<br>Opslaan duurt een paar seconden, wacht totdat je ziet dat de wijziging is doorgevoerd.<br>'
+ '<input type="checkbox" id="allepaginas">Krijg alle pagina\'s op alfabetische volgorde.<br>'
+ 'Start paginanaam met: <input type="text" id="startwith"> (Als dit ingevuld is, wordt het automatisch op alfabetische volgorde)<br>'
+ '<input type="radio" id="notdone" name="VariantD" checked>Ongecontroleerd<br>'
+ '<input type="radio" id="xdone" name="VariantD">Maakt niet uit<br>'
+ '<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 getsettings () {
var allepaginasl = document.getElementById('allepaginas').checked;
var startwithl = document.getElementById('startwith').value;
var themal = document.getElementById('thema').checked;
var themanl = document.getElementById('notthema').checked;
var userl = document.getElementById('user').value;
var aantall = document.getElementById('aantal').value;
var donel = document.getElementById('done').checked;
var donenl = document.getElementById('notdone').checked;
var url = 'https://wikikids.nl/Speciaal:Opschonen?';
if (startwithl) {
url += 'startwith=' + startwithl + '&allepaginas=x&';
} else if (aantall === 'max') {
url +='allepaginas=x&';
} else if (allepaginasl) {
url += 'allepaginas=x&';
}
if (themal) {
url +='thema=x&';
} else if (themanl) {
url +='notthema=x&';
}
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;
}
if (mw.config.get('wgNamespaceNumber') === -1 && mw.config.get('wgTitle') === "Opschonen") {
if (document.URL === "https://wikikids.nl/Speciaal:Opschonen?action=help") {
var infotext;
hulpInfo();
} else {
showAantal = parseInt(mw.util.getParamValue( 'aantal' ));
showUser = mw.util.getParamValue('user');
showStartwith = mw.util.getParamValue('Startwith');
var tussenvoegsel;
if (showUser) {
tussenvoegsel = 'Je vraagt de gegevens op van ' +showUser + ' als hij met dit project mee heeft gedaan, worden zijn bijdragen zo getoont. ';
}
if (showStartwith) {
tussenvoegsel += 'Je wil dat alle artikels starten met een ';
}
document.getElementById('bodyContent').innerHTML = "Laden..." + "Als dit langer dan 10 seconen duurt, melden bij Rots61 met de volledige url.";
var edit_token;
var tempgetal;
var temp;
var Artikelr = [];
var Artikeln = [];
var Artikellink = [];
var getUser;
var Thematemp = [];
var Opmerkingtemp = [];
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);
});
}
}
var showHints = mw.util.getParamValue( 'projectopschonen' );
if (showHints) {
//varvar
var articletitle = mw.config.get('wgPageName');
var articleId = mw.config.get('wgArticleId');
var beg = false;
var dp = 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;
startHints();
}
if ((mw.config.get('wgNamespaceNumber') === 0) && (mw.config.get('wgArticleId') > 1 )) {
document.getElementById("mw-panel").innerHTML +=' Gadget:Opschonen<br> <input type="button" onclick="location.href=\'https://wikikids.nl/Speciaal:Opschonen\';" value="Speciaal:Opschonen" />'
+'<br> <input type="button" onclick="location.href=\'https://wikikids.nl/' + mw.config.get( 'wgPageName' ) + '?projectopschonen=x\';" value="Opschoon hints" />'
+'<br> <input type="button" onclick="addCookie();" value="Voeg toe aan lijst" />';
}