Welcome to Assassin's Creed Wiki! Log in and join the community.
User:Neo of ZW/monobook.js
Jump to navigation
Jump to search
Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Press Ctrl-F5.
// --------------------------------------------------------
// Rights
// Sets a variable "rights" which will return "false" if the
// currently logged in user is a bureaucrat, administrator, or autoconfirmed user. It will return true otherwise.
// it also defines variables which may be used elsewhere in scripts.
// --------------------------------------------------------
var rights_isAdmin = (wgUserGroups.toString().indexOf('sysop') != -1);
var rights_isAuto = (wgUserGroups.toString().indexOf('autoconfirmed') != -1);
var rights_isCrat = (wgUserGroups.toString().indexOf('bureaucrat') != -1);
var rights = true;
if (rights_isCrat || rights_isAdmin || rights_isAuto)
{rights=false}
//
// --------------------------------------------------------
// addLogs
// adds a 'page logs' link to the toolbox bar (if the page is a special page, then no link is displayed)
// --------------------------------------------------------
addOnloadHook(function () {
if ( wgCanonicalNamespace == "Special" )
return; // don't display link for special pages
url = wgServer + "/index.php?title=Special:Log&page=" + encodeURIComponent(wgPageName);
addPortletLink("p-tb", url, "Page logs", "pt-logs");
});
//
// --------------------------------------------------------
// addScript
// adds a 'user scripts' link to the personal links, which links to the user's personal monobook.js page
// --------------------------------------------------------
importScript('User:Matt/ModifySidebar.js');
function CustomizeModificationsOfSidebar() {
ModifySidebar("add", "personal", "my scripts", "/User:" + encodeURIComponent(wgUserName) + "/monobook.js", "My personal user scripts");
}
addOnloadHook(CustomizeModificationsOfSidebar);
//
// --------------------------------------------------------
// redirects
// adds a tab to the top of pages, when clicked it highlights all links on the page that are redirects.
// --------------------------------------------------------
if (wgAction != 'edit' && wgCanonicalNamespace != 'Special' && wgAction != 'history' && wgAction != 'delete' && wgAction != 'watch' && wgAction
!= 'unwatch' && wgAction != 'protect' && wgAction != 'markpatrolled' && wgAction != 'rollback' && document.URL.indexOf('diff=') <= 0)
{
var highlightRedirects = {
tab_redirects : null,
addStylesheetRule : function(tag, style) {
var ss = document.styleSheets[0];
if (ss.insertRule) {
ss.insertRule(tag + '{' + style + '}', ss.cssRules.length);
} else if (ss.addRule) {
ss.addRule(tag, style);
}
},
run : function()
{
highlightRedirects.addStylesheetRule('a.mw-redirect', 'color:green');
highlightRedirects.addStylesheetRule('a.mw-redirect:visited', 'color:darkgreen');
},
install : function()
{
with(highlightRedirects)
{
addPortletLink ('p-cactions', 'javascript:highlightRedirects.run();', 'redirects', 'ca-redirects', 'Highlights all links which are redirects', 'r') ||
addPortletLink ('views', 'javascript:highlightRedirects.run();', 'redirects', 'ca-redirects', 'Highlights all links which are redirects', 'r');
}
}
};
addOnloadHook(highlightRedirects.install);
}
//
// --------------------------------------------------------
// user rights
// adds a link in the tool box while on user pages to a user's rights management page.
// --------------------------------------------------------
addOnloadHook(function () {
if (!rights_isAdmin)
return; //Restrict this feature to admins.
if (wgNamespaceNumber != "2" && wgNamespaceNumber != "3")
return; // restrict to User and User talk
var title = wgTitle;
addPortletLink('p-tb', '/Special:Userrights/'+title,
'User rights', 't-userrights', 'User rights for "'+title+'"');
});
//
// --------------------------------------------------------
// adminrights.js (adapted from http://en.wikipedia.org/wiki/User:Ais523/adminrights.js)
// This script changes the color of links to admins' userpages in the bodyContent of Special, History pages, diff pages,
// and old page revisions.
// ("bodyContent" being everything but the tabs,personal links at the top of the screen and sidebar).
// --------------------------------------------------------
var adminrights=new Array();
importScript('MediaWiki:Adminlist.js');
//Highlighting script. Based on [[User:ais523/highlightmyname.js]].
function highlightadmins(n,p) //node, parent node
{
while(n!=null)
{
if(n.nodeType==1&&n.tagName.toLowerCase()=="a") //anchor
{
if(n.href.indexOf("/User:")!=-1)
{
var u=n.href.split("/User:")[1];
if(adminrights[u.split("_").join("%20")]==1)
{
n.style.color="#00CC00";
if(n.className==null||n.className=="") n.className="ais523_adminrights_admin";
else n.className+="ais523_adminrights_admin";
}
n=n.nextSibling;
}
else if(n.href.indexOf("/index.php?title=User:")!=-1)
{
var u=n.href.split("/index.php?title=User:")[1];
if(adminrights[u.split("_").join("%20")]==1)
{
n.style.color="#00CC00";
if(n.className==null||n.className=="") n.className="ais523_adminrights_admin";
else n.className+=" ais523_adminrights_admin";
}
n=n.nextSibling;
}
else
{
if(n.firstChild!=null) highlightadmins(n.firstChild,n);
n=n.nextSibling;
}
}
else
{
if(n.firstChild!=null) highlightadmins(n.firstChild,n);
n=n.nextSibling;
}
}
}
if (wgCanonicalNamespace == 'Special' || wgAction == 'history' || document.URL.indexOf('diff=') > 0 || document.URL.indexOf('oldid=') > 0)
{
addOnloadHook(function() {
highlightadmins(document.getElementById('bodyContent').firstChild,
document.getElementById('bodyContent'));
});
}
//
// --------------------------------------------------------
// Patrol tab
// adds a "marked as patrolled" tab to pages that have that link already on it.
// Once patrolled, the button turns into a button to go to the recent changes
// with patrolled edits hidden. Further speeding up patrolling.
// The second function of the button has the same access key.
// --------------------------------------------------------
function patroltab() {
if (document.URL.indexOf('&rcid=') > 0 && wgAction != 'markpatrolled')
{
addPortletLink ('p-cactions', "/index.php?title=" + encodeURIComponent(wgPageName) + "&action=markpatrolled&rcid=" + document.location.toString().split('&rcid=')[1].split('&'), 'patrol', 'ca-patrol', 'Mark as patrolled', '1');
}
else if (document.URL.indexOf('&rcid=') > 0 && wgAction == 'markpatrolled')
{
addPortletLink ('p-cactions', "/index.php?title=Special:RecentChanges&hidepatrolled=1", 'return', 'ca-return', 'Return to unpatrolled recent changes', '1');
}
}
addOnloadHook(patroltab);
//
// --------------------------------------------------------
// last diff
// Adds a tab which gives the latest diff for a page.
// --------------------------------------------------------
function lastdiff() {
addPortletLink("p-cactions", wgServer + "/index.php?title=" + encodeURIComponent(wgPageName) + "&diff=cur&oldid=prev",
"last", "ca-last", "Show most recent diff", '2');
}
if (wgCanonicalNamespace != 'Special' && wgAction != 'edit' && wgAction != 'delete' && wgAction != 'watch' && wgAction
!= 'unwatch' && wgAction != 'protect'){
addOnloadHook(lastdiff);
}
//
// --------------------------------------------------------
// Recent Changes Edit Colors
// Colors the page size changes on the recent changes
// --------------------------------------------------------
importStylesheetURI(wgServer +"/User:Matt/RC_Colors.css" + "&ctype=text/css&action=raw");
//
// --------------------------------------------------------
// Rights
// Sets a variable "rights" which will return "false" if the
// currently logged in user is a bureaucrat, administrator, or autoconfirmed user. It will return true otherwise.
// --------------------------------------------------------
var rights_isAdmin = (wgUserGroups.toString().indexOf('sysop') != -1);
var rights_isAuto = (wgUserGroups.toString().indexOf('autoconfirmed') != -1);
var rights_isCrat = (wgUserGroups.toString().indexOf('bureaucrat') != -1);
var rights = true;
if (rights_isCrat || rights_isAdmin || rights_isAuto)
{rights=false}
// --------------------------------------------------------
// Perma-link to wikistuff page
// --------------------------------------------------------
addOnloadHook(function () {
{addPortletLink('p-personal', '/User:Neo/Wikistuff',
"Real Userpage", 'Wiki-link', 'My TRUE userpage.');}
});
// --------------------------------------------------------
// Perma-link to disambiguation links page
// --------------------------------------------------------
addOnloadHook(function () {
{addPortletLink('p-community', '/Special:Disambiguations',
"Disambiguation Links", 't-test', 'This page shows links to disambiguation pages. These need to be tackled.');}
});
// --------------------------------------------------------
// Perma-link to ZELDA
// --------------------------------------------------------
addOnloadHook(function () {
{addPortletLink('p-community', '/Zelda Wiki.org:ZELDA',
"ZELDA", 'ZELDA Link', 'The homepage of the ZELDA project.');}
});
// --------------------------------------------------------
// Perma-link to SaRIA
// --------------------------------------------------------
addOnloadHook(function () {
{addPortletLink('p-community', '/Zelda Wiki.org:SaRIA',
"SaRIA", 'SaRIA Link', 'The homepage of the SaRIA project.');}
});
// --------------------------------------------------------
// Upload Multiple Files link in the toolbox
// This will create a permanent "upload multiple files" link in the toolbox.
// --------------------------------------------------------
addOnloadHook(function () {
{addPortletLink('p-tb', '/Special:MultipleUpload',
"Upload Multiple Files", 't-test', 'Upload up to five files at once.');}
});
//
// --------------------------------------------------------
// Personal links
// Just some personal links for myself to make things easier for myself.
// --------------------------------------------------------
importScript('User:Matt/ModifySidebar.js');
function CustomizeModificationsOfSidebar() {
//Matt stuff
if (wgCanonicalNamespace == 'User' || wgCanonicalNamespace == 'User talk'){
if (wgTitle == wgUserName){
ModifySidebar("add", "personal", "wikistuff", "/User:" + encodeURIComponent(wgUserName) + "/Wikistuff", "My real user page");
}
ModifySidebar("add", "personal", "my edit count", "/Special:EditCount/" + encodeURIComponent(wgUserName), "My personal edit count, broken down by namespace");
}
}
addOnloadHook(CustomizeModificationsOfSidebar);
//
// --------------------------------------------------------
// UTC Clock
// Adds a live UTC clock to the personal links.
// --------------------------------------------------------
function liveClock(){
liveClock.node = addPortletLink( 'p-personal', wgServer + '/index.php?title=' + encodeURIComponent(wgPageName) + '&action=view', '', 'utcdate' );
liveClock.node.style.fontSize = 'larger';
liveClock.node.style.fontWeight = 'bolder';
showTime();
}
addOnloadHook(liveClock);
function showTime(){
var dateNode = liveClock.node;
if( !dateNode ) {
return;
}
var now = new Date();
var hh = now.getUTCHours();
var mm = now.getUTCMinutes();
var ss = now.getUTCSeconds();
var time = ( hh < 10 ? '0' + hh : hh ) + ':' + ( mm < 10 ? '0' + mm : mm ) + ':' + ( ss < 10 ? '0' + ss : ss );
dateNode.firstChild.replaceChild( document.createTextNode( time ), dateNode.firstChild.firstChild );
window.setTimeout(showTime, 1000);
}
//
// --------------------------------------------------------
// load css
// Loads the user's personal css page despite any
// errors preventing it normally or user CSS being disabled
// --------------------------------------------------------
importStylesheetURI(wgServer +"/User:" + encodeURIComponent(wgUserName) + "/monobook.css&ctype=text/css&action=raw");
//