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>	'); }

// 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'); }       // Remove various unneeded footer links. $("footer.global-footer nav ul li:contains('About')").remove; $("footer.global-footer nav ul li:contains('Careers')").remove; $("footer.global-footer nav ul li:contains('Advertise')").remove; $("footer.global-footer nav ul li:contains('API')").remove; // Make CC link open in new tab by default. $("footer.global-footer nav ul li a:contains('Community Central')").attr("target","_blank");

// Back to Top everywhere. $("footer.global-footer nav ul li").first.before("<a href='#top'>Back to Top</a></li>"); // Add quick links to AccountNavigation. $("#AccountNavigation 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>'); }(window, jQuery, mediaWiki));

// // END: jQuery code snippets //

// // START: ThreadIndicators //

$(function {   if (mw.config.get('wgNamespaceNumber') !== 2000) {        return;    }    // Loop to add padlock/exclamation.    function update {        $('.ThreadList .thread').each(function { var $this = $(this); // Formatting fix $this.find('a').css("display","inline"); // With many thanks to w:User:Cqm! $.get(mw.util.wikiScript('wikia'), {               controller: 'Forum',                method: 'brickHeader',                id: $this.data('id'),                format: 'json'            }, function(data) {                if (data.isClosed) {                    $this.find('h4 > a').before('<img src="https://addons.cdn.mozilla.net/user-media/addon_icons/273/273662-64.png" alt="(Locked)" width="20" height="20" title="This thread is closed to new posts"     style="cursor:help;"> ');                }                if (data.isNotifyeveryone) {                    $this.find('h4 > a').before('<img src="http://images.clipshrine.com/download/wheel/large-Exclamation-Mark-66.6-8960.png" alt="(Highlighted)" width="20" height="20" title="This thread was highlighted" style="cursor:help;"> ');                }            }); });   };    // Run it!    update;    // Make sure it works on all pages, not just page 1.    var observer = new MutationObserver(function(mutations) { mutations.forEach(function(mutation) {           if (mutation.addedNodes.length || mutations.removedNodes.length) {                update;            }        }); });   observer.observe($('.ThreadList')[0], { childList: true }); });

// // END: ThreadIndicator //

// // 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:PortableCSSPad/code.js",              "u:dev:MediaWiki:UserTags/code.js",              "u:dev:MediaWiki:ListFiles/code.js",              "u:dev:MediaWiki:AjaxUndo/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 //