Gebruiker:MakiBoy/Gadget-TestGadget.js: verschil tussen versies

Uit Wikikids
Naar navigatie springen Naar zoeken springen
(-bots)
Regel 96: Regel 96:
 
if (mw.config.get('wgUserEditCount') < 5) {
 
if (mw.config.get('wgUserEditCount') < 5) {
 
// processchanges();
 
// processchanges();
if (!mw.config.get('wgIsRedirect')) {
+
var userAgent = navigator.userAgent;
if (document.referrer !== document.URL) { //controleerd of de vorige pagina niet hetzelfde is als deze pagina
+
if (!userAgent.includes('bot')) { //controleert of de bezoeker een bot is, dan wordt het niet gelogd.
if (window.performance) {//controleert of het kan controleren
+
if (!mw.config.get('wgIsRedirect')) {
if (performance.navigation.type != performance.navigation.TYPE_RELOAD) {//controleert of de pagina niet is herladen
+
if (document.referrer !== document.URL) { //controleert of de vorige pagina niet hetzelfde is als deze pagina
 +
if (window.performance) {//controleert of het kan controleren
 +
if (performance.navigation.type != performance.navigation.TYPE_RELOAD) {//controleert of de pagina niet is herladen
 +
processview();
 +
}
 +
} else {
 
processview();
 
processview();
 
}
 
}
} else {
 
processview();
 
 
}
 
}
 
}
 
}
 
}
 
}
} else { // Als een gebruiker meer dan 5 bewerkingen heeft krijgt hij deze informatie in zijn browser voor 1 dag. Hierdoor kan hij uitgelogd ook geen invloed uitoefenen op de statistieken.  
+
} else { // Als een gebruiker meer dan 5 bewerkingen heeft krijgt hij deze informatie in zijn browser voor 1 dag. Hierdoor kan hij uitgelogd (tijdelijk) geen invloed uitoefenen op de statistieken.  
 
disableViewLoggingLC();
 
disableViewLoggingLC();
 
}
 
}

Versie van 11 mrt 2023 19:11

//Waarschuwing, heeft impact op alle bezoekers van WikiKids!  
//Script geschreven door MakiBoy en Rots61

function processview() {
	/* 
    if (mw.config.get('wgIsMainPage')) { //Hoofdpagina 
    	//veranderd de "hp-newpagessection" zodat elke link hier eindigd op '?x=hp'  
		var nps = document.getElementById("hp-newpagessection").innerHTML;
		nps = nps.replaceAll('\" title=', '?x=hp\" title=');
		document.getElementById("hp-newpagessection").innerHTML = nps;
		// "hp-artikel"
		var hpa = document.getElementById("hp-artikel").innerHTML;
		hpa = hpa.replaceAll('\" title=', '?x=hp\" title=');
		document.getElementById("hp-artikel").innerHTML = hpa;
		// "hp-portaaloverzicht"
		var hppo = document.getElementById("hp-portaaloverzicht").innerHTML;
		hppo = hppo.replaceAll('\" title=', '?x=hp\" title=');
		document.getElementById("hp-portaaloverzicht").innerHTML = hppo;
		// "hp-menu"
		var hpm = document.getElementById("hp-menu").innerHTML;
		hpm = hpm.replaceAll('\" title=', '?x=hp\" title=');
		document.getElementById("hp-menu").innerHTML = hpm;
		// "hp-afbeelding"
		var hpaf = document.getElementById("hp-afbeelding").innerHTML;
		hpaf = hpaf.replaceAll('\" title=', '?x=hp\" title=');
		document.getElementById("hp-afbeelding").innerHTML = hpaf;
    }
    if (mw.config.get('wgNamespaceNumber') === 14) {//Alle categorieën
    	//veranderd de "bodyContent" van de categorieën zodat elke link eindigd op '?x=ca'  
		var bcc = document.getElementById("bodyContent").innerHTML;
		bcc = bcc.replaceAll('\" title=', '?x=ca\" title=');
		document.getElementById("bodyContent").innerHTML = bcc;
    }
    */
    var object;
    var loggedPages = [1, 61839, 97842, 2429, 5756, 138368, 149810, 149866, 40669, 2430, 25376];
    if ((mw.config.get('wgArticleId') > 0 && (mw.config.get('wgNamespaceNumber') === 0 || ( mw.config.get('wgNamespaceNumber') === 14) ||mw.config.get('wgNamespaceNumber') === 100)) || (loggedPages.includes(mw.config.get('wgArticleId'))) && (mw.config.get('wgAction') == "view")) {
    	//Een bestaande pagina in de naamruimte 0 (artikels), 14 (categorie) of 100 (portaal). 
    	//Of een artikel met een ID in de array 'loggedPages'. 
    	//En alleen als de pagina wordt bekeken (dus niet als het wordt bewerkt of iets anders) 
	    object = {
	        title: mw.config.get('wgPageName'),
	        fromMainPage: false
	    };
	    // Detecteert de mobiele telefoon
	    if (navigator.userAgent.match(/Android/i)|| navigator.userAgent.match(/webOS/i)|| navigator.userAgent.match(/iPhone/i)
         || navigator.userAgent.match(/iPad/i)|| navigator.userAgent.match(/iPod/i)|| navigator.userAgent.match(/BlackBerry/i)
         || navigator.userAgent.match(/Windows Phone/i)) {
            object.fromMainPage = true;
        }
        /*
	    if (mw.util.getParamValue('x') === "li") { //Links //hp = hoofdpagina //ca = categorie
	        object.fromMainPage = true;
	    }
	    */
	    /* Deze bezoeker is hier gekomen via wikikids. Intern
	    if ((new RegExp('(://wikikids.nl|://www.wikikids.nl)')).test(document.referrer)) {
	    	object.fromMainPage = true;
	    }
	    */
        fetch("https://wikikids.martvanweeghel.nl/pages",
            {
                headers: {
                    'Accept': 'application/json',
                    'Content-Type': 'application/json'
                },
                method: "POST",
                body: JSON.stringify(object)
            })
            .then(function (res) {})
            .catch(function (res) {});
    }
}

function processchanges() {
	// Veranderd alle links zodat er een achtervoegsel bijkomt waardoor we kunnen zien wie via links onze pagina's bezoekt. 
	// Niet in gebruik
	var anchors = document.getElementsByTagName("a");
	for (var i = 0; i < anchors.length; i++) {
	    if (anchors[i].hash) {
	    } else if (anchors[i].href.includes('Gebruiker:')) {
	    } else if (anchors[i].href.includes('Overleg')) {
	    } else if (anchors[i].href.includes('index.php')) {
	    } else if (anchors[i].href.includes('Bestand:')) {
	    } else if (anchors[i].href.includes('Speciaal:')) {
	    } else if (anchors[i].href.includes('?')) {
	    } else if (!anchors[i].href.includes('wikikids')) {
	    } else {
	    	anchors[i].href = anchors[i].href + '?x=li';
	    }
	}
}

$.when($.ready, mw.loader.using(['mediawiki.util'])).done(function () {
	if (!mw.storage.get('disableLoggingLC')) {
		if (mw.config.get('wgUserEditCount') < 5) {
			// processchanges();
			var userAgent = navigator.userAgent; 
			if (!userAgent.includes('bot')) { //controleert of de bezoeker een bot is, dan wordt het niet gelogd. 
				if (!mw.config.get('wgIsRedirect')) {
					if (document.referrer !== document.URL) { //controleert of de vorige pagina niet hetzelfde is als deze pagina
						if (window.performance) {//controleert of het kan controleren
							if (performance.navigation.type != performance.navigation.TYPE_RELOAD) {//controleert of de pagina niet is herladen
								processview();
							}
						} else {
							processview();
						}
					}
				}
			}
		} else { // Als een gebruiker meer dan 5 bewerkingen heeft krijgt hij deze informatie in zijn browser voor 1 dag. Hierdoor kan hij uitgelogd (tijdelijk) geen invloed uitoefenen op de statistieken. 
			disableViewLoggingLC();
		}
	}
});

if (mw.config.get('wgNamespaceNumber') === -1 && (mw.config.get('wgTitle') === "LogCounter" || (mw.config.get('wgTitle') === "Statistieken Wikikids" ||mw.config.get('wgTitle') === "Statistieken WikiKids"))) {
	document.getElementById('bodyContent').innerHTML = `Login om de statistieken te zien. <br><input id="passwordLC"><button onclick="if (document.getElementById('passwordLC').value === 'WikiStats') {
	disableViewLoggingLC(1800);
	alert('Herlaad de pagina');
	}">Login</button>`;
}

function disableViewLoggingLC (timeLC=86400){
	mw.storage.set('disableLoggingLC', true, timeLC);
}
Afkomstig van Wikikids , de interactieve Nederlandstalige Internet-encyclopedie voor en door kinderen. "https://wikikids.nl/index.php?title=Gebruiker:MakiBoy/Gadget-TestGadget.js&oldid=773372"