User:Larbot/monobook.js
Appearance
Code that you insert on this page could contain malicious content capable of compromising your account. If you import a script from another page with "importScript", "mw.loader.load", "iusc", or "lusc", take note that this causes you to dynamically load a remote script, which could be changed by others. Editors are responsible for all edits and actions they perform, including by scripts. User scripts are not centrally supported and may malfunction or become inoperable due to software changes. A guide to help you find broken scripts is available. If you are unsure whether code you are adding to this page is safe, you can ask at the appropriate village pump. This code will be executed when previewing this page. |
![]() | The accompanying .css page for this skin is at User:Larbot/monobook.css. |
//<pre><nowiki>
//---------------------------------------------------------------
/////////////////////////////////////////////////////////////////////////////////////////////////////////
// Script loading function by Quarl (http://en.wiki.x.io/wiki/User:Quarl)
/////////////////////////////////////////////////////////////////////////////////////////////////////////
function winc(s) {
s = s.replace(/^\[\[/, '').replace(/\]\]$/, '');
document.write('<script type="text/javascript" src="'
+ 'http://en.wiki.x.io/w/index.php?title=' + s
+ '&action=raw&ctype=text/javascript&dontcountme=s"></script>');
}
// **** Add generic tab ****
function addlilink(tabs, url, name, id){
var na = document.createElement('a');
na.href = url;
na.appendChild(document.createTextNode(name));
var li = document.createElement('li');
li.id = id;
li.appendChild(na);
tabs.appendChild(li);
return li;
}
// there is a version of the above in User:Voice_of_All/Addtabs/monobook.js
function addlimenu(tabs, name, id)
{
var na = document.createElement('a');
na.href = '#';
var mn = document.createElement('ul');
na.appendChild(document.createTextNode(name));
var li = document.createElement('li');
li.id = id;
li.className = 'tabmenu';
li.appendChild(na);
li.appendChild(mn);
tabs.appendChild(li);
return li;
}
//First loads
//Helper tools for tabs
// Helper tools (addtabs mandatory for other functions)
winc('[[User:Voice_of_All/Addtabs/monobook.js]]');
// UTC clock
winc('[[User:Voice_of_All/UTCclock.js]]');
// Deletion
winc('[[User:Voice_of_All/Deletion/monobook.js]]');
// Replace txt
winc('[[User:Voice_of_All/replacetxt.js]]');
// Admin protection tools
winc('[[User:Voice_of_All/Protection/monobook.js]]');
//DYK functions
winc('[[User:Lar/DYK/monobook.js]]');
// History analysis:
// Analyzes a page history when "statistics" tab is clicked. Shows a whole range of useful data.
// Also gives quick edit summary % usage and namespace % based on all edits appearing on the
// contributions page. taken from [[User:Voice_of_All/History/monobook.js]]
// History tools
winc('[[User:Voice_of_All/History/monobook.js]]');
// AfD helper (vote automation tool)
/**** afd helper ****/
winc('[[User:Jnothman/afd_helper/script.js]]');
/* This is to keep track of who is using this extension: [[User:Jnothman/afd_helper/script.js]] */
afdh_signature='~~'+'~~';
// misc tabs cribbed from [[/User:Pschemp/monobook.js]] who cribbed it from somewhere else
winc('[[User:Lar/moretabs/monobook.js]]')
//live-preview stuff
wpUserName = 'Lar';
wpShowImages = true;
winc('[[User:Pilaf/livepreview.js]]');
//document.write('<script type="text/javascript" //src="http://en.wiki.x.io/w/index.php?title=User:Pilaf/livepreview.js&action=raw&ctype=text/javascript&dontcountme=s"></script>');
//END
//---------------------------------------------------------------
function URLEncoding(input)
{
var encodedInputString=escape(input);
encodedInputString=encodedInputString.replace("+", "%2B").replace("+", "%2B").replace("+", "%2B");
encodedInputString=encodedInputString.replace("/", "%2F").replace("/", "%2F").replace("/", "%2F");
encodedInputString=encodedInputString.replace("&","%26").replace("&","%26").replace("&","%26");
var outputurl=encodedInputString;
return outputurl;
}
//END
//---------------------------------------------------------------
/* like submitting the URL http://en.wiki.x.io/w/index.php?title={{{PAGENAME}}}&action=purge */
function addpurge() {
ta['ca-purge'] = ['g', 'Purge the internal cache for this page'];
if(!document.getElementById) return;
var x = document.getElementById('ca-history');
var tabs = document.getElementById('p-cactions').getElementsByTagName('ul')[0];
if(!x) return;
if(x.children) x = x.children[0];
else x = x.childNodes[0];
addlilink(tabs, x.href.replace(/=history/, "=purge"), 'purge', 'ca-purge');
}
//---------------------------------------------------------------
//Toolbox links
function changelinks() {
if(!document.getElementById) return;
document.getElementById('pt-mytalk').firstChild.innerHTML = 'my Talk';
document.getElementById('pt-preferences').firstChild.innerHTML = 'Change Prefs';
document.getElementById('pt-watchlist').firstChild.innerHTML = 'My Watchlist';
document.getElementById('pt-mycontris').firstChild.innerHTML = 'My Contribs';
document.getElementById('pt-logout').firstChild.innerHTML = 'Log out';
}
function addtoolboxlinks() {
var tb = document.getElementById('p-tb').getElementsByTagName('ul')[0];
addlilink(tb, '/wiki/Special:Newpages', 'New pages', '');
addlilink(tb, '/wiki/Special:Log/newusers', 'New users', '');
addlilink(tb, '/wiki/Category:Candidates_for_speedy_deletion', 'Speedy deletions', '');
addlilink(tb, '/wiki/Wikipedia:Administrator_intervention_against_vandalism', 'Vandalism', '');
addlilink(tb, '/wiki/WP:RfPP', 'Protection requests', '');
addlilink(tb, '/wiki/WP:PP', 'Protected pages', '');
addlilink(tb, '/wiki/Wikipedia:Administrators%27_noticeboard', 'Noticeboard', '');
addlilink(tb, '/wiki/Wikipedia:Administrators%27_noticeboard/3RR', '3RR violations', '');
addlilink(tb, '/wiki/Wikipedia:Template messages/User_talk_namespace', 'Talk templates', '');
addlilink(tb, '/wiki/Wikipedia:Template_messages', 'Templates', '');
addlilink(tb, '/wiki/WP:CSD', 'SD criteria', '');
addlilink(tb, '/wiki/Special:Log', 'Log', '');
addlilink(tb, '/wiki/Special:Log/delete', 'Delete log', '');
addlilink(tb, '/wiki/Special:Log/block', 'Block log', '');
addlilink(tb, '/wiki/Special:Ipblocklist', 'IPBlocklist', '');
addlilink(tb, '/wiki/Category:Request for Unblock', 'Unblock requests', '');
addlilink(tb, '/wiki/Category:Wikipedia spam cleanup', 'Spam cleanup', '');
}
//END
// ======== USER TABS =======
addOnloadHook(function() {
if (document.title.search("/") != -1 || document.title.search("- History -") != -1) { //no subpages or history
return;
}
if (document.title.indexOf("User:") == 0 || document.title.indexOf("User talk:") == 0) {
username_a = document.URL.match(/:.*:(.*)/);
username=username_a[1];
addTab("http://en.wiki.x.io/w/index.php?title=Special%3ALog&type=block&user=&page=User:" + username, "log", "ca-blog", "block log", "");
addTab("http://tools.wikimedia.de/~interiot/cgi-bin/count_edits?dbname=enwiki_p&user=" + username, "info", "ca-kate", "user info", "");
}
});
//************
//************
//LAST DIFF TAB
function lastdiff()
{
if (document.title.indexOf("Editing ") != -1)
{return;}
z=document.getElementById("content").childNodes;
for (var n=0;n<z.length;n++) {
if (z[n].className=="firstHeading")
{
var pname=document.title.split(' - ')[0].replace(/&/g,'%26').replace(/\\+/g, '%2B');
}
}
addTab("http://en.wiki.x.io/w/index.php?title=" + pname + "&diff=cur&oldid=prev", "Last", "ca-diff", "Show most recent diff", "");
}
// This will add an [edit top] link at the top of all pages except preview pages
function addtoplink()
{
var edittop = '<span style="color:black;">[</span>edit top<span style="color:black;">]</span>';
// if this is preview page or generated page, stop
if(document.getElementById("wikiPreview") || window.location.href.indexOf("w/index.php?title=Special:") != -1) return;
if(document.title.indexOf("Main Page") != -1) return;
// get the page title
var pageTitle = document.title.split(" - ")[0].replace(" ", "_");
// create div and set innerHTML to link
var divContainer = document.createElement("div");
divContainer.innerHTML = '<div class="editsection" style="float:right;margin-left:5px;margin-right:35px;margin-top:3px;"><a href="/w/index.php?title='+pageTitle+'&action=edit§ion=0" title="'+document.title.split(" - ")[0]+'">' + edittop + '</a></div>';
// insert divContainer into the DOM before the h1
if (document.getElementById("content") !=undefined) {
document.getElementById("content").insertBefore(divContainer, document.getElementsByTagName("h1")[0]);}
}
//END
//************
//MAIN
//************
$(Mainfast)
function Mainfast()
{
changemovetab();
changelinks();
addpurge();
addtoolboxlinks();
add_more_tabs();
}
window.onload = Main;
function Main()
{
addtoplink();
LivePreviewInstall();
if(addSinceTab)
{addSinceTab();}
}
//END
//************
//
Mvaluejsadmin = 'DMalak1';
Rvaluejsadmin = 'ERollenH1';
//
//************
//Slow load tools
//Admin rollback tools
mw.loader.load('http://en.wiki.x.io/w/index.php?title=User:Voice_of_All/Specialadmin/monobook.js'
+ '&action=raw&ctype=text/javascript');
//END
// Script from [[User:MarkS/extraeditbuttons.js]]
mw.loader.load('http://en.wiki.x.io/w/index.php?title=User:MarkS/extraeditbuttons.js'
+ '&action=raw&ctype=text/javascript');
//END
//New user log tools
mw.loader.load('http://en.wiki.x.io/w/index.php?title=User:Voice_of_All/Sleeper/monobook.js'
+ '&action=raw&ctype=text/javascript');
//END
//Admin warning tools
mw.loader.load('http://en.wiki.x.io/w/index.php?title=User:Voice_of_All/Adminwarnings/monobook.js'
+ '&action=raw&ctype=text/javascript');
//END
//Delete tabs
mw.loader.load('http://en.wiki.x.io/w/index.php?title=User:Voice_of_All/Deletion/monobook.js'
+ '&action=raw&ctype=text/javascript');
//END
//************
//Google tools
mw.loader.load('http://en.wiki.x.io/w/index.php?title=User:Voice_of_All/Google/monobook.js'
+ '&action=raw&ctype=text/javascript');
//END
//Zocky's search box
winc('[[User:Zocky/SearchBox.js]]');
//document.write('<script type="text/javascript" src="'
// + 'http://en.wiki.x.io/w/index.php?title=User:Zocky/SearchBox.js'
// + '&action=raw&ctype=text/javascript&dontcountme=s"></script>');
//Interiot's javascript edit counter
if (document.title.indexOf('User:Interiot/Tool2/code.js') != -1) {
winc('[[User:Interiot/Tool2/code.js]]');
// document.write('<script type="text/javascript" src="'
// + 'http://en.wiki.x.io/w/index.php?title=User:Interiot/Tool2/code.js'
// + '&action=raw&ctype=text/javascript&dontcountme=s"></script>');
}
//************
//Lupin's tools
//************
//Filter changes live [[Category:VoA scripted admins]]
//[[User:Lupin/recent2.js]] - please include this line
winc('[[User:Lupin/recent2.js]]');
//document.write('<script type="text/javascript" src="'
// + 'http://en.wiki.x.io/w/index.php?title=User:Lupin/recent2.js'
// + '&action=raw&ctype=text/javascript&dontcountme=s"></script>');
//[[User:Lupin/popupsdev.js]] - please include this line
winc('[[User:Lupin/popupsdev.js]]');
//document.write('<script type="text/javascript" src="'
// + 'http://en.wiki.x.io/w/index.php?title=User:Lupin/popupsdev.js'
// + '&action=raw&ctype=text/javascript&dontcountme=s"></script>');
popupShortcutKeys=true; // optional: enable keyboard shortcuts
// I am an admin so do use this
popupAdminLinks=true; // optional: enable admin links [[Category:VoA scripted admins]]
popupSubpopups=false;
popupStructure='shortmenus';
popupDelay=1.0; // optional: time in s before popup happens (slowed down from default of .5s
popupEditCounterTool='interiot'; // other value is 'kate' but I prefer interiot's as it has more features
popupOnEditSelection=false; // I do not want popups for links that I select while editing.
popupFixDabs=true; // I do want to be able to fix disambigs
popupExtendedRevertSummary='Revert to version $1 by $2 using [[:en:Wikipedia:Tools/Navigation_popups|popups]]';
//
//Change move tab name
function changemovetab()
{
if (document.title.indexOf("Talk:") == -1 && document.title.indexOf("talk:") == -1 && document.title.indexOf("User:") == -1 && document.title.indexOf("MediaWiki:") == -1 && document.title.indexOf("Image:") == -1 && document.title.indexOf("Wikipedia:") == -1 && document.title.indexOf("Template:") == -1 && document.title.indexOf("Portal:") == -1 && document.title.indexOf("Help:") == -1 && document.title.indexOf("Main Page") == -1 && document.title.indexOf("Category:") == -1)
{
if(document.getElementById('ca-edit'))
{document.getElementById('ca-edit').firstChild.innerHTML = 'Modify';}
if(document.getElementById('ca-move'))
{document.getElementById('ca-move').firstChild.innerHTML = 'Rename';}
if(document.getElementById('ca-history'))
{document.getElementById('ca-history').firstChild.innerHTML = 'Revisions';}
}
if (document.title.split(' - ')[0].split(".js")[1] != undefined)
{
if (document.title.split(' - ')[0].split(".js")[1] != undefined)
{
if(document.getElementById('ca-nstab-main'))
{
document.getElementById('ca-nstab-main').firstChild.innerHTML = 'Javascript';
}
else if(document.getElementById('ca-nstab-user'))
{
document.getElementById('ca-nstab-user').firstChild.innerHTML = 'User JS';
}
else if(document.getElementById('ca-nstab-mediawiki'))
{
document.getElementById('ca-nstab-mediawiki').firstChild.innerHTML = 'MediaWiki JS';
}
}
}
}
//END
//************
//</nowiki></pre>[[Category:Wikipedians who use VoA script |Larbot]]