User:JJPMaster/protectionsymbols.js

From Uncyclopedia, the content-free encyclopedia
Jump to navigation Jump to search

Note: After saving, you have to bypass your browser's cache to see the changes.

  • Internet Explorer: hold down the Ctrl key and click the Refresh or Reload button, or press Ctrl+F5.
  • Firefox: hold down the Shift key while clicking Reload; alternatively press Ctrl+F5 or Ctrl-Shift-R.
  • Opera, Konqueror and Safari users can just click the Reload button.
  • Chrome: press Ctrl+F5 or Shift+F5
/**
 * All icons used in this script (linked here for attribution and for WhatLinksHere):
 * [[File:Move-protection-shackle.svg]]
 * [[File:Upload-protection-shackle.svg]]
 * [[File:Semi-protection-unlocked.svg]]
 * [[File:Full-protection-unlocked.svg]]
 * [[File:Extended-protection-unlocked.svg]]
 * [[File:Template-protection-unlocked.svg]]
 * [[File:Semi-protection-shackle.svg]]
 * [[File:Full-protection-shackle.svg]]
 * [[File:Extended-protection-shackle.svg]]
 * [[File:Template-protection-shackle.svg]]
 * [[File:Generic-protected-shackle.svg]]
 * [[File:Create-protection-unlocked.svg]]
 * [[File:Create-protection-shackle.svg]]
 * <nowiki>
 **/
$(function() {
	var userGroups = mw.config.get("wgUserGroups");
	var protImage = "";
	var altProtImage1 = "";
	var altProtImage2 = "";
	var subsection = "";
	// 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]) {
					canMove = true;
				}
			}
		}
		if (canMove) {
		//show the locks in their unlocked state
		} else {
			subsection = "move";
			protImage = "//upload.wikimedia.org/wikipedia/en/thumb/4/44/Move-protection-shackle.svg/20px-Move-protection-shackle.svg.png";
			altProtImage1 = "//upload.wikimedia.org/wikipedia/en/thumb/4/44/Move-protection-shackle.svg/30px-Move-protection-shackle.svg.png";
			altProtImage2 = "//upload.wikimedia.org/wikipedia/en/thumb/4/44/Move-protection-shackle.svg/40px-Move-protection-shackle.svg.png";
		}
	} catch (Error) {
		console.error(Error);
	}
		// can upload
		try {
			var uploadProtectionLevels = mw.config.get("wgRestrictionUpload");
			var canUpload = false;
			if (uploadProtectionLevels.length === 0) {
				canUpload = true;
			} else {
				for (i = 0; i < userGroups.length; i++) {
					if (userGroups[i] === uploadProtectionLevels[0]) {
						canUpload = true;
					}
				}
			}
			if (canUpload) {
			//show the locks in their unlocked state
		} else {
			protImage = "//upload.wikimedia.org/wikipedia/en/thumb/d/d7/Upload-protection-shackle.svg/20px-Upload-protection-shackle.svg.png";
			altProtImage1 = "//upload.wikimedia.org/wikipedia/en/thumb/d/d7/Upload-protection-shackle.svg/30px-Upload-protection-shackle.svg.png";
			altProtImage2 = "//upload.wikimedia.org/wikipedia/en/thumb/d/d7/Upload-protection-shackle.svg/40px-Upload-protection-shackle.svg.png";
			subsection = "upload";
		}
	} catch (Error) {
		console.error(Error);
	}
	// can edit
	try {
		var editProtectionLevels = mw.config.get("wgRestrictionEdit");
		var canEdit = false;
		if (editProtectionLevels.length === 0) {
			canEdit = true;
		} else {
			for (i = 0; i < userGroups.length; i++) {
				if (userGroups[i] === editProtectionLevels[0]) {
					canEdit = true;
				}
			}
		}
		if (canEdit) {
			switch (editProtectionLevels[0]) {
				case "autoconfirmed":  protImage = "//images.uncyclomedia.co/uncyclopedia/en/thumb/3/3c/CocklockSemiProtectedNaked.svg/39px-CocklockSemiProtectedNaked.svg.png";
				altProtImage1 = "//images.uncyclomedia.co/uncyclopedia/en/thumb/3/3c/CocklockSemiProtectedNaked.svg/39px-CocklockSemiProtectedNaked.svg.png";
				altProtImage2 = "//images.uncyclomedia.co/uncyclopedia/en/thumb/3/3c/CocklockSemiProtectedNaked.svg/39px-CocklockSemiProtectedNaked.svg.png";
				subsection = "semi";
				break;
				case "sysop":  protImage = "//images.uncyclomedia.co/uncyclopedia/en/thumb/8/8d/CocklockFullProtectedNaked.svg/39px-CocklockFullProtectedNaked.svg.png";
				altProtImage1 = "//images.uncyclomedia.co/uncyclopedia/en/thumb/8/8d/CocklockFullProtectedNaked.svg/39px-CocklockFullProtectedNaked.svg.png";
				altProtImage2 = "//images.uncyclomedia.co/uncyclopedia/en/thumb/8/8d/CocklockFullProtectedNaked.svg/39px-CocklockFullProtectedNaked.svg.png";
				subsection = "full";
				break;
				case "extendedconfirmed":  protImage = "//images.uncyclomedia.co/uncyclopedia/en/thumb/7/76/Bluecocklock.png/39px-Bluecocklock.png";
				altProtImage1 = "//images.uncyclomedia.co/uncyclopedia/en/thumb/7/76/Bluecocklock.png/39px-Bluecocklock.png";
				altProtImage2 = "//images.uncyclomedia.co/uncyclopedia/en/thumb/8/8d/CocklockFullProtectedNaked.svg/39px-CocklockFullProtectedNaked.svg.png";
				subsection = "extended";
				break;
				default:  protImage = "//upload.wikimedia.org/wikipedia/en/thumb/9/99/Generic-protected-shackle.svg/20px-Generic-protected-shackle.svg.png";
				altProtImage1 = "//upload.wikimedia.org/wikipedia/en/thumb/9/99/Generic-protected-shackle.svg/30px-Generic-protected-shackle.svg.png";
				altProtImage2 = "//upload.wikimedia.org/wikipedia/en/thumb/9/99/Generic-protected-shackle.svg/40px-Generic-protected-shackle.svg.png";
				break;
			}
		} else {
			switch (editProtectionLevels[0]) {
				case "autoconfirmed":  protImage = "//images.uncyclomedia.co/uncyclopedia/en/thumb/3/3c/CocklockSemiProtectedNaked.svg/39px-CocklockSemiProtectedNaked.svg.png";
				altProtImage1 = "//images.uncyclomedia.co/uncyclopedia/en/thumb/3/3c/CocklockSemiProtectedNaked.svg/39px-CocklockSemiProtectedNaked.svg.png";
				altProtImage2 = "//images.uncyclomedia.co/uncyclopedia/en/thumb/3/3c/CocklockSemiProtectedNaked.svg/39px-CocklockSemiProtectedNaked.svg.png";
				subsection = "semi";
				break;
				case "sysop":  protImage = "//images.uncyclomedia.co/uncyclopedia/en/thumb/8/8d/CocklockFullProtectedNaked.svg/39px-CocklockFullProtectedNaked.svg.png";
				altProtImage1 = "//images.uncyclomedia.co/uncyclopedia/en/thumb/8/8d/CocklockFullProtectedNaked.svg/39px-CocklockFullProtectedNaked.svg.png";
				altProtImage2 = "//images.uncyclomedia.co/uncyclopedia/en/thumb/8/8d/CocklockFullProtectedNaked.svg/39px-CocklockFullProtectedNaked.svg.png";
				subsection = "full";
				break;
				case "extendedconfirmed":  protImage = "//images.uncyclomedia.co/uncyclopedia/en/thumb/7/76/Bluecocklock.png/39px-Bluecocklock.png";
				altProtImage1 = "//images.uncyclomedia.co/uncyclopedia/en/thumb/7/76/Bluecocklock.png/39px-Bluecocklock.png";
				altProtImage2 = "//images.uncyclomedia.co/uncyclopedia/en/thumb/8/8d/CocklockFullProtectedNaked.svg/39px-CocklockFullProtectedNaked.svg.png";
				subsection = "extended";
				break;
				default:  protImage = "//upload.wikimedia.org/wikipedia/en/thumb/9/99/Generic-protected-shackle.svg/20px-Generic-protected-shackle.svg.png";
				altProtImage1 = "//upload.wikimedia.org/wikipedia/en/thumb/9/99/Generic-protected-shackle.svg/30px-Generic-protected-shackle.svg.png";
				altProtImage2 = "//upload.wikimedia.org/wikipedia/en/thumb/9/99/Generic-protected-shackle.svg/40px-Generic-protected-shackle.svg.png";
				break;
			}
		}
	} catch (Error) {
		console.error(Error);
	}
	// can create
	try {
		var createProtectionLevels = mw.config.get("wgRestrictionCreate");
		var canCreate = false;
		if (createProtectionLevels.length === 0) {
			canCreate = true;
		} else {
			for (i = 0; i < userGroups.length; i++) {
				if (userGroups[i] === createProtectionLevels[0]) {
					canCreate = true;
				}
			}
		}
		if (canCreate) {
		//show the locks unlocked
			if (createProtectionLevels.length > 0) {
				subsection = "create";
				protImage = "//upload.wikimedia.org/wikipedia/commons/thumb/8/86/Create-protection-unlocked.svg/20px-Create-protection-unlocked.svg.png";
				altProtImage1 = "//upload.wikimedia.org/wikipedia/commons/thumb/8/86/Create-protection-unlocked.svg/30px-Create-protection-unlocked.svg.png";
				altProtImage2 = "//upload.wikimedia.org/wikipedia/commons/thumb/8/86/Create-protection-unlocked.svg/40px-Create-protection-unlocked.svg.png";
			} 
        } else {
			subsection = "create";
			protImage = "//upload.wikimedia.org/wikipedia/en/thumb/0/02/Create-protection-shackle.svg/20px-Create-protection-shackle.svg.png";
			altProtImage1 = "//upload.wikimedia.org/wikipedia/en/thumb/0/02/Create-protection-shackle.svg/30px-Create-protection-shackle.svg.png";
			altProtImage2 = "//upload.wikimedia.org/wikipedia/en/thumb/0/02/Create-protection-shackle.svg/40px-Create-protection-shackle.svg.png";
        }
	} catch (Error) {
		console.error(Error);
	}
	if (protImage.length > 0) {
		try {
			document.getElementById("mw-indicator-pp-default").innerHTML = "<span><a title=\"This page is protected.\" href=\"https://en.wikipedia.org/wiki/Wikipedia:Protection_policy#" + subsection + "\"><img height=\"20\" src=\"" + protImage + "\" srcset=\"" + altProtImage1 + " 1.5x, " + altProtImage2 + " 2x\" alt=\"Protected page lock\"></a></span>";
		} catch (Error) {
			document.getElementsByClassName("mw-indicators")[0].innerHTML += "<div class=\"mw-indicator\" id=\"mw-indicator-pp-default\"><span><a title=\"This page is protected.\" href=\"https://en.wikipedia.org/wiki/Wikipedia:Protection_policy#" + subsection + "\"><img height=\"20\" src=\"" + protImage + "\" srcset=\"" + altProtImage1 + " 1.5x, " + altProtImage2 + " 2x\" alt=\"Protected page lock\"></a></span></div>";
		}
	}
});
//</nowiki>