//Interiot's javascript edit counter
if (document.title.indexOf('User:Interiot/Tool2/code.js') != -1) {
mw.loader.load('https://en.wikipedia.org/w/index.php?title=User:Interiot/Tool2/code.js&action=raw&ctype=text/javascript'); }
/*** BEGIN WIKIBREAK ENFORCER ***/
$(function() {
/*** Start editing here ***/
// When you want to end your break?
// no leading zeroes. (example: 7 - correct, 07 - incorrect)
var date = { year: 2011, month: 2, day: 20 };
var time = { hours: 7, minutes: 59, seconds: 59 };
/*** Stop editing here ***/
var currentDate = new Date();
var enforcedBreakEnd = new Date(
date.year,date.month-1,date.day,time.hours,time.minutes,time.seconds);
if (currentDate <= enforcedBreakEnd) {
alert("Enforced wikibreak until " enforcedBreakEnd.toLocaleString()
"\n(now is " currentDate.toLocaleString() ")\n\nBye!");
location = "http://" location.host "/w/index.php?title="
"Special:Userlogout&returnto=Main_Page";
}
});
/*** END WIKIBREAK ENFORCER ***/
//removespam.js
var remSpamSummary = {
'bs' : 'Uklonjen vanjski link: __LINK__ -- po osnovi __REPORT__.',
'ca' : 'Llevant l\'enllaç extern: __LINK__ -- per __REPORT__.',
'cs' : 'Odstranění externího odkazu __LINK__ -- na základě __REPORT__.',
'da' : 'Fjerner ekstern henvisning __LINK__ jf. __REPORT__.',
'de' : 'Externer Link __LINK_ gemäß __REPORT__ entfernt.',
'el' : 'Αφαίρεση εξ. συνδ.: __LINK__ -- κατά το __REPORT__.',
'en' : 'Removing external link: __LINK__ -- per __REPORT__.',
'es' : 'Eliminando enlace externo __LINK__ por __REPORT__.',
'eu' : '__LINK__ kanpo lotura kendu da arrazoi honegatik: __REPORT__.',
'fa' : 'حذف پیوند به بیرون: __LINK__ بر طبق __REPORT__.',
'fr' : 'Lien externe __LINK__ enlevé par __REPORT__.',
'fy' : 'Keppeling om utens __LINK__ fuorthelle oerienkomstich __REPORT__.',
'he' : 'מסיר קישור חיצוני: __LINK__ -- לפי __REPORT__.',
'id' : 'Membuang pranala luar: __LINK__ -- per __REPORT__.',
'ja' : '不適切な外部リンクの除去: __LINK__ (関連ページ: __REPORT__)',
'ms' : 'Mengeluarkan pautan luar: __LINK__ -- per __REPORT__.',
'nb' : 'Fjerner ekstern lenke __LINK__ per __REPORT__.',
'nl' : 'Link naar __LINK__ verwijderd per __REPORT__.',
'nn' : 'Fjernar utlenkja __LINK__ per __REPORT__.',
'no' : 'Fjerner ekstern lenke __LINK__ per __REPORT__.',
'pt' : 'Removendo ligação externa __LINK__ por __REPORT__.',
'ru' : 'Удалена внешняя ссылка __LINK__ согласно __REPORT__.',
'sk' : 'Odstránenie externého odkazu __LINK__ -- na základe __REPORT__.',
'uk' : 'Вилучена зовнішня посилання __LINK__ згідно __REPORT__.'
};
function dorem_spam() {
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;
if (query_get('usesummary')) {
summary = query_get('usesummary').replace(/__LINK__/g, tag);
} else if (query_get('remspam') && query_get('report')) {
summary = remSpamSummary[wgContentLanguage] || 'Removing external link: __LINK__ -- per __REPORT__. [[:m:RemSpam|Translate this summary]].';
summary = summary.replace(/__LINK__/g, tag)
summary = summary.replace(/__REPORT__/g, '[[:m:' query_get('report') ']]');
} else {
summary = 'Removing external link: ' tag ' per [[m:Talk:Spam_blacklist]]';
}
document.getElementById('wpSummary').value = summary;
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 [[m:Talk:Spam blacklist]]');
if(usesummary == null) { alert('Action canceled.'); return; }
if(usesummary == '') usesummary = 'Removing external link: __LINK__ -- per [[m:Talk:Spam blacklist]]';
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 = '';
}
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';
}
}
}
function addfilter_main() {
mw.util.addPortletLink('p-cactions', "javascript:filter_main()", "filter links", 'ca-filter', 'Filter all pages on here to only be for mainspace');
}
function addrem_spam() {
mw.util.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(dorem_spam);
if(wgCanonicalSpecialPageName == "LinkSearch") {
addOnloadHook(addrem_spam);
addOnloadHook(addfilter_main);
}
//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;
}