User:Δ/Spam.js

// //Written by User:GeorgeMoney, thanks to User:Where and User:Eagle_101 for help with this! //Modified by User:Betacommand

if(mw.config.get('wgNamespaceNumber') == -1) { addOnloadHook(function { var tbs = document.getElementById('p-cactions').getElementsByTagName('ul')[0]; addlilink(tbs, "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; newtext = newtext.replace(new RegExp('^\\s*\\*.*?\\[?https?://'+reg+'/?(\\s*.*?)?\\]?.*?$', 'igm'), ); newtext = newtext.replace(new RegExp('(?:\\s*)?\\{\\{\\s*cite[_ ]web\\s*\\|(?:.*?\\|)*\\s*url\\s*=\\s*https?\\://'+reg+'/?.*?\\s*(?:\\|.*?)?\\}\\}(?:\\s*<\/ref>)?', 'ig'), ); newtext = newtext.replace(new RegExp('(?:\\s*)?\\[?https?\\://'+reg+'/?.*?(\\s+.+?)\\]?(?:\\s*<\/ref>)?', 'ig'), '$1'); box.value = newtext; document.getElementById('wpSummary').value = 'Removing external link: '+tag+' -- per external link guidelines'; document.getElementById('wpMinoredit').checked = true; document.getElementById('wpWatchthis').checked = true; 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 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 = ''; addTab(tbs, "javascript:void(filter_main)", "filter", 'ca-filter', 'Filter all pages on here to only be for mainspace'); };

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; };

function filter_main { var lis = document.getElementById('bodyContent').getElementsByTagName('li'); var len = lis.length; for(var i=0; i<len; i++) { var li = lis[i]; if(li.getElementsByTagName('a')[1].innerHTML.indexOf(':') != -1) { //li.parentNode.removeChild(li); li.style.display = 'none'; } } };

if(mw.config.get('wgPageName') == 'Special:LinkSearch') { addOnloadHook(function { var tbs = document.getElementById('p-cactions').getElementsByTagName('ul')[0]; addlilink(tbs, "javascript:filter_main;", "filter", 'ca-filter', 'Filter all pages on here to only be for mainspace'); }); };

function substNRD { if (document.editform) { document.editform.wpTextbox1.value = "\n\n"+document.editform.wpTextbox1.value; document.editform.wpSummary.value = "commons dupe"; document.editform.submit; } else document.location = mw.config.get('wgServer') + mw.config.get('wgScript') + "?title=" + mw.config.get('wgPageName') + "&action=edit&substNRD=1"; }; function addSubstNRD{ if (mw.config.get('wgCanonicalNamespace') == "File") mw.util.addPortletLink("p-cactions", "javascript:substNRD", "", ""); if (document.location.href.indexOf("substNRD=1") > 0) substNRD; }; $(addSubstNRD); //