User:GeorgeMoney/UserScripts/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('(?:\\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('(?:\\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 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 external link guidelines'); if(usesummary == null) { alert('Action canceled.'); return; } if(usesummary == '') usesummary = 'Removing external link: __LINK__ -- per external link guidelines'; var links = document.getElementById('bodyContent').getElementsByTagName('a'); for(var i=0; i]+)>)/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; }; //