Jump to content

User:HelloAnnyong/sockblock.js

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by HelloAnnyong (talk | contribs) at 21:10, 29 January 2011 (yoink). 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.
/**
 * Sockblock script
 * Just a little script I put together. When you're on a user talk page, it adds two links to the Toolbox on the left, one for master and one for sock. 
 * Clicking on them just copies the appropriate options into the edit box, making life a little easier.
 *
 * last updated 2011.01.29
 */

/**
 * shamelessly taken from User:Steel359/protection.js
 */
function queryString(p) {
	var re = RegExp('[&?]' + p + '=([^&]*)');
	var matches;
	if (matches = re.exec(document.location)) {
		try { 
			return decodeURI(matches[1]);
		} catch (e) {
		}
	}
	return null;
};

function isUserTalkPage()
{
	return (wgPageName.match(/User_talk:/) && (wgAction=='edit' || wgAction=='submit'));
}

function addSockBlock(isMaster)
{
	if(isMaster == undefined)
		isMaster = false;
	
	if(isUserTalkPage())
	{
		var editform = document.editform;
		var textbox = editform.wpTextbox1;
		
		var toAdd = (textbox.value.trim() != "" ? "\n" : '');
		
		if(queryString("section")=="new")
		{
			editform.wpSummary = "Blocked";
		}
		else
		{
			toAdd += "== Blocked ==\n";
		}

		toAdd += "{{subst:SockBlock\n";
		
		if(isMaster)
		{
			toAdd += "| master      = \n" +
					 "| suspected   = \n" +
					 "| blocked     = \n" +
					 "| notalk      = \n" +
					 "| color       = \n";
		}
		else
		{
			toAdd += "| masterblock = \n" +
					 "| period      = \n" +
					 "| evidence    = [[]]\n";
		}
		
		toAdd += "| sig         = yes\n" +
				 "}}";
		
		textbox.value += toAdd;
	}
}

addOnloadHook(function () {
	
	if(isUserTalkPage())
	{
		addPortletLink('p-tb', 'javascript:addSockBlock(true)', 'SockBlock - master', 't-sockblockmaster', 'SockBlock - master', '', '');
		addPortletLink('p-tb', 'javascript:addSockBlock(false)', 'SockBlock - sock', 't-sockblocksock', 'SockBlock - sock', '', '');
	}

});