User:Sir Lestaty de Lioncourt/global.js
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.
/**
* Forces left-to-right layout and editing on RTL wikis.
* @see https://meta.wikimedia.org/wiki/Force_ltr
* @update-token [[File:pathoschild/forceltr.js]]
*/
mw.loader.load('//tools-static.wmflabs.org/meta/scripts/pathoschild.forceltr.js');
mw.loader.load('//incubator.wikimedia.org/w/index.php?title=MediaWiki:Gadget-UTCLiveClock.js&action=raw&ctype=text/javascript');
// CIDR based/wildcard-based range contribs
// Range contribs
// by [[m:user:Mike.lifeguard]] <http://meta.wikimedia.org/wiki/User:Mike.lifeguard/rangeContribs.js>
mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Mike.lifeguard/rangeContribs.js&action=raw&ctype=text/javascript');
// Useful script to tell if a user is currently blocked
mw.loader.load('//ru.wikipedia.org/w/index.php?title=MediaWiki:Gadget-markblocked.js&action=raw&ctype=text/javascript');
// A tool that can tell whether local 'crats can remove the sysop flag or not, by [[m:user:Hoo man]]
mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Hoo_man/localRemoveSysops.js&action=raw&ctype=text/javascript');
// [[File:Krinkle_RTRC.js]]
mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Krinkle/RTRC.js&action=raw&ctype=text/javascript');
// [[File:Krinkle_Global_SUL.js]]
mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Krinkle/Tools/Global_SUL.js&action=raw&ctype=text/javascript');
// Tagger for eg. Speedy deletions
// by [[m:user:Hoo man]] <https://meta.wikimedia.org/wiki/User:Hoo_man/tagger.js>
// [[File:Hoo man/tagger.js]]
mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Hoo_man/tagger.js&action=raw&ctype=text/javascript');
//<nowiki>
if(typeof(taggerConfig) == 'undefined') taggerConfig = {};
taggerConfig.tags = [];
taggerConfig.editSummary = [];
taggerConfig.tags[1] = '{{delete|No meaningful content}}';
taggerConfig.editSummary[taggerConfig.tags[1]] = '{{delete}} - no meaningful content';
taggerConfig.tags[2] = '{{delete|Off-topic.}}';
taggerConfig.editSummary[taggerConfig.tags[2]] = 'Tagging for deletion - off-topic page.';
taggerConfig.tags[3] = '{{delete|Spam.}}';
taggerConfig.editSummary[taggerConfig.tags[3]] = '{{delete}} - Spam';
taggerConfig.tags[4] = '{{delete|Vandalism.}}';
taggerConfig.editSummary[taggerConfig.tags[4]] = '{{delete}} - Vandalism';
taggerConfig.tags[5] = '{{delete|Blanked by author.}}';
taggerConfig.editSummary[taggerConfig.tags[5]] = '{{delete}} - Blanked by author.';
taggerConfig.tags.other = 'This is used for the option you have to select to be able to insert a custom template';
//</nowiki>
// Shows the number of active sysops
// by [[m:user:Hoo man]] <https://meta.wikimedia.org/wiki/User:Hoo_man/active_sysops.js>
// [[File:Hoo man/active_sysops.js]]
mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Hoo_man/active_sysops.js&action=raw&ctype=text/javascript');
// Provides several usefull functions for rollback (custom edit summary, mark as bot edits and mass revert)
// by [[m:user:Hoo man]] <https://meta.wikimedia.org/wiki/User:Hoo_man/smart_rollback.js>
// [[File:Hoo man/smart_rollback.js]]
mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Hoo_man/smart_rollback.js&action=raw&ctype=text/javascript');
// mobile layout
localStorage['mw-mobile-sidebar-state'] = 'hidden';
mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Brion_VIBBER/mobile-sidebar.css&action=raw&ctype=text/css', 'text/css');
mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Brion_VIBBER/mobile-sidebar.js&action=raw&ctype=text/javascript');
/**
* [[m:user:Hoo man]]; Version 3.0; 2013-01-13;
* Gives some useful links on user, user talk and user contribution pages
* Tested in IE and FF with vector and monobook, uses my (Hoo man) wiki tools (shared.js)
*
* DO NOT COPY AND PASTE, instead see https://meta.wikimedia.org/wiki/User:Hoo_man/Scripts/Useful_links
*/
/*global hoo, mw, usefulLinksConfig, usefulLinksTools, usefulLinksUserTools, usefulLinksIpTools, disable_useful_links */
/*jshint forin:false, noarg:true, noempty:true, eqeqeq:true, loopfunc:true, bitwise:true, undef:true, browser:true, jquery:true, indent:4, maxerr:50, white:false */
mw.loader.using( [ 'mediawiki.util' ], function() {
"use strict";
// Default config, overwrite using 'usefulLinksConfig'
var config = {
useFoldedMenu : true
},
tools, userTools, ipTools;
/**
Default tools:
To add a tool in you personal js just do the same as below, but replace the "blah." out of the variable names, with the ones given in the comments.
To remove one, just set them to null. Example:
if ( typeof usefulLinksUserTools === 'undefined' ) usefulLinksUserTools = {}; //user only tools
usefulLinksUserTools.xEditCounter = null;
to disable X!'s edit counter
($1: username - $2: lang code - $3: wiki code - $4: server address + script path)
**/
// Tools for all users (can be overwritten using usefulLinksTools instead of tools in your own JS)
// Global contribs
tools = {
// Global contribs
globalContribs: {
url: '//tools.wmflabs.org/guc/?user=$1',
linkText: 'Global contribs'
},
// (local) contribs
contribs: {
url: mw.config.get('wgServer') + mw.config.get('wgArticlePath').replace( '$1', 'Special:Contributions/' ) + '$1',
linkText: 'Contributions'
},
};
// User tools for all logged-in users (can be overwritten using usefulLinksUserTools instead of userTools in your own JS)
userTools = {
// SUL
sul: {
url: '//tools.wmflabs.org/quentinv57-tools/tools/sulinfo.php?username=$1',
linkText: 'SUL'
},
// Central Auth
ca: {
url: '//meta.wikimedia.org/wiki/Special:CentralAuth/$1',
linkText : 'CA'
},
// X!'s edit counter
xEditCounter: {
url: '//tools.wmflabs.org/xtools/pcount/index.php?name=$1&lang=$2&wiki=$3',
linkText: 'X!\'s tool'
},
// User rights
userRights: {
url: '$4?title=Special:ListUsers&limit=1&username=$1',
linkText: 'Rights'
},
// globalsul
globalsul : {
url: '//meta.wikimedia.org/wiki/Special:BlankPage/globalsul',
linkText: 'My GlobalSul'
}
};
// IP tools for all logged-out users (can be overwritten using usefulLinksIpTools instead of ipTools in your own JS)
ipTools = {
// Whois
whois: {
url: 'http://whois.domaintools.com/$1',
linkText: 'Whois'
},
// Stalk
stalk: {
url: 'http://tools.wmflabs.org/meta/stalktoy/?target=$1',
linkText: 'Stalk'
},
// IP info
ipinfo: {
url: 'http://whatismyipaddress.com/ip/$1',
linkText: 'IP info'
},
// Spam check
spamcheck: {
url: 'http://www.stopforumspam.com/ipcheck/$1',
linkText: 'Spam check'
},
};
function init() {
var toolURI, username, i, lang;
if ( typeof disable_useful_links !== 'undefined' && disable_useful_links ) {
return false;
}
// Custom config
if ( typeof usefulLinksConfig !== 'undefined' ) {
if ( typeof usefulLinksConfig.toolLinkMethod !== 'undefined' && usefulLinksConfig.toolLinkMethod !== 'toolbar' ) {
// Disable folded menus if the user selected another link method than toolbar
if ( typeof usefulLinksConfig.toolLinkMethod === 'undefined' || usefulLinksConfig.useFoldedMenu !== true ) {
// But only if he/she didn't explicitly enable it
config.useFoldedMenu = false;
}
}
$.extend( config, usefulLinksConfig );
}
// i18n
if ( config.lang ) {
lang = config.lang;
} else {
lang = hoo.config.lang;
}
if ( lang === 'de' ) {
mw.messages.set( 'hoo-usefulLinks-toolbarText', 'Nützliche Links' );
} else {
mw.messages.set( 'hoo-usefulLinks-toolbarText', 'Useful links' );
}
if ( typeof usefulLinksTools !== 'undefined' ) {
$.extend( tools, usefulLinksTools );
}
if ( typeof usefulLinksUserTools !== 'undefined' ) {
$.extend( userTools, usefulLinksUserTools );
}
if ( typeof usefulLinksIpTools !== 'undefined' ) {
$.extend( ipTools, usefulLinksIpTools );
}
if ( typeof config.toolLinkMethod === 'undefined' ) {
config.toolLinkMethod = hoo.config.toolLinkMethod;
}
// Get user name
if ( mw.config.get( 'wgCanonicalNamespace' ) === 'User' || mw.config.get( 'wgCanonicalNamespace' ) === 'User_talk' ) {
// User or user talk page
username = mw.config.get( 'wgTitle' ).match( /([^\/]+)/ )[1];
} else if ( mw.config.get( 'wgCanonicalNamespace' ) === 'Special' && mw.config.get( 'wgCanonicalSpecialPageName' ) === 'Contributions' ) {
// Special:Contributions
if ( window.location.href.indexOf( '&' ) === -1 ) {
// Request like Special:Contributions/Username
username = mw.config.get( 'wgTitle' ).substring( mw.config.get( 'wgTitle' ).lastIndexOf( '/' ) +1 );
} else {
username = mw.util.getParamValue( 'target' );
}
// We're already on the contribs page
tools.contribs = null;
} else {
return;
}
if ( !mw.util.isIPv4Address( username ) && !mw.util.isIPv6Address( username ) ) {
// Registered user
$.extend( tools, userTools);
} else {
$.extend( tools, ipTools );
}
if ( config.useFoldedMenu && config.toolLinkMethod === 'toolbar' ) {
// Create parent for folded menu
hoo.addToolLink(
mw.messages.get( 'hoo-usefulLinks-toolbarText' ),
function() { return false; },
'usefulLinksMenu',
'toolbar'
);
}
// Add links
for ( i in tools ) {
if ( tools[i] === null || typeof tools[i].url === 'undefined' ) {
continue;
}
toolURI = tools[i].url
.replace( /\$1/g, username )
.replace( /\$2/g, mw.config.get( 'wgWikiName' ) )
.replace( /\$3/g, mw.config.get( 'wgWikiFamily' ) )
.replace( /\$4/g, mw.config.get( 'wgServer' ) + mw.config.get( 'wgScript' ) );
if ( config.useFoldedMenu && config.toolLinkMethod === 'toolbar' ) {
hoo.addSubLink(
'usefulLinksMenu',
tools[i].linkText,
toolURI
);
} else {
hoo.addToolLink(
tools[i].linkText,
toolURI,
'',
config.toolLinkMethod
);
}
}
}
// Load the shared functions script if needed
if ( typeof hoo === 'undefined' || typeof hoo.addToolLink === 'undefined' ) {
$.ajax( {
url: '//meta.wikimedia.org/w/index.php?title=User:Hoo_man/functions.js&action=raw&ctype=text/javascript',
dataType: 'script',
cache: true
} )
.done(
function() {
$( document ).ready( init );
}
);
} else {
$( document ).ready( init );
}
} );