User:SuperSajuuk/global.js

// // START: jQuery code snippets //

// MediaWiki config array. var c = mw.config.get( [      'wgPageName',       'wgServer',       'wgCanonicalSpecialPageName',       'wgTitle',       'wgAction',       'wgCanonicalNamespace',       'wgNamespaceNumber',       'wgUserGroups',       'wgSiteName',       'skin' ]);

(function (window, $, mw) {	"use strict";

// Are we on a special page? if(c.wgCanonicalSpecialPageName === 'Contributions') { var change = wgTitle.split("/"); var title = change[1]; } else { var title = wgTitle; }

// Add edit link to WLH pages // Taken from http://community.wikia.com/wiki/User:Shockstorm/global.js?oldid=1283852 // jQuery version by UltimateSupreme (http://dev.wikia.com/wiki/User:UltimateSupreme) if (c.wgCanonicalSpecialPageName === 'Whatlinkshere' && c.wgSiteName !== "Elder Scrolls") { $("#mw-whatlinkshere-list").find("li").each(function {                      "use strict";                      var $this = $(this),                      $link = ' (edit)  &lrm; ';                      $this.find(".mw-whatlinkshere-tools").before($link);               }); }

// Adds some links in the header toolbar (not forum threads). if(c.wgNamespaceNumber !== 1201) { $(".WikiaMenuElement li").last.after(' WhatLinksHere Subpage List'); }

// Remove the Create/Edit button from WhatLinksHere because it's pointless... var wlh = title.search("WhatLinksHere"); if(wlh > -1) { $(".WikiaPageHeader .wikia-button").hide; }

// Fix position of the editor buttons if(c.wgNamespaceNumber !== 3 && c.wgNamespaceNumber !== 1200 && c.wgNamespaceNumber !== 1201 && $('nav.wikia-menu-button:nth-child(2)').length) { importScriptPage('MediaWiki:RelocateEditDiscussionButtons/code.js', 'dev'); }

// Add link to Special:Editcount on Userpages. $("div.WikiaUserPagesHeader > div.tabs-container > ul.tabs li").last.after('Editcount');

// Adds quick links for important special pages // TO-DO: Make it a dropdown menu. $("nav.activity-nav li.watchlist").after(' Wanted Pages Special Pages</a></li>');

// Adds link to EditWatchlist/raw on tools menu $(".tools-menu li.overflow").first.before("<a href='/wiki/Special:EditWatchlist/raw' data-name='watchlist'>Watchlist</a></li>");

// Places an "Edit this Page" quicklink on normal talkpages and User Talkpages (not my own). if(c.wgNamespaceNumber === 3 && c.wgPageName !== "User_talk:SuperSajuuk") { $("div.UserProfileActionButton nav.wikia-menu-button").before('<a class="wikia-button" href="/wiki/'+mw.html.escape(wgPageName)+'?action=edit" data-id="editprofile"><img class="sprite edit-pencil" height="16" src="data:image/gif;base64,R0lGODlhAQABAIABAAAAAP///yH5BAEAAAEALAAAAAABAAEAQAICTAEAOw%3D%3D" width="22"> Edit Talkpage	</a>	'); }

// Make hidden replies visible in threads. $(".message-removed.hide").removeClass("hide");

// Null Edit button // Conditionally load purge button if page cannot be edited if ($("#ca-edit").length || $("a[data-id='editprofile']").length) { importScriptPage('MediaWiki:NullEditButton/code.js', 'dev'); } else { importScriptPage('MediaWiki:PurgeButton/code.js', 'dev'); }

// Bottom Bar Links $("div.WikiaBarWrapper ul li").first.before("<a href='#top'>Back to Top</a></li>"); $("div.WikiaBarWrapper ul li").first.after("<a href='/wiki/Special:Contact'>Contact Wikia</a></li>"); // Add quick links to AccountNavigation. $("div.wds-global-navigation__user-menu div.wds-dropdown__content li").last.after('<a href="http://community.wikia.com/wiki/User:SuperSajuuk/global.js" target="_blank">Global JS</a></li><a href="http://community.wikia.com/wiki/User:SuperSajuuk/global.css" target="_blank">Global CSS</a></li><a href="http://community.wikia.com/wiki/User:SuperSajuuk/header.css" target="_blank">Header CSS</a></li>');

// Update dropdown. $("div.wds-global-navigation__user-menu div.wds-dropdown__content li").first.remove; // $("div.wds-global-navigation__user-menu div.wds-dropdown__toggle").wrapAll("<a href='/wiki/User:SuperSajuuk' title='Go to Profile' />"); }(window, jQuery, mediaWiki));

// // END: jQuery code snippets //

// // START: Global Navigation Fixes // (function (window, $, mw) {       // Fix Hovers/Link (source: http://dev.wikia.com/wiki/MediaWiki:ExpandGlobalNavDropdownsOnHover/code.js)        require(['wikia.window', 'mw'], function(context, mw) { var globalNav = document.getElementById('globalNavigation'); Array.prototype.slice.call(globalNav.getElementsByClassName('wds-global-navigation__dropdown-toggle')).forEach(function(elem){                     elem.addEventListener('mouseenter', elem.click);                      elem.parentNode.addEventListener('mouseleave', elem.click.bind(elem));               }); globalNav.querySelector('.wds-avatar').addEventListener('click', function {                      context.location = (new mw.Title(mw.user.name, 2)).getUrl;               }); });

// Restore the inverting. $("#globalNavigation").removeClass("headroom"); $(function {              //caches a jQuery object containing the header element               var header = $(".plain");               $(window).scroll(function { var scroll = $(window).scrollTop;

if (scroll >= 200) { header.removeClass('plain').addClass("inverse"); } else { header.removeClass("inverse").addClass('plain'); }              });        }); }(window, jQuery, mediaWiki)); // // START: Pre-Script Loading //

// // START: UserTags Configuration //

// The tags themselves. window.UserTagsJS = { modules: { newuser: { days: 14, edits: 25 },       mwGroups: ['bureaucrat', 'sysop', 'rollback', 'chatmoderator', 'threadmoderator', 'content-moderator', 'custodian', 'patroller', 'wikiastars', 'inactive', 'newuser', 'bot', 'voldev', 'bot-global', 'staff'], metafilter: { 'chatmoderator': ['sysop','bureaucrat'], 'rollback': ['sysop','bureaucrat'], 'chatmoderator': ['threadmoderator'], 'bot': ['bot-global'] } }, tags: { // Per-Wiki Flags (Local) bureaucrat: { u: 'Crat', title: 'This user can grant rights to others', order:1 }, sysop: { u: 'Sysop', title: 'This user manages the wiki', order:2 }, rollback: { link: 'Project:Rollback', title: 'This user can revert vandalism', order:3 }, chatmoderator: { u: 'Chat Mod', title: 'This user moderates the chat', order:4 }, threadmoderator: { u: 'Disc. Mod', title: 'This user moderates discussions', order:5 }, 'content-moderator': { u: 'Main Mod', title: 'This user moderates wiki content', order:6 }, bot: { u: 'Bot', title: 'This account is used for mass editing', order:7 },

// Wikia-Wide Flags (Global) voldev: { u: 'Vol Dev', title: 'This user helps Wikia with system coding' }, helper: { u: 'Helper', title: 'This user helps Wikia with non-English communities' }, 'bot-global': { u: 'Global Bot', title: 'This bot is used for Wikia-wide editing tasks' }, staff: { u: 'Staff', title: 'This user is a paid employee for Wikia Inc.' },

// Custom Flags coder: { u: 'Coder', title: 'This user is a coder' }, translator: { u: 'Translator', title: 'This user can translate languages' }, inactive: { title: 'This user does not visit the wiki often' }, awesome: { u: 'Awesome Person', title: 'This user is undeniably awesome in all ways possible' } }, };

// UserTags Built-In Modules. UserTagsJS.modules.inactive = { inactive: 30, zeroIsInactive: true }; UserTagsJS.modules.autoconfirmed = true;

// UserTags User Filter UserTagsJS.modules.userfilter = {

};

// UserTags Custom Tags UserTagsJS.modules.custom = { 'UltimateSupreme': ['coder'] };

// // END: UserTags Configuration //

// AjaxRC window.ajaxPages = ["Special:WikiActivity","Special:Log","Special:RecentChanges"]; window.ajaxIndicator = 'http://images2.wikia.nocookie.net/__cb20100609110347/software/images/a/a9/Indicator.gif'; window.AjaxRCRefreshText = 'Auto Refresh'; window.AjaxRCRefreshHoverText = 'Silently refreshes the contents of this page every 60 seconds without requiring a full reload';

// // END: Pre-Script Loading //

// // START: Conditional Script Loader //

// NOTE: This section is for scripts that should // NOT load on particular wiki's, but should load // elsewhere. This should be used for wiki's // where Common.js already loads these scripts and // causes duplicate loading to occur.

// Site List var sites = [ "Fire Brigade of Flames Wiki", "City-Building Games Wiki", "Encyclopedia Hiigara" ];

// Load these scripts if the presently viewed site is not in the array. if($.inArray(c.wgSiteName,sites) == -1) { importScriptPage('MediaWiki:Gadget-AcountNav.js', 'naruto'); importScriptPage('MediaWiki:CacheCheck/code.js', 'dev'); }

// // END: Conditional Script Loader //

// // START: All Scripts Loader //

// This is for scripts that will be enabled everywhere regardless of Common.js. // Userspace scripts will be loaded first. importArticles({      type: "script",       articles: [              "u:c:User:SuperSajuuk/FileModule.js", // Imports a File Module script (copied from 452's global js)              "u:dev:MediaWiki:UnsafeScripts/code.js", // Needed for some stuff, load it first.              "u:dev:MediaWiki:TabKeyInserter/code.js",              "u:dev:MediaWiki:WallGreetingButton/code.js",              "u:dev:MediaWiki:ThreadIndicator/code.js",              "u:dev:MediaWiki:PortableCSSPad/code.js",              "u:dev:MediaWiki:UserTags/code.js",              "u:dev:MediaWiki:ListFiles/code.js",              "u:dev:MediaWiki:AjaxUndo/code.js",              "u:dev:MediaWiki:Status/code.js",              "u:dev:User:UltimateSupreme/AjaxRollback.js",              "u:dev:MediaWiki:FileUsageAuto-update/code.js",              "u:dev:MediaWiki:AjaxRC/code.js",              "u:dev:MediaWiki:PurgeBlogs/code.js", "u:dev:MediaWiki:NoImageLightbox/code.js", "u:dev:MediaWiki:QQX/code.js" ] });

// // END: All Scripts Loader //