Gebruiker:Xxmarijnw/ipv6rangefinder.js

Opmerking: nadat u de wijzigingen hebt gepubliceerd is het wellicht nodig uw browsercache te legen.

  • Firefox / Safari: houd Shift ingedrukt terwijl u op Vernieuwen klikt of druk op Ctrl-F5 of Ctrl-R (⌘-Shift-R op een Mac)
  • Google Chrome: druk op Ctrl-Shift-R (⌘-Shift-R op een Mac)
  • Internet Explorer / Edge: houd Ctrl ingedrukt terwijl u op Vernieuwen klikt of druk op Ctrl-F5
  • Opera: druk op Ctrl-F5.
// Script dat linken onder "Hulpmiddelen" plaatst bij pagina's van IPv6-adressen die verwijzen naar de /48- en /64-rangepagina en -bijdragen. Je kunt dit script installeren door importScript("Gebruiker:Xxmarijnw/rangefinder.js") op Gebruiker:<naam>/common.js te plaatsen.

let match, match48;

const namespace = mw.config.get( 'wgNamespaceNumber' );
const title = mw.config.get( 'wgTitle' );

if (namespace === 2 || namespace === 3) {
	match = new RegExp("^[a-zA-Z0-9]{1,4}:[a-zA-Z0-9]{1,4}:[a-zA-Z0-9]{1,4}:[a-zA-Z0-9]{1,4}(?=:)");
	match48 = new RegExp("^[a-zA-Z0-9]{1,4}:[a-zA-Z0-9]{1,4}:[a-zA-Z0-9]{1,4}(?=:)");
} else if (namespace === -1) {
	match = new RegExp("(?<=/)[a-zA-Z0-9]{1,4}:[a-zA-Z0-9]{1,4}:[a-zA-Z0-9]{1,4}:[a-zA-Z0-9]{1,4}(?=:)");
	match48 = new RegExp("(?<=/)[a-zA-Z0-9]{1,4}:[a-zA-Z0-9]{1,4}:[a-zA-Z0-9]{1,4}(?=:)");
}
	
if (match !== undefined && match.test(title)) {
	let range = match.exec(title) + ":0:0:0:0/64";
	let range48 =  match48.exec(title) + ":0:0:0:0:0/48";

	let link = mw.config.get( 'wgServer' ) + "/wiki/User_talk:" + range;
	let link48 = mw.config.get( 'wgServer' ) + "/wiki/User_talk:" + range48;
	let linkContribs = mw.config.get( 'wgServer' ) + "/wiki/Special:Contributions/" + range;
	let linkContribs48 = mw.config.get( 'wgServer' ) + "/wiki/Special:Contributions/" + range48;

	if((title != "Bijdragen/" + range) && (title != "Bijdragen/" + range48)) {
		if (title != range && title != range48) {
			if(namespace === 2 || namespace === 3) {
				mw.util.addPortletLink( 'p-tb', link48, '/48-range van dit IPv6' );
				mw.util.addPortletLink( 'p-tb', link, '/64-range van dit IPv6' );
			}

			mw.util.addPortletLink( 'p-tb', linkContribs48, '/48-Rangebijdragen van dit IPv6' );
			mw.util.addPortletLink( 'p-tb', linkContribs, '/64-Rangebijdragen van dit IPv6' );
		} else {
			if(namespace === 2 || namespace === 3) {
				document.getElementById("t-contributions").style.display = 'none';
			}
			
			mw.util.addPortletLink( 'p-tb', linkContribs48, '/48-Rangebijdragen van deze IPv6-range' );
			mw.util.addPortletLink( 'p-tb', linkContribs, '/64-Rangebijdragen van deze IPv6-range' );
		}
	}
}