User:Steel/monobook.js

From Wikipedia, the free encyclopedia

If a message on your talk page led you here, please be wary of who left it. Code that you insert on this page could contain malicious content capable of compromising your account. If you are unsure whether code you are adding to this page is safe, you can ask at the appropriate village pump. If this is a .js page, the code will be executed when previewing the page.
Note: After saving, you have to bypass your browser's cache to see the changes. In Internet Explorer and Firefox, hold down the Ctrl key and click the Refresh or Reload button. Opera users have to clear their caches through Tools→Preferences, see the instructions for Opera. Konqueror and Safari users can just click the Reload button.
// <pre><nowiki>
 
// [[User:Lupin/popups.js]]
importScript('User:Lupin/popups.js');
 
popupHideDelay=0.0;
popupAdminLinks=true;
popupOnEditSelection=false;
popupFixDabs=true;
popupRedlinkRemoval=true
 
importScript('User:Voice_of_All/Addtabs/monobook.js');
importScript('User:Voice_of_All/replacetxt.js');
// importScript('User:Steel359/VoA.js'); // From User:Voice_of_All/Specialadmin/monobook.js
importScript('User:Steel359/tag.js');
importScript('User:Steel359/watchlist.js');
importScript('User:Zocky/PicturePopups.js');
importScript('User:AuburnPilot/csd.js');
importScript('User:Gracenotes/rollback.js');
importScript('User:Splarka/lifilter.js');
 
  if (document.title.indexOf("User contributions") != -1) {
importScript('User:Mr.Z-man/rollbackSummary.js');
};
 
// Auto 24hr vandalblock
 
  if (document.title.indexOf("User contributions") != -1) {
 
addOnloadHook(function () {
    var href = document.getElementById('t-contributions');
    if (href) href = href.getElementsByTagName('a');
    if (href) href = href[0];
    if (href) href = href.href;
    else href = window.location.href;
 
    var addr = /(\/wiki\/|[?&]title=)Special:Contributions(\/([^\/?&#]*)|[?&#]|$)/.exec(href);
    if (!addr) return;
    addr = addr[3];
    if (!addr) {
        addr = /^[^?#]*\?([^&#]*&)*target=([^&#]*)/.exec(href);
        if (!addr) return;
        addr = addr[2];
    }
 
    if ( addr == wgUserName ) {
    return;
 
    } else 
    if (!/^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$/.test(addr)) {
 
        addLink('p-navigation', 'h'+'ttp://en.wikipedia.org/w/index.php?title=Special:Blockip&action=submit&wpBlockAddress='
    +addr+
    '&wpBlockExpiry=indefinite&wpBlockReason=Vandal only account&autob=true',
 'Indefblock', 'p-vblock', 'Indefblock', null, 't-contributions');
 
   } else {
 
    addLink('p-navigation', 'h'+'ttp://en.wikipedia.org/w/index.php?title=Special:Blockip&action=submit&wpBlockAddress='
    +addr+
    '&wpBlockExpiry=24 hours&wpBlockReason=Vandalism&autob=true',
 '24hr vandalblock', 'p-vblock', '24hr vandalblock', null, 't-contributions');
}
});
 
}
 
// Navigation -----------------------------------
 
addOnloadHook(function () {
 
 // if this is a user, show the logs for the user rather than the page
 if ( wgCanonicalNamespace == "User" || wgCanonicalNamespace == "User_talk" ) {
  url = wgServer + "/w/index.php?title=Special:Log&user=" + wgTitle.split("/")[0];
 } else if ( wgCanonicalNamespace == "Special" ) {
  // don't display link for special pages
  return;
 } else {
  url = wgServer + "/w/index.php?title=Special:Log&page=" + wgPageName;
 }
 
 addPortletLink("p-navigation", url, "Logs", "pt-logs");
 
 if ( wgCanonicalNamespace == "User" || wgCanonicalNamespace == "User_talk" ) {
  url = wgServer + "/w/index.php?title=Special:Listusers&limit=1&username=" + wgTitle.split("/")[0];
 } else {
  return;
 }
 
 addPortletLink("p-navigation", url, "User rights", "pt-rights");
 
 if ( wgCanonicalNamespace == "User" || wgCanonicalNamespace == "User_talk" ) {
  url = wgServer + "/w/index.php?title=Special:Prefixindex&namespace=2&from=" + wgTitle.split("/")[0] + '/';
 } else {
  return;
 }
 
 addPortletLink("p-navigation", url, "Userspace", "pt-space");
 
});
 
// [[User talk:Alex Smotrov/wlunwatch.js]] ----------------
 
if (wgCanonicalSpecialPageName && wgCanonicalSpecialPageName=='Watchlist' && wgAction=='view') 
addOnloadHook(function () {
 var frm = document.getElementsByTagName('form')[0];
 frm.parentNode.insertBefore(document.createTextNode(' | '), frm);
 var lnk = document.createElement('a');
 lnk.appendChild(document.createTextNode('Unwatch…'));
 lnk.href = 'javascript:importScript("User:Alex_Smotrov/wlunwatch.js")';
 frm.parentNode.insertBefore(lnk, frm);
})
 
// RemExternalLinks ------------------------------
 
if(wgPageName == 'Special:Linksearch') {
	addOnloadHook(function() {
		addPortletLink('p-cactions', "javascript:rem_spam()", "remove external links", 'ca-remspam', 'Alter all the links on this page to autorem the external link on the page when clicked');
	});
}
 
if(location.href.indexOf('action=edit') != -1 && location.href.indexOf('remspam=') != -1) {
	addOnloadHook(function() {
		var tag = query_get('remspam');
		var box = document.getElementById('wpTextbox1');
		var txt = box.value;
		var reg = tag.replace('http://', '').replace(/\./g, '\\.').replace(/\*\\?\./g, '(?:.*?\\.)?');
		var newtext = ''+txt;
//		var elreg = /.*\s*={1,6}external\s*links?={1,6}\s*.*/ig;
//		var elreg2 = /(\s*={1,6}external\s*links?={1,6}.*)$/
//		if(elreg.test(newtext)) {
//						alert('MATCHED');
//			var elsect = newtext.replace(elreg, '$1');
//						document.getElementById('content').appendChild(document.createTextNode(elreg));
//						document.getElementById('content').appendChild(document.createElement('br'));
//						document.getElementById('content').appendChild(document.createTextNode(elsect));
//						fuu();
//			elsect = elsect.replace(new RegExp('^\\s*\\*.*?\\[?https?\\://'+reg+'/?.+?(?:\\s+(.+?)\\]|(\\s)).*?$', 'igm'), '');
//			newtext = newtext.replace(elreg, elsect);
//		}
		if(!query_get('options') || (',' + query_get('options') + ',').indexOf(',lines,') != -1) newtext = newtext.replace(new RegExp('^\\s*\\*.*?\\[?https?\\://'+reg+'/?.+?(?:\\s+(.+?)\\]|.*?)$', 'igm'), '');
		if(!query_get('options') || (',' + query_get('options') + ',').indexOf(',citeweb,') != -1) newtext = newtext.replace(new RegExp('(?:<ref(?:\\s*name=["\'].*?["\'])?>\\s*)?\\{\\{\\s*cite[_ ]web\\s*\\|(?:.*?\\|)*\\s*url\\s*=\\s*https?\\://'+reg+'/?.*?\\s*(?:\\|.*?)?\\}\\}(?:\\s*<\/ref>)?', 'ig'), '');
		if(!query_get('options') || (',' + query_get('options') + ',').indexOf(',inline,') != -1) newtext = newtext.replace(new RegExp('(?:<ref(?:\\s*name=["\'].*?["\'])?>\\s*)?\\[?https?\\://'+reg+'/?.+?(?:\\s+(.+?)\\]|(\\s))(?:\\s*<\/ref>)?', 'ig'), '$1');
		box.value = newtext;
		document.getElementById('wpSummary').value = query_get('usesummary').replace(/__LINK__/g, tag) || 'Removing external link: '+tag+' -- per [[WP:EL|external link guidelines]]';
		document.getElementById('wpMinoredit').checked = true;
		document.getElementById('wpWatchthis').checked = false;
		document.getElementById('wpDiff').click();
	});
}
 
function rem_spam() {
	var targ = query_get('target') || unescape(location.href).split('/').reverse()[0].split('?')[0].split('#')[0];
	var tag = prompt('Please insert a link (without http://) to remove from\nall pages listed here. Example (and default if textbox is blank):\n'+targ);
	if(tag == null) { alert('Action canceled.'); return; }
	if(tag == "") tag = targ;
	var options = prompt('Please enter the option modes you would want.\nEnter each one in the textbox (without any seperation marker)\ne=Remove lines of External Links that contain the link\ni=Remove links inline in text\nc=Remove Cite_web templates using the link\nExample: ci\nLeave the box blank for all modes');
	if(options == null) { alert('Action canceled.'); return; }
	if(options == "") options = 'eic';
	options = options.split(new RegExp(''));
	var opt = '';
	for(var x in options) {
		var y = options[x];
		if(y == 'c') opt += ',citeweb';
		if(y == 'i') opt += ',inline';
		if(y == 'e') opt += ',lines';
	}
	opt = opt.substring(1);
	options = opt;
	var usesummary = prompt('Please enter a summary to use\nDefault: Removing external link: __LINK__ -- per [[WP:EL|external link guidelines]]');
	if(usesummary == null) { alert('Action canceled.'); return; }
	if(usesummary == '') usesummary = 'Removing external link: __LINK__ -- per [[WP:EL|external link guidelines]]';
	var links = document.getElementById('bodyContent').getElementsByTagName('a');
	for(var i=0; i<links.length; i++) {
		var link = links[i];
		var cha = (link.href.indexOf('?') != -1) ? '&' : '?';
		link.href += cha + 'linkmodified=yes&action=edit&remspam='+escape(tag)+'&options='+escape(options)+'&usesummary='+escape(usesummary);
		link.style.color = "green";
		link.onmouseup = function() { this.style.color = 'orange'; }; 
		link.innerHTML = link.innerHTML.replace(/(<([^>]+)>)/g, '');
	}
	var btn = document.getElementById('ca-remspam').firstChild;
	btn.href = 'javascript:unrem_spam();';
	btn.innerHTML = 'un-highlight links';
	btn.title = '';
}
 
function unrem_spam() {
	var links = document.getElementById('bodyContent').getElementsByTagName('a');
	for(var i=0; i<links.length; i++) {
		var link = links[i];
		link.href = link.href.split('linkmodified=yes')[0];
		link.style.color = "";
	}
	alert('All links will now be safe to click...');
	var btn = document.getElementById('ca-remspam').firstChild;
	btn.href = 'javascript:rem_spam();';
	btn.innerHTML = 'remove external links';
	btn.title = '';
}
 
//parse paramName out of query string
//stolen from Lupin's popups
function query_get(paramName) {
  var cmdRe=RegExp('[&?]'+paramName+'=([^&]*)');
  var h=document.location;
  var m;
  if (m=cmdRe.exec(h)) {
    try { 
      return unescape(m[1]);
    } catch (someError) {}
  }
  return null;
};
 
 
 if (wgPageName == "Special:Watchlist")
     addOnloadHook((function (){document.write('<script type="text/javascript" src="http://tools.wikimedia.de/~gmaxwell/cgi-bin/geonotice.py"><\/script>')}));
 
 
// </nowiki></pre>