Jump to content

User:Awesome Aasim/DetectProtectionLevels.js

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Awesome Aasim (talk | contribs) at 04:15, 16 November 2018. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
$(function() {
var userGroups = mw.config.get("wgUserGroups");
var protImage = "";
var altProtImage1 = "";
var altProtImage2 = "";
// can upload
try {
var uploadProtectionLevels = mw.config.get("wgRestrictionUpload");
var canUpload = false;
if (uploadProtectionLevels.length == 0) {
	canUpload = true;
} else {
	for (var i = 0; i < userGroups.length; i++) {
	    if (userGroups[i] === uploadProtectionLevels[0]) {
	        canUpload = true;
	    }
	}
}
if (canUpload) {
	//show the locks in their unlocked state
} else {
	protImage = "/media/wikipedia/en/thumb/d/d7/Upload-protection-shackle.svg/20px-Upload-protection-shackle.svg.png";
	altProtImage1 = "/media/wikipedia/en/thumb/d/d7/Upload-protection-shackle.svg/30px-Upload-protection-shackle.svg.png";
	altProtImage2 = "/media/wikipedia/en/thumb/d/d7/Upload-protection-shackle.svg/40px-Upload-protection-shackle.svg.png";
}
if (protImage.length > 0) { 
	document.getElementById("firstHeading").innerHTML += "<div align=\"right\"><a title=\"This page is upload-protected.\" href=\"/wiki/Wikipedia:Protection_policy\"><img height=\"20\" src=\"" + protImage + "\" srcset=\"" + altProtImage1 + " 1.5x, " + altProtImage2 + " 2x\" alt=\"" + editProtectionLevels[0] + "\"></a></div>";
}
} catch (Error) {
	console.log(Error);
}
// can move
try {
var moveProtectionLevels = mw.config.get("wgRestrictionMove");
var canMove = false;
if (moveProtectionLevels.length == 0) {
	canMove = true;
} else {
	for (var i = 0; i < userGroups.length; i++) {
	    if (userGroups[i] === moveProtectionLevels[0]) {
	        canUpload = true;
	    }
	}
}
if (canMove) {
	//show the locks in their unlocked state
} else {
	protImage = "/media/wikipedia/en/thumb/4/44/Move-protection-shackle.svg/20px-Move-protection-shackle.svg.png";
	altProtImage1 = "/media/wikipedia/en/thumb/4/44/Move-protection-shackle.svg/30px-Move-protection-shackle.svg.png";
	altProtImage2 = "/media/wikipedia/en/thumb/4/44/Move-protection-shackle.svg/40px-Move-protection-shackle.svg.png";
}
if (protImage.length > 0) { 
	document.getElementById("firstHeading").innerHTML += "<div align=\"right\"><a title=\"This page is move-protected.\" href=\"/wiki/Wikipedia:Protection_policy\"><img height=\"20\" src=\"" + protImage + "\" srcset=\"" + altProtImage1 + " 1.5x, " + altProtImage2 + " 2x\" alt=\"" + editProtectionLevels[0] + "\"></a></div>";
}
} catch (Error) {
	console.log(Error);
}
// can edit
try {
var editProtectionLevels = mw.config.get("wgRestrictionEdit");
var canEdit = false;
if (editProtectionLevels.length == 0) {
	canEdit = true;
} else {
	for (var i = 0; i < userGroups.length; i++) {
	    if (userGroups[i] === editProtectionLevels[0]) {
	        canEdit = true;
	    }
	}
}
if (canEdit) {
	//show the locks in their unlocked state
	switch (editProtectionLevels[0]) {
		case "autoconfirmed":  protImage = "/media/wikipedia/en/thumb/d/db/Pending-protection-unlocked.svg/20px-Pending-protection-unlocked.svg.png";
		altProtImage1 = "/media/wikipedia/en/thumb/d/db/Pending-protection-unlocked.svg/30px-Pending-protection-unlocked.svg.png";
		altProtImage2 = "/media/wikipedia/en/thumb/d/db/Pending-protection-unlocked.svg/40px-Pending-protection-unlocked.svg.png";
		break;
		case "sysop":  protImage = "/media/wikipedia/en/thumb/4/40/Full-protection-unlocked.svg/20px-Full-protection-unlocked.svg.png";
		altProtImage1 = "/media/wikipedia/en/thumb/4/40/Full-protection-unlocked.svg/30px-Full-protection-unlocked.svg.png";
		altProtImage2 = "/media/wikipedia/en/thumb/4/40/Full-protection-unlocked.svg/40px-Full-protection-unlocked.svg.png"
		break;
		case "extendedconfirmed":  protImage = "/media/wikipedia/en/thumb/d/db/Extended-protection-unlocked.svg/20px-Extended-protection-unlocked.svg.png";
		altProtImage1 = "/media/wikipedia/en/thumb/d/db/Extended-protection-unlocked.svg/30px-Extended-protection-unlocked.svg.png";
		altProtImage2 = "/media/wikipedia/en/thumb/d/db/Extended-protection-unlocked.svg/40px-Extended-protection-unlocked.svg.png"
		break;
		case "templateeditor":  protImage = "/media/wikipedia/en/thumb/5/5a/Template-protection-unlocked.svg/20px-Template-protection-unlocked.svg.png";
		altProtImage1 = "/media/wikipedia/en/thumb/5/5a/Template-protection-unlocked.svg/30px-Template-protection-unlocked.svg.png";
		altProtImage2 = "/media/wikipedia/en/thumb/5/5a/Template-protection-unlocked.svg/40px-Template-protection-unlocked.svg.png";
		break;
	}
} else {
	switch (editProtectionLevels[0]) {
		case "autoconfirmed":  protImage = "/media/wikipedia/en/thumb/1/1b/Semi-protection-shackle.svg/20px-Semi-protection-shackle.svg.png";
		altProtImage1 = "/media/wikipedia/en/thumb/1/1b/Semi-protection-shackle.svg/30px-Semi-protection-shackle.svg.png";
		altProtImage2 = "/media/wikipedia/en/thumb/1/1b/Semi-protection-shackle.svg/40px-Semi-protection-shackle.svg.png"
		break;
		case "sysop":  protImage = "/media/wikipedia/en/thumb/4/44/Full-protection-shackle.svg/20px-Full-protection-shackle.svg.png";
		altProtImage1 = "/media/wikipedia/en/thumb/4/44/Full-protection-shackle.svg/30px-Full-protection-shackle.svg.png";
		altProtImage2 = "/media/wikipedia/en/thumb/4/44/Full-protection-shackle.svg/40px-Full-protection-shackle.svg.png";
		break;
		case "extendedconfirmed":  protImage = "/media/wikipedia/en/thumb/8/8c/Extended-protection-shackle.svg/20px-Extended-protection-shackle.svg.png";
		altProtImage1 = "/media/wikipedia/en/thumb/8/8c/Extended-protection-shackle.svg/30px-Extended-protection-shackle.svg.png";
		altProtImage2 = "/media/wikipedia/en/thumb/4/44/Full-protection-shackle.svg/40px-Full-protection-shackle.svg.png";
		break;
		case "templateeditor":  protImage = "/media/wikipedia/en/thumb/5/53/Template-protection-shackle.svg/20px-Template-protection-shackle.svg.png";
		altProtImage1 = "/media/wikipedia/en/thumb/5/53/Template-protection-shackle.svg/30px-Template-protection-shackle.svg.png";
		altProtImage2 = "/media/wikipedia/en/thumb/5/53/Template-protection-shackle.svg/40px-Template-protection-shackle.svg.png";
		break;
		default:  protImage = "/media/wikipedia/en/thumb/5/59/Padlock.svg/20px-Padlock.svg.png";
		altProtImage1 = "/media/wikipedia/en/thumb/5/59/Padlock.svg/30px-Padlock.svg.png";
		altProtImage2 = "/media/wikipedia/en/thumb/5/59/Padlock.svg/40px-Padlock.svg.png";
		break;
	}
}
if (protImage.length > 0) { 
	document.getElementById("firstHeading").innerHTML += "<div align=\"right\"><a title=\"This page is protected from editing.\" href=\"/wiki/Wikipedia:Protection_policy\"><img height=\"20\" src=\"" + protImage + "\" srcset=\"" + altProtImage1 + " 1.5x, " + altProtImage2 + " 2x\" alt=\"" + editProtectionLevels[0] + "\"></a></div>";
}
} catch (Error) {
	console.log(Error);
}
// can create
try {
var createProtectionLevels = mw.config.get("wgRestrictionCreate");
var canCreate = false;
if (createProtectionLevels.length == 0) {
	canCreate = true;
} else {
	for (var i = 0; i < userGroups.length; i++) {
	    if (userGroups[i] === createProtectionLevels[0]) {
	        canCreate = true;
	    }
	}
}
if (canCreate) {
	//show the locks unlocked
	if (createProtectionLevels.length > 0) {
		protImage = "/media/wikipedia/en/thumb/8/86/Create-protection-unlocked.svg/20px-Create-protection-unlocked.svg.png";
		altProtImage1 = "/media/wikipedia/en/thumb/8/86/Create-protection-unlocked.svg/30px-Create-protection-unlocked.svg.png";
		altProtImage2 = "/media/wikipedia/en/thumb/8/86/Create-protection-unlocked.svg/40px-Create-protection-unlocked.svg.png";
	}
} else {
	protImage = "/media/wikipedia/en/thumb/0/02/Create-protection-shackle.svg/20px-Create-protection-shackle.svg.png";
	altProtImage1 = "/media/wikipedia/en/thumb/0/02/Create-protection-shackle.svg/30px-Create-protection-shackle.svg.png";
	altProtImage2 = "/media/wikipedia/en/thumb/0/02/Create-protection-shackle.svg/40px-Create-protection-shackle.svg.png";
}
if (protImage.length > 0) { 
	document.getElementById("firstHeading").innerHTML += "<div align=\"right\"><a title=\"This page is protected from creation.\" href=\"/wiki/Wikipedia:Protection_policy\"><img height=\"20\" src=\"" + protImage + "\" srcset=\"" + altProtImage1 + " 1.5x, " + altProtImage2 + " 2x\" alt=\"" + editProtectionLevels[0] + "\"></a></div>";
}
} catch (Error) {
	console.log(Error);
}
});