Gebruiker:Rots61/Gadget-Opschonen.js: verschil tussen versies

Uit Wikikids
Naar navigatie springen Naar zoeken springen
(Nieuwe pagina aangemaakt met '→‎jshint sub:true maxerr:100000: function showProject (text) { document.getElementsByTagName("h1")[0].textContent = "Speciaal:Opschonen"; document.title = "Ops...')
 
Regel 90: Regel 90:
 
if (text["X"][Artikeln[tempgetal]]["D"]) {
 
if (text["X"][Artikeln[tempgetal]]["D"]) {
 
} else {
 
} else {
var getKnop3 = document.getElementById("Radio3." + tempgetal);
+
getKnop3 = document.getElementById("Radio3." + tempgetal);
 
if (getKnop3 && getKnop3.checked) {
 
if (getKnop3 && getKnop3.checked) {
 
} else {
 
} else {
Regel 105: Regel 105:
 
getopmerking = "";
 
getopmerking = "";
 
}
 
}
var getKnop1 = document.getElementById("Radio1." + tempgetal);
+
getKnop1 = document.getElementById("Radio1." + tempgetal);
var getKnop2 = document.getElementById("Radio2." + tempgetal);
+
getKnop2 = document.getElementById("Radio2." + tempgetal);
 
if (getKnop1 && getKnop1.checked) {
 
if (getKnop1 && getKnop1.checked) {
 
if (getopmerking) {
 
if (getopmerking) {
Regel 112: Regel 112:
 
text["X"][Artikeln[tempgetal]]["O"] = getopmerking;
 
text["X"][Artikeln[tempgetal]]["O"] = getopmerking;
 
text["X"][Artikeln[tempgetal]]["D"] = "D";
 
text["X"][Artikeln[tempgetal]]["D"] = "D";
text["X"][Artikeln[tempgetal]]["D"];
 
 
} else {
 
} else {
 
delete text.X[Artikeln[tempgetal]];
 
delete text.X[Artikeln[tempgetal]];
Regel 213: Regel 212:
 
var tempgetal;
 
var tempgetal;
 
var temp;
 
var temp;
var aantalArtikels;
 
 
var Artikelr = [];
 
var Artikelr = [];
 
var Artikeln = [];
 
var Artikeln = [];
Regel 221: Regel 219:
 
var Thematempx;
 
var Thematempx;
 
var Opmerkingtempx;
 
var Opmerkingtempx;
var Link = [];
 
var Knop = [];
 
 
var Knop1x = [];
 
var Knop1x = [];
 
var Knop2x = [];
 
var Knop2x = [];
Regel 230: Regel 226:
 
var tabel;
 
var tabel;
 
var eindetabel;
 
var eindetabel;
var addarticlereturn;
 
 
var highArtikelr;
 
var highArtikelr;
 
var showAantal;
 
var showAantal;
Regel 239: Regel 234:
 
var getKnop1;
 
var getKnop1;
 
var randomNumber;
 
var randomNumber;
var addarticle;
 
 
getText().done( function(text) {
 
getText().done( function(text) {
 
console.log(text);
 
console.log(text);

Versie van 21 dec 2022 23:04

/* jshint sub:true maxerr:100000 */
function showProject (text) {
	document.getElementsByTagName("h1")[0].textContent = "Speciaal:Opschonen";
	document.title = "Opschonen - WikiKids";
	tempgetal = 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 jij controleren. Als je 100 artikels wilt, pas je de url aan naar 'https://wikikids.nl/Speciaal:Opschonen?aantal=100'. De eerste 4 zijn op dit moment voor iedereen hetzelfde. Pas deze vier niet aan!"
	+ '<br>Dit is nog geen uiteindelijke versie van de pagina, pagina\'s die je nu afvinkt, worden niet afgevinkt op de echte lijst. Opslaan duurt een paar seconden, wacht totdat je ziet dat het is aangepast.'
	+ '<br><input type="text" id="addarticle" name="addarticle" disabled> <button onclick="addArticletolist()" value="X">Voeg toe</button><small><small>(Ja hierachter staat "undefined", dat kan ik niet weghalen.)</small></small> '
	+ '<table class="wikitable"> <tbody> <tr> <th width="1"><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 = parseInt(mw.util.getParamValue( 'aantal' ));
	if (showAantal) {
		showAantal = showAantal + 1;
	} else {
		showAantal = 11; 
	}
	while (tempgetal !== showAantal) {
		Artikeln[tempgetal] = getRandomNumber(text, tempgetal);
		Artikelr[tempgetal] = text["X"][Artikeln[tempgetal]]["N"];
		if (text["X"][Artikeln[tempgetal]]["D"]) {
			gedaan[tempgetal] = " disabled"; 
			text["X"][Artikeln[tempgetal]]["T"] = "&nbsp;";
			Knop1x[tempgetal] = "";
			Knop2x[tempgetal] = "";
			Knop3x[tempgetal] = '<td colspan="3" style="color:green; font-weight: bold;">Gedaan</td>';
		} else {
			gedaan[tempgetal] = "";
			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["X"][Artikeln[tempgetal]]["U"]){
			vorigeuser[tempgetal] = ' <div style="float: right; font-weight: bold; text-align: right">' + text["X"][Artikeln[tempgetal]]["U"] + '</div>';
		} else {
			vorigeuser[tempgetal] = "";
		}
		if (text["X"][Artikeln[tempgetal]]["O"]){
			Opmerking[tempgetal] = text["X"][Artikeln[tempgetal]]["O"];
		} else {
			Opmerking[tempgetal] = '<input type="text" id=Opmerking' + tempgetal + ' name=Opmerking' + tempgetal + ' size=70">'; 
		}
		if (text["X"][Artikeln[tempgetal]]["T"]){
			Thema[tempgetal] = '<center>' + text["X"][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] + '" 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;
	}
	eindetabel += '</tbody></table> <button onclick="startIT()">Opslaan</button>';
	document.getElementById('bodyContent').innerHTML = tabel + eindetabel;
	mw.notify("Welkom!");
}

function Change1(getal){
	document.getElementById('Thema' + getal).disabled = true;
	document.getElementById('Opmerking' + getal).disabled = false;
	Thematemp[getal] = document.getElementById('Thema' + getal).value;
	document.getElementById('Thema' + getal).value = "";
}

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){
	document.getElementById('Thema' + getal).disabled = true;
	document.getElementById('Opmerking' + getal).disabled = true;
	Thematemp[getal] = document.getElementById('Thema' + getal).value;
	Opmerkingtemp[getal] = document.getElementById('Opmerking' + getal).value;
	document.getElementById('Thema' + getal).value = "";
	document.getElementById('Opmerking' + getal).value = "";
}

function startIT() {
getText().done( function ( text ) {
	tempgetal = 1;
	highArtikelr = Artikelr.length;
	while (tempgetal !== highArtikelr) {
		if (text["X"][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["X"][Artikeln[tempgetal]]["U"] = mw.config.get('wgUserName');
						text["X"][Artikeln[tempgetal]]["O"] = getopmerking;
						text["X"][Artikeln[tempgetal]]["D"] = "D";
					} else {
						delete text.X[Artikeln[tempgetal]];
					}
				} else if ((getKnop2 && getKnop2.checked) || getopmerking || getonderwerp) {
					text["X"][Artikeln[tempgetal]]["U"] = mw.config.get('wgUserName');
					text["X"][Artikeln[tempgetal]]["O"] = getopmerking;
					text["X"][Artikeln[tempgetal]]["T"] = getonderwerp;
				}
				}
			}
		tempgetal +=1;
	}
	editpage(text);
});
}

function getText() {
	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;
		return JSON.parse(text["*"]);
	});
}

function editpage(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 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 (text, nummer) {
	randomNumber = Math.floor(Math.random() * text["X"].length) +1 ;
	switch (nummer) {
		case 1: 
			randomNumber = 23005; 
			break;
		case 2:
			randomNumber = 6303;
			break;
		case 3: 
			randomNumber = 23453;
			break;
		case 4:
			randomNumber = 28811;
			break;
		case 5:
			randomNumber = 4292;
			break;
		default:
	}
	if (text["X"][randomNumber]) {
		return randomNumber;
	} else {
		console.log("Y:" + randomNumber);
		return getRandomNumber(text);
	}
}

if (mw.config.get('wgNamespaceNumber') === -1 && mw.config.get('wgTitle') === "Opschonen") { 
	var text;
	var api = new mw.Api();
	var edit_token;
	var tempgetal;
	var temp;
	var Artikelr = [];
	var Artikeln = [];
	var Artikellink = [];
	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 getKnop3;
	var getKnop2;
	var getKnop1;
	var randomNumber;
	getText().done( function(text) {
		console.log(text);
		showProject(text);
		});
}
Afkomstig van Wikikids , de interactieve Nederlandstalige Internet-encyclopedie voor en door kinderen. "https://wikikids.nl/index.php?title=Gebruiker:Rots61/Gadget-Opschonen.js&oldid=755543"