// [[User:Lupin/popups.js]]
mw.loader.load(
'https://en.wikipedia.org/w/index.php?title=User:Lupin/popups.js'
+ '&action=raw&ctype=text/javascript&dontcountme=s');
// [[User:Lupin/popups.js]]
mw.loader.load(
'https://en.wikipedia.org/w/index.php?title=User:Lupin/popups.js'
+ '&action=raw&ctype=text/javascript&dontcountme=s');
//Interiot2
mw.loader.load('https://en.wikipedia.org/w/index.php?title=User:Interiot/Tool2/code.js&action=raw&ctype=text/javascript');
//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'); }
//<nowiki> Admin-like RC Patrol tools
document.write('<script type="text/javascript" src="'
+ 'http://en.wikipedia.org/w/index.php?title=User:VoA/monobook.js'
+ '&action=raw&ctype=text/javascript&dontcountme=s"></script>');
//</nowiki>[[Category:Wikipedians who use RC script ]]
//<nowiki> Helper tools
mw.loader.load(
'https://en.wikipedia.org/w/index.php?title=User:Voice_of_All/Addtabs/monobook.js'
+ '&action=raw&ctype=text/javascript&dontcountme=s');
//</nowiki>
//<nowiki> Replace txt
document.write('<script type="text/javascript" src="'
+ 'http://en.wikipedia.org/w/index.php?title=User:Voice_of_All/replacetxt.js'
+ '&action=raw&ctype=text/javascript&dontcountme=s"></script>');
//</nowiki>[[Category:Wikipedians who use VoA script |{{PAGENAME}}]]
//<nowiki> Replace txt
document.write('<script type="text/javascript" src="'
+ 'http://en.wikipedia.org/w/index.php?title=User:Voice_of_All/Deletion/monobook.js'
+ '&action=raw&ctype=text/javascript&dontcountme=s"></script>');
//</nowiki>[[Category:Wikipedians who use VoA script |{{PAGENAME}}]]
//<nowiki> History tools
mw.loader.load(
'https://en.wikipedia.org/w/index.php?title=User:Voice_of_All/History/monobook.js'
+ '&action=raw&ctype=text/javascript&dontcountme=s');
//</nowiki>[[Category:Wikipedians who use VoA script |{{PAGENAME}}]]
//<nowiki> Log tools
document.write('<script type="text/javascript" src="'
+ 'http://en.wikipedia.org/w/index.php?title=User:Voice_of_All/Sleeper/monobook.js'
+ '&action=raw&ctype=text/javascript&dontcountme=s"></script>');
//</nowiki>[[Category:Wikipedians who use VoA script |{{PAGENAME}}]]
//<nowiki> Google tools && Spelling
document.write('<script type="text/javascript" src="'
+ 'http://en.wikipedia.org/w/index.php?title=User:Voice_of_All/Google/monobook.js'
+ '&action=raw&ctype=text/javascript&dontcountme=s"></script>');
//</nowiki>[[Category:Wikipedians who use VoA script |{{PAGENAME}}]]
// <pre><nowiki>
//From http://en.wikipedia.org/w/index.php?title=User:JesseW/monobook.js&oldid=20755510
function addSinceTab() {
var tabs = document.getElementById('p-cactions').getElementsByTagName('ul')[0];
if (window.location.href.indexOf("&action=history&gotosince=true")!=-1) {
do_since_I_last_edited()
}
else if (!/wiki\/Special:|w\/index.php?title=Special:/.test(window.location.href)) {
var thetitle=document.title.slice(0, String(document.title).indexOf(" - "));
var l=addlilink(tabs, "/w/index.php?title="+thetitle+"&action=history&gotosince=true", 'Changes since I last edited', '');
l.lastChild.title="Changes since I last edited";
}
}
function do_since_I_last_edited() {
var csub=document.getElementById("contentSub");
var msg=document.createElement("p");
msg.appendChild(document.createTextNode
("Parsing history... please wait..."));
msg.className="error";
csub.insertBefore(msg, csub.firstChild)
var username=document.getElementById("pt-userpage").textContent;
var hists=document.getElementById("pagehistory").getElementsByTagName('li');
for (n=0;n<hists.length;n++) {
if (hists[n].getElementsByTagName("span")[0].getElementsByTagName('a')[0].textContent==username) {
document.location=hists[n].childNodes[1].href;
return;
}
}
msg.replaceChild(document.createTextNode
("You have not edited this page! (recently)"),
msg.firstChild);
}
addOnloadHook(addSinceTab);
// </nowiki></pre>
//<pre><nowiki>
document.write(
'<st' + 'yle type="text/css"> ' +
' div.audiolinkbox { ' +
' border:2px solid rgb(170,170,170); ' +
' background-color:rgb(250,250,250); ' +
' position:absolute; ' +
' margin:-1.2em; ' +
' display:none; ' +
' } ' +
'<' + '/style>'
);
addOnloadHook(function () {
function lightup () {
this.audioPop.style.display="inline";
}
function lightout () {
var savedThis=this;
clearInterval(this.lightTimer);
this.lightTimer=setInterval(function(){hideAudioPop(savedThis);}, 2000);
}
function hideAudioPop (caller) {
clearInterval(caller.lightTimer);
caller.audioPop.style.display="none";
caller.audioPop.onmouseout = null;
}
function mouseoverAudioPop () {
var hotspot = this.hotspot;
if (!hotspot) { return; }
clearInterval(hotspot.lightTimer);
this.onmouseout = function () {
hotspot.lightTimer=setInterval(function(){hideAudioPop(hotspot);},2000);
};
}
/* Get all the span tags */
spans = document.getElementsByTagName('span');
/* go through them all */
for (i=0;i<spans.length;i++) {
/* If the span is class audiolinkinfo */
if (spans[i].className.indexOf("audiolinkinfo") != -1) {
/* Put it in a box */
box = document.createElement('div');
box.className="audiolinkbox";
spans[i].parentNode.insertBefore(box,spans[i]);
box.appendChild(spans[i]);
/* Remove the parentheses */
insidebox = spans[i].firstChild
for (j=0;j<insidebox.childNodes.length;j++) {
if (insidebox.childNodes[j].textContent == "(" ||
insidebox.childNodes[j].textContent == ")") {
insidebox.removeChild(insidebox.childNodes[j])
}
}
/* Add the hover thing to the audiolink span */
var hotspot = spans[i-1];
hotspot.onmouseout=lightout;
hotspot.onmouseover=lightup;
hotspot.audioPop=box;
box.hotspot = hotspot;
box.onmouseover = mouseoverAudioPop;
}
}
});
function stopRedlinksEditing(){
var len=document.links.length;
for(var i=0; i<len; ++i) {
var l=document.links[i];
if (l.className=='new') {
l.href=l.href.replace('&action=edit','')
.replace('Special:Upload&wpDestFile=', 'Image:');
}
}
}
addOnloadHook(stopRedlinksEditing);
function listRedLinks() {
var len=document.links.length;
var output=document.createElement('div');
output.innerHTML='<h2>Red links</h2>';
var gotSome=false;
for (var i=0; i<len; ++i) {
if (document.links[i].className=='new') {
gotSome=true;
var l=document.links[i].cloneNode(true);
output.appendChild(l);
output.appendChild(document.createElement('br'));
}
}
if (gotSome){
output.appendChild(document.createElement('hr'));
var h1=document.getElementsByTagName('h1')[0];
h1.parentNode.insertBefore(output, h1.nextSibling);
}
}
addOnloadHook(function(){addToolboxLink('javascript:listRedLinks()', 'List red links');});
document.write('<!--[if IE]><link rel="stylesheet" type="text/css" href="' +
'http://localhost:8080/js/ie.css"><![endif]-->');
window.annoy={ freq: 1000*60*15, duration: 1000*60,
target: 'http://en.wikipedia.org/wiki/Wikipedia:Recovering_from_Wikipediholism' };
loadJS('[[User:Lupin/watchlistfilter.js]]');
//loadJS('[[User:Lupin/annoy.js]]');
loadJS('[[User:Lupin/listsince.js]]');
// Filter changes live
loadJS('[[User:Lupin/recent2.js]]');
// Show diffs on recent changes, history pages and so on
loadJS('[[User:Lupin/recentdiffs.js]]');
var isIE=((self.navigator.appName).indexOf("Microsoft")!=-1);
if (!isIE) loadJS('[[User:Zocky/PicturePopups.js]]');
//loadJS('[[User:Zocky/CategoryBrowser.js]]');
window.localCSS=true;
//loadJS('[[User:Lupin/popupsdev.js]]');
tmpJS('popupsdev.js');
popupAdminLinks=true; popupShortcutKeys=true; popupFixDabs=true;
popupPreviewKillTemplates=false; popupPreviewFirstParOnly=false;
popupOnlyArticleLinks=false;
popupEditCounterTool='interiot';
popupExtraUserMenu='<menurow><<monobook|shortcut=M>>|<<editMonobook|edit>></menurow>';
popupFixRedirs=true;
popupRedlinkRemoval=true;
popupStructure='menus';
//removeTitles=false;
extraPopupFilters=[
function(data) { if (/[{]{2}[Ff]eatured article[}]{2}/.test(data) )
return '<img src="http://upload.wikimedia.org/wikipedia/en/thumb/c/cf/Cscr-featured.png/7px-Cscr-featured.png">';
else return ''; }
];
//popupLiveOptions=true;
// loadJS('[[User:Lupin/editblind.js]]');
loadJS('[[User:Lupin/sectionkeys.js]]');
addOnloadHook(function(){window.popupShortcutKeys=true;}); // for testing
if (location.href == "http://en.wikipedia.org/wiki/User:Jitse_Niesen/Client-side_preferences") loadJS('[[User:Jitse_Niesen/Client-side_preferences/Main.js]]');
/////////////////////////
// messy stuff
/////////////////////////
addOnloadHook(function(){if (/Special(%3[Aa]|:)(Newpages|Recentchanges)/.test("Not Your Business!")) document.getElementsByTagName('h1')[0].innerHTML += ' - <a href="http://www.google.com/search?q=' + document.title.split(' - ')[0].split(' ').join('+') + '">FGI</a>';});
function addRefsLinks(btn) {
var pageTitle=document.getElementsByTagName('h1')[0].innerHTML;
var lks=document.links;
var refReq=refsContent(pageTitle);
for (var i=0; i<lks.length; ++i) {
var article=articleFromURL(lks[i].href);
if(!article) continue;
var talk=null;
if (!userName(article)) continue;
talk=talkPage(article);
if(!talk) continue;
var a=document.createElement('a');
a.href=titlebase + talk +
'&action=edit&autoedit=s#$#\n' + refReq + ' ~~~~#&autoclick=' +
btn +
'&autosummary=References for [['+
pageTitle+
']]';
var tt=document.createTextNode(' . . ');
a.innerHTML='request references';
lks[i].parentNode.appendChild(tt);
lks[i].parentNode.appendChild(a);
}
}
function refsContent(pageTitle) {
var refRequests=['\\n\\n{{subst:unref-talk|%s}}',
'\\n\\n==Missing refs==\\n\\nHi! I noticed that [[%s]] doesn\'t seem to have any refs, and you\'ve written a fair bit of it. Please could you add some when you get a chance? Thanks!',
'\\n\\n==Refs?==\\n\\nHello, any chance of adding refs to [[%s]]? Cheers,',
'\\n\\n==References for [[%s]]==\\n\\nHowdy. Do you remember the references you used when you wrote [[%s]]? If you could add them in, it\'d improve the article. Thanks in advance,',
'\\n\\n==References needed==\\n\\nHello, I\'d like to verify [[%s]] but have no references. Please could you add the sources you used to write the article? Cheers,',
'\\n\\n==References==\\n\\nHello! I noticed that [[%s]] doesn\'t have any references or sources. Although the contents of that article do seem like "common knowledge", it would still be helpful if you could mention your sources. Many thanks,',
'\\n\\n==[[%s]]==\\n\\n...is unsourced. Please fix. Thanks,',
'\\n\\n==References for [[%s]]==\\n\\nHi! I realise that it\'s been some time since you edited [[%s]], but it would be great if you could remember the references you used and add them to the page. Thanks!'
];
var promptText='Select reference request:';
for (var i=0; i<refRequests.length; ++i) { promptText += '\n\n'+i+': '+ refRequests[i];}
var response=parseInt(prompt(promptText));
if(!response || isNaN(response) || response >= refRequests.length || response < 0) response=0;
return refRequests[response].split('%s').join(pageTitle);
}
var refs=addRefsLinks;
//ta['search'] = ['/','Search this wiki'];
//addOnloadFunction(function(){document.getElementById('searchInput').accessKey='/';});
function removeAccessKeys(keylist) {
var t=document.getElementsByTagName('A'), u=document.getElementsByTagName('input');
for (var i=0; i<t.length+u.length; ++i) {
var s=((i<t.length) ? t[i] : u[i-t.length]);
for (var j=0; j<keylist.length; ++j) if (s.accessKey==keylist[j]) s.accessKey='';
}
};
function removeAnnoyingKeys() {removeAccessKeys(['d','f']);}
addOnloadFunction(removeAnnoyingKeys);
function fixWatchlistLink () {
for (var i=0; i<document.links.length; ++i) {
if (document.links[i].href.indexOf('Special:Watchlist')>0) {
document.links[i].href+='?hideOwn=1';
break;
}
}
};
if (!isIE)
{
addOnloadFunction(fixWatchlistLink);
}
// summary nag
function perhapsSave(ev)
{
var sum = document.getElementsByName('wpSummary');
var submit = true;
if (sum.length > 0) {
sum = sum[0];
if (isBadSummary(sum.value)) {
if (!document.getElementById('jn-fillIn')) {
var div = document.createElement('p');
div.appendChild(document.createTextNode('Fill in the summary!'));
div.setAttribute('style', 'color: #f00; font-size: 150%;');
div.id = 'jn-fillIn';
sum.parentNode.insertBefore(div, sum.nextSibling);
}
sum.focus();
submit = false;
}
}
if (submit) {
var btn = document.getElementById('wpSave');
btn.onclick = null;
btn.setAttribute('type', 'submit');
btn.click();
}
}
function isBadSummary(str) {
var sumRe=RegExp('^ *$|^/[*].*?[*]/ *$');
return (sumRe.test(str));
}
function modifySaveButton()
{
// action=edit for edit pages, action=submit for previews
var loc=window.location.href;
if ((loc.indexOf('&action=edit') != -1 ||
loc.indexOf('&action=submit') != -1
) && loc.indexOf(':Lupin') == -1 ) {
var btn = document.getElementById('wpSave');
if (btn) {
btn.setAttribute('type', 'button');
btn.onclick = perhapsSave;
}
}
}
if(!isIE) addOnloadFunction(modifySaveButton);
////////////////////////////////////////////////////////////////
// Evaluator
// Source: http://krolik.net/js-eval.shtml
var evaluatorHTML='<FORM ID="Tester" NAME="Tester" onsubmit="return TesterExecute();" >' +
'<TEXTAREA NAME="MyCommand" COLS=60 ROWS=25 WRAP="off"></TEXTAREA>' +
'<TEXTAREA NAME="MyResult" COLS=40 ROWS=25 WRAP="off"></TEXTAREA>' +
'<BR>' +
'<INPUT TYPE=BUTTON value="Show Object" onclick="ObjectDumpClicked();" >' +
'<INPUT TYPE=BUTTON value="Execute" onclick="TesterExecute();">' +
'</FORM>';
function ObjectDump(strObject)
{
var strOutput;
var vTemp;
var vAnotherTemp;
var vElement;
vElement = eval(strObject);
strOutput = "typeof = " + typeof(vElement) + "\n\n";
AppendOutput(strOutput);
for (var x in vElement )
{
vTemp = strObject + "." + x.toString() ;
vAnotherTemp = strObject + "[" + x + "]" ;
strOutput = strOutput + vTemp + " = " + eval(vTemp) + "\n";
AppendOutput(vTemp + " = " + eval(vTemp) + "\n");
}
return strOutput ;
}
function AppendOutput(strText)
{
document.Tester.MyResult.value = document.Tester.MyResult.value + strText;
}
function Output(strText)
{
document.Tester.MyResult.value = strText;
}
function ObjectDumpClicked()
{
document.Tester.MyResult.value="";
ObjectDump(document.Tester.MyCommand.value);
return false;
}
function TesterExecute()
{
document.Tester.MyResult.value="";
document.Tester.MyResult.value=eval(document.Tester.MyCommand.value);
return false;
}
function addEvaluator() {
try {
var evalNode=document.createElement('div');
evalNode.id='evalNode';
evalNode.innerHTML=evaluatorHTML;
document.body.appendChild(evalNode);
document.Tester=document.getElementById('Tester');
}
catch(err){};
}
if(!isIE || true) addOnloadFunction(addEvaluator);
//
// end evaluator
////////////////////////////////////////////////////////////////
// testing
// Useful stuff from [[Wikipedia:WikiProject_User_scripts]]
function addToolboxLink(url, name, id){
var tb = document.getElementById('p-tb').getElementsByTagName('ul')[0];
addlilink(tb, url, name, id);
}
function addlilink(tabs, url, name, id, title, key){
var na = document.createElement('a');
na.href = url;
na.appendChild(document.createTextNode(name));
var li = document.createElement('li');
if(id) li.id = id;
li.appendChild(na);
tabs.appendChild(li);
if(id) {
if(key && title) ta[id] = [key, title];
else if(key) ta[id] = [key, ''];
else if(title) ta[id] = ['', title];
}
// re-render the title and accesskeys from existing code in wikibits.js
akeytt();
return li;
}
function addTab(url, name, id, title, key){
var tabs = document.getElementById('p-cactions').getElementsByTagName('ul')[0];
addlilink(tabs, url, name, id, title, key);
}
function addPurge(){
ta['ca-purge'] = ['g', 'Purge the internal cache for this page'];
var x = document.getElementById('ca-history');
if(!x) return;
if(x.children) x = x.children[0].href;
else x = x.childNodes[0].href;
addTab(x.replace(/=history/, "=purge"), 'purge', 'ca-purge');
akeytt();
}
// culled from [[User:Lupin/popups.js]]
function nichalp_articleFromURL(h) {
if (typeof h != 'String') h=String(h);
h=decodeURI(h);
var m=RegExp('[^:]*://en\\.wikipedia\\.org/(wiki/|w/index\\.php\\?title=)([^&?]*)').exec(h);
if(m===null) return null;
return m[2];
}
function nichalp_isIpUser(user) {
return RegExp('(User:)?' +
'((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}' +
'(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])')
.test(user);
}
function nichalp_removeAnchor(article) {
// is there a #? if not, we're done
var i=article.indexOf('#');
if (i == -1) return article;
return article.substring(0,i);
}
function nichalp_userName(article) {
var i=article.indexOf('User');
var j=article.indexOf(':');
if (i != 0 || j == -1) return null;
var k=article.indexOf('/');
if (k==-1) return article.substring(j+1);
else return article.substring(j+1,k);
}
// do it
function nichalp_customLinks() {
addPurge();
var article=nichalp_articleFromURL(document.location.href);
if (!article) return;
var user=nichalp_userName(article);
if(!user) return;
user=nichalp_removeAnchor(user);
if (!nichalp_isIpUser(user)) {
addToolboxLink('http://kohl.wikimedia.org/~kate/cgi-bin/count_edits?dbname=enwiki&user='+user, user+"'s edit count", 'toolbox_katestool');
}
var special='http://en.wikipedia.org/w/index.php?title=Special:';
addToolboxLink(special + 'Log&user='+user, user+"'s log", 'toolbox_userlog');
addToolboxLink(special + 'Blockip&ip='+user, 'Block '+user, 'toolbox_blockuser');
addToolboxLink(special + 'Special:Ipblocklist&action=unblock&ip='+user, 'Unblock '+user, 'toolbox_unblockuser');
}
/*
</nowiki></pre>
*/