Game widow (talk | contribs) No edit summary |
Fenrir-gpuser (talk | contribs) m (1 revision imported) |
Revision as of 17:54, 8 March 2017
// --------------------------------------------------------
// Variables
// --------------------------------------------------------
var action = mw.config.get("wgAction");
var pageName = mw.config.get("wgPageName");
var canonicalNamespace = mw.config.get("wgCanonicalNamespace");
var server = mw.config.get("wgServer");
var groups = mw.config.get("wgUserGroups");
// Any JavaScript here will be loaded for all users on every page load.
mw.loader.load( '/index.php?title=MediaWiki:Tabs.js&action=raw&ctype=text/javascript' );
mw.loader.load( '/index.php?title=MediaWiki:Toggle.js&action=raw&ctype=text/javascript' );
mw.loader.load( '/index.php?title=MediaWiki:Scrollbar.js&action=raw&ctype=text/javascript' );
mw.loader.load( '/index.php?title=MediaWiki:Fonts.js&action=raw&ctype=text/javascript' );
// --------------------------------------------------------
// 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.
// --------------------------------------------------------
if (groups){
var rights_isAuto = (groups.toString().indexOf('autoconfirmed') != -1);
var rights_isAdmin = (groups.toString().indexOf('sysop') != -1);
var rights_isCrat = (groups.toString().indexOf('bureaucrat') != -1);
var rights_isRetired= (groups.toString().indexOf('retired') != -1);
var rights = true;
}
else {
var rights = false;
}
// --------------------------------------------------------
// staffrights.js (adapted from http://en.wikipedia.org/wiki/User:Ais523/adminrights.js)
// This script changes the color of links to staffs' 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).
//
// Highlighting script. Based on [[User:ais523/highlightmyname.js]].
// --------------------------------------------------------
var adminrights=new Array();
var traineerights=new Array();
var execrights=new Array();
var botrights=new Array();
var retiredrights=new Array();
adminrights['52katie']=1;
adminrights['Astroninja1']=1;
adminrights['AzelleAx']=1;
adminrights['Chuck']=1;
adminrights['Caralista']=1;
adminrights['EzloSpirit']=1;
adminrights['KokoroSenshi']=1;
adminrights['Link_Lab']=1;
adminrights['Midoro']=1;
adminrights['Pixel']=1;
adminrights['SnorlaxMonster']=1;
adminrights['Vaati_The_Wind_Demon']=1;
traineerights['Barquero']=1;
adminrights['Barquero']=1;
traineerights['Bwar']=1;
adminrights['Bwar']=1;
traineerights['Tralinde']=1;
adminrights['Tralinde']=1;
traineerights['Ganman3']=1;
adminrights['Ganman3']=1;
traineerights['Djanonx']=1;
adminrights['Djanonx']=1;
traineerights['Legend_of_Zelda_Freak']=1;
adminrights['Legend_of_Zelda_Freak']=1;
traineerights['Hylian_Pi']=1;
adminrights['Hylian_Pi']=1;
traineerights['Paragonfishhead']=1;
adminrights['Paragonfishhead']=1;
traineerights['Jjgodden']=1;
adminrights['Jjgodden']=1;
traineerights['benfitzy']=1;
adminrights['benfitzy']=1;
execrights['Cody']=1;
execrights['Hylian_King']=1;
execrights['Jason']=1;
execrights['Joshua']=1;
execrights['Justin']=1;
execrights['Tony']=1;
execrights['Shona']=1;
execrights['Game_widow']=1;
botrights['KaeporaGaebora']=1;
botrights['Redirect_fixer']=1;
botrights['The_Groosenator']=1;
botrights['Yuga']=1;
botrights['Rescue_Knight']=1;
retiredrights['Abdullah']=1;
retiredrights['Adam']=1;
retiredrights['Alexander']=1;
retiredrights['Ando']=1;
retiredrights['Aranok']=1;
retiredrights['AtrumLevis']=1;
retiredrights['Autydi']=1;
retiredrights['Axiomist']=1;
retiredrights['Axle_the_Beast']=1;
retiredrights['Bob23']=1;
retiredrights['Captain_Cornflake']=1;
retiredrights['Captain_Desdinova']=1;
retiredrights['Cartoons']=1;
retiredrights['Chocoroko']=1;
retiredrights['Chrono']=1;
retiredrights['Cipriano']=1;
retiredrights['Dannyboy601']=1;
retiredrights['Dany36']=1;
retiredrights['Davogones']=1;
retiredrights['Deku_Link']=1;
retiredrights['DIUM']=1;
retiredrights['Dustin']=1;
retiredrights['EA']=1;
retiredrights['Einstein95']=1;
retiredrights['Embyr_75']=1;
retiredrights['EpicFaceLOL991']=1;
retiredrights['Fizzle']=1;
retiredrights['Fox']=1;
retiredrights['Fury_Three']=1;
retiredrights['Gateway2Drillbit ']=1;
retiredrights['Hammer_Bro._Mike']=1;
retiredrights['Henhouse']=1;
retiredrights['Ice_Medallion']=1;
retiredrights['Jin']=1;
retiredrights['JohnGames']=1;
retiredrights['K2L']=1;
retiredrights['Kain']=1;
retiredrights['Lahvu']=1;
retiredrights['Lars']=1;
retiredrights['Lee']=1;
retiredrights['LegendZelda']=1;
retiredrights['Leminnes']=1;
retiredrights['Liyuanzao']=1;
retiredrights['Lord-of-shadow']=1;
retiredrights['Lord_of_the_Twilight']=1;
retiredrights['Lozzie']=1;
retiredrights['Mandi']=1;
retiredrights['Mases']=1;
retiredrights['Matt']=1;
retiredrights['Melchizedek']=1;
retiredrights['Minish_Link']=1;
retiredrights['Mr._Wiggles']=1;
retiredrights['Nathan']=1;
retiredrights['Noble_Wrot']=1;
retiredrights['Nox']=1;
retiredrights['Owl']=1;
retiredrights['Peefy']=1;
retiredrights['Petenu']=1;
retiredrights['PPLToast']=1;
retiredrights['Sadida']=1;
retiredrights['Sagasaki']=1;
retiredrights['Scott']=1;
retiredrights['SearanoX']=1;
retiredrights['Shetani']=1;
retiredrights['Shiningpikablu252']=1;
retiredrights['Sluzorz']=1;
retiredrights['Steven']=1;
retiredrights['Tappy']=1;
retiredrights['The_Forbidden_One']=1;
retiredrights['TheDarkHunter']=1;
retiredrights['Thewindmaker']=1;
retiredrights['Toby']=1;
retiredrights['Trico']=1;
retiredrights['Triforce_of_the_Gods']=1;
retiredrights['Wielder_of_the_Sword']=1;
retiredrights['WilliamLC']=1;
retiredrights['Xizor']=1;
retiredrights['Yami']=1;
function highlightstaff(n){ //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]==1) n.className += " admin";
else if(execrights[u]==1) n.className += " executive";
else if(botrights[u]==1) n.className += " bot";
else if(retiredrights[u]==1) n.className += " retired";
if(traineerights[u]==1) n.className += " trainee";
}
else if(n.href.indexOf("/index.php?title=User:")!=-1){
var u=n.href.split("/index.php?title=User:")[1];
if(adminrights[u]==1) n.className += " admin";
else if(execrights[u]==1) n.className += " exec";
else if(botrights[u]==1) n.className += " bot";
else if(retiredrights[u]==1) n.className += " retired";
if(traineerights[u]==1) n.className += " trainee";
}
else
if(n.firstChild!=null) highlightstaff(n.firstChild);
}
else{
if(n.firstChild!=null) highlightstaff(n.firstChild);
}
n=n.nextSibling;
}
}
if (canonicalNamespace == 'Special' || action == 'history' || document.URL.indexOf('diff=') > 0 || document.URL.indexOf('oldid=') > 0)
{
$(document).ready(function() {
highlightstaff(document.getElementById('bodyContent').firstChild);
});
}
//
// --------------------------------------------------------
// addSubpages
// adds a 'subpages' link to the toolbox bar (excludes File, MediaWiki and Category namespaces)
// --------------------------------------------------------
//$(document).ready(function () {
// var NSWithoutSubpages = new Array(-1, 6, 8, 14);
// if (document.getElementById('p-tb') && NSWithoutSubpages.indexOf(mw.config.get("wgNamespaceNumber") == -1)
// {
// var linkSubpages = '/Special:PrefixIndex/' + pageName + '/';
// mediaWiki.util.addPortletLink('p-tb', linkSubpages, 'Subpages', 't-subpages', 'Subpages of this page');
// }
//});
//
// --------------------------------------------------------
// last diff
// Adds a tab which gives the latest diff for a page.
// --------------------------------------------------------
function lastdiff() {
mediaWiki.util.addPortletLink("p-cactions", server + "/index.php?title=" + encodeURIComponent(pageName) + "&diff=cur&oldid=prev",
"last", "ca-last", "Show most recent diff", '2');
}
if (canonicalNamespace != 'Special' && action != 'edit' && action != 'delete' && action != 'watch' && action
!= 'unwatch' && action != 'protect'){
$(document).ready(lastdiff);
}
//
// --------------------------------------------------------
// redirects
// adds a tab to the top of pages, when clicked it highlights all links on the page that are redirects.
// --------------------------------------------------------
if (canonicalNamespace != 'Special' && action != 'history' && action != 'delete' && action != 'watch' && action
!= 'unwatch' && action != 'protect' && action != 'markpatrolled' && action != '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:black');
highlightRedirects.addStylesheetRule('a.mw-redirect', 'background-color:yellow');
highlightRedirects.addStylesheetRule('a.mw-redirect:visited', 'color:dimgrey');
highlightRedirects.addStylesheetRule('a.mw-redirect:visited', 'background-color:yellow');
},
install : function()
{
with(highlightRedirects)
{
mediaWiki.util.addPortletLink ('p-cactions', 'javascript:highlightRedirects.run();', 'redirects', 'ca-redirects', 'Highlights all links which are redirects', 'r') ||
mediaWiki.util.addPortletLink ('views', 'javascript:highlightRedirects.run();', 'redirects', 'ca-redirects', 'Highlights all links which are redirects', 'r');
}
}
};
$(document).ready(highlightRedirects.install);
}
//
// --------------------------------------------------------
// Special:MovePage
// Uncheck "Leave a redirect behind" if moving a file
// --------------------------------------------------------
$(function() {
var isMovingFile = pageName.startsWith("Special:MovePage/File");
if(isMovingFile) {
var leaveRedirectCheckbox = $("input[name=wpLeaveRedirect]")[0];
leaveRedirectCheckbox.checked = false;
}
});
// --------------------------------------------------------
// Special:ExpandTemplates
// Check "Suppress <nowiki> tags in result" when using ExpandTemplates
// --------------------------------------------------------
$(function() {
if (pageName == "Special:ExpandTemplates") {
document.getElementById( 'removenowiki' ).checked = true;
}
});
/**
* Collapsible tables
*
* Allows tables to be collapsed, showing only the header. See [[Wikipedia:NavFrame]].
*
* @version 2.0.3 (2014-03-14)
* @source https://www.mediawiki.org/wiki/MediaWiki:Gadget-collapsibleTables.js
* @author [[User:R. Koot]]
* @author [[User:Krinkle]]
* @deprecated Since MediaWiki 1.20: Use class="mw-collapsible" instead which
* is supported in MediaWiki core.
*/
var autoCollapse = 2;
var collapseCaption = 'hide';
var expandCaption = 'show';
var tableIndex = 0;
function collapseTable( tableIndex ) {
var Button = document.getElementById( 'collapseButton' + tableIndex );
var Table = document.getElementById( 'collapsibleTable' + tableIndex );
if ( !Table || !Button ) {
return false;
}
var Rows = Table.rows;
var i;
if ( Button.firstChild.data === collapseCaption ) {
for ( i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = 'none';
}
Button.firstChild.data = expandCaption;
} else {
for ( i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = Rows[0].style.display;
}
Button.firstChild.data = collapseCaption;
}
}
function createClickHandler( tableIndex ) {
return function ( e ) {
e.preventDefault();
collapseTable( tableIndex );
};
}
function createCollapseButtons( $content ) {
var NavigationBoxes = {};
var $Tables = $content.find( 'table' );
var i;
$Tables.each( function( i, table ) {
if ( $(table).hasClass( 'collapsible' ) ) {
/* only add button and increment count if there is a header row to work with */
var HeaderRow = table.getElementsByTagName( 'tr' )[0];
if ( !HeaderRow ) {
return;
}
var Header = table.getElementsByTagName( 'th' )[0];
if ( !Header ) {
return;
}
NavigationBoxes[ tableIndex ] = table;
table.setAttribute( 'id', 'collapsibleTable' + tableIndex );
var Button = document.createElement( 'span' );
var ButtonLink = document.createElement( 'a' );
var ButtonText = document.createTextNode( collapseCaption );
// Styles are declared in [[MediaWiki:Common.css]]
Button.className = 'collapseButton';
ButtonLink.style.color = Header.style.color;
ButtonLink.setAttribute( 'id', 'collapseButton' + tableIndex );
ButtonLink.setAttribute( 'href', '#' );
$( ButtonLink ).on( 'click', createClickHandler( tableIndex ) );
ButtonLink.appendChild( ButtonText );
Button.appendChild( document.createTextNode( '[' ) );
Button.appendChild( ButtonLink );
Button.appendChild( document.createTextNode( ']' ) );
Header.insertBefore( Button, Header.firstChild );
tableIndex++;
}
} );
for ( i = 0; i < tableIndex; i++ ) {
if ( $( NavigationBoxes[i] ).hasClass( 'collapsed' ) ||
( tableIndex >= autoCollapse && $( NavigationBoxes[i] ).hasClass( 'autocollapse' ) )
) {
collapseTable( i );
}
else if ( $( NavigationBoxes[i] ).hasClass ( 'innercollapse' ) ) {
var element = NavigationBoxes[i];
while ((element = element.parentNode)) {
if ( $( element ).hasClass( 'outercollapse' ) ) {
collapseTable ( i );
break;
}
}
}
}
}
mw.hook( 'wikipage.content' ).add( createCollapseButtons );
// --------------------------------------------------------
// Test if an element has a certain class
// Description: Uses regular expressions and caching for better performance.
// Maintainers: [[User:Mike Dillon]], [[User:R. Koot]], [[User:SG]]
// --------------------------------------------------------
var hasClass = (function () {
var reCache = {};
return function (element, className) {
return (reCache[className] ? reCache[className] : (reCache[className] = new RegExp("(?:\\s|^)" + className + "(?:\\s|$)"))).test(element.className);
};
})();
// --------------------------------------------------------
// ForcePreviewLite
// A modified version of http://en.wikipedia.org/wiki/Wikipedia:WikiProject_User_scripts/Scripts/Force_edit_summary_alternative
// NOTE: This is not a completed script, only a test of possible options for future addition. Implementation of this script would be done by combining the code of "function forceSummary()" into "function forcePreview()" at http://www.mediawiki.org/wiki/Manual:Force_preview
// --------------------------------------------------------
function addForceSummary()
{
if(!/&action=edit/.test(window.location.href) && !/&action=submit/.test(window.location.href)) return;
if(/§ion=new/.test(window.location.href)) return;
if(!document.forms.editform) return;
document.forms.editform.wpSave.onclick = forceSummary;
}
function forceSummary()
{
flashcolour(7);
document.forms.editform.wpSave.onclick = "";
return false;
}
var flashcolour_timer;
function flashcolour(count) {
if (count%2 == 1)
document.getElementById("wpPreview").style.backgroundColor = "silver";
else
document.getElementById("wpPreview").style.backgroundColor = "yellow";
if (flashcolour_timer != null) {
clearTimeout(flashcolour_timer);
flashcolour_timer = null;
}
if (count > 0)
flashcolour_timer = window.setTimeout("flashcolour(" + (count-1) + ")",350);
}
if (action != "submit" && rights == false)
{
$(document).ready(addForceSummary);
}
// --------------------------------------------------------
// Visibility Toggling
// Description: Toggles visibility for things like [[Template:Hide]]
// --------------------------------------------------------
$(document).ready(function(){
var NavigationBarHide = '[hide â–²]';
var NavigationBarShow = '[show â–¼]';
// Initialization
$('.NavFrame').each(function(){
if ($(this).children('.NavContent').css("display") == "none") {
$(this).children('.NavHead').prepend('<span class="NavToggle">' + NavigationBarShow + '</span>');
}
else {
$(this).children('.NavHead').prepend('<span class="NavToggle">' + NavigationBarHide + '</span>');
}
});
// When the header is clicked
$(".NavHead").click(function () {
var $toggle = $(this).children('.NavToggle');
var $content = $(this).parent().children('.NavContent');
// toggle content
$content.toggle();
// toggle text
if ($toggle.text() == NavigationBarHide) {
$toggle.text(NavigationBarShow)
}
else {
$toggle.text(NavigationBarHide)
}
});
});
// (end of script)
// --------------------------------------------------------
// Contains citation templates to be added to the toolbar.
// Source: [http://mediawiki.org/wiki/Manual:Custom_edit_buttons MediaWiki.org]
// Credit to [[User:RAP|RAP]] for the images.
// --------------------------------------------------------
// We begin by getting the date for use in certain citations.
var time = new Date();
var curday = time.getDate();
var month=new Array();
month[0]="January";
month[1]="February";
month[2]="March";
month[3]="April";
month[4]="May";
month[5]="June";
month[6]="July";
month[7]="August";
month[8]="September";
month[9]="October";
month[10]="November";
month[11]="December";
var curmonth = month[time.getMonth()];
var nowyear = time.getYear()+1900;
var nowday = curday.toString();
var nowmonth = curmonth.toString();
// Now we make the function itself
var addExtraButtons = function(){
// Start with web cite
mw.toolbar.addButton( {
imageFile: 'https://zeldawiki.org/images/9/91/Button_cite_web.png',
speedTip: 'Web Citation',
tagOpen: "<ref>{{Cite web|quote= |author= |published= |retrieved=" + nowmonth + " " + nowday + ", " + nowyear + "|url= |title= |site= |type=",
tagClose: '}}</ref>',
sampleText: '',
imageId: ''
} );
// Cite book
mw.toolbar.addButton( {
imageFile: 'https://zeldawiki.org/images/e/ef/Button_cite_book.png',
speedTip: 'Cite book',
tagOpen: '<ref>{{Cite book|quote= |book= |publisher= |page= ',
tagClose: '}}</ref>',
sampleText: '',
imageId: ''
} );
// Cite person
mw.toolbar.addButton( {
imageFile: 'https://zeldawiki.org/images/5/53/Button_cite_person.png',
speedTip: 'Cite person',
tagOpen: '<ref>{{Cite person|quote= |name= |url= |title= ',
tagClose: '}}</ref>',
sampleText: '',
imageId: ''
} );
// Cite episode
mw.toolbar.addButton( {
imageFile: 'https://zeldawiki.org/images/1/1c/Button_cite_episode.png',
speedTip: 'Cite episode',
tagOpen: '<ref>{{Cite episode|quote= |name= |show= |episode= |time= ',
tagClose: '}}</ref>',
sampleText: '',
imageId: ''
} );
// Cite manual
mw.toolbar.addButton( {
imageFile: 'https://zeldawiki.org/images/5/5d/Button_cite_manual.png',
speedTip: 'Cite manual',
tagOpen: '<ref>{{Cite manual|quote= |game= |page= ',
tagClose: '}}</ref>',
sampleText: '',
imageId: ''
} );
// Regular cite template
mw.toolbar.addButton( {
imageFile: 'https://zeldawiki.org/images/2/20/Button_cite_template.png',
speedTip: 'Regular citation',
tagOpen: '<ref>{{Cite|(Quote)|(Person)|(Game)',
tagClose: '}}</ref>',
sampleText: '',
imageId: ''
} );
};
if( $.inArray( action, [ 'edit', 'submit' ] ) !== -1 ) {
mw.loader.using( 'user.options', function () {
if ( ! mw.user.options.get( 'usebetatoolbar' ) ) {
mw.loader.using( 'mediawiki.action.edit', function(){
$( addExtraButtons );
} );
}
} );
}
// --------------------------------------------------
// Page logs. Because they're not just for admins :P
// --------------------------------------------------
if (canonicalNamespace != "Special"){
mediaWiki.util.addPortletLink("p-tb", "http://zeldawiki.org/index.php?title=Special%3ALog&type=&user=&page=" + pageName,
"Page Logs", "t-logs", "Show all relevant logs for this page.", '3');
}
// --------------------------------------------------
// Preview button for Special:Upload
// --------------------------------------------------
if (pageName == 'Special:Upload')
{
mw.loader.load( '/index.php?title=MediaWiki:UploadPreview.js&action=raw&ctype=text/javascript' );
}
/**
* Force lowercase file extensions
*/
function force_lowercase(){
$('#mw-upload-form').on('submit', function(){
var dest = $('#wpDestFile').val();
var ext = dest.split("").reverse().join("").split('.');
ext = ext[0].split("").reverse().join("").toLowerCase();
$('#wpDestFile').val(dest.slice(0, -3) + ext);
});
}
$(force_lowercase());