User:Sannse/global.js

// ***************************************************************** // Load various external scripts // ***************************************************************** // importScriptPage('User:Sannse/forumtools.js', 'community'); // importScriptPage('User:Splarka/contribtools.js', 'community'); // importScriptPage('FastDelete/code.js', 'dev'); importScriptPage('User:Sannse/Imagelisttools.js', 'community');

/** * Ajax Fast Delete * * @author Splarka * @author Uberfuzzy * @author Grunny * * @version 2.3 */ /*global jQuery, mediaWiki */ "use strict"; window.dev = window.dev || {}; // Don't load twice... if (window.dev.ajaxFastDelete !== undefined) { return false; }   var conf = mw.config.get([            'wgNamespaceNumber',            'wgPageName',            'skin'        ]), self = { version: '2.3', init: function { if (conf.wgNamespaceNumber === -1 || !window.fdButtons || !$('#ca-delete').length) { return; }               var deleteButtons = ''; switch (conf.skin) { case 'uncyclopedia': case 'wowwiki': case 'monobook': deleteButtons = window.fdButtons.map(function (b) {                           var sum = b.summary;                            return '' + b.label + '';                        }).join(''); $('#p-cactions > .pBody > ul').append(deleteButtons); break; case 'oasis': case 'wikia': var $profile = $('.UserProfileActionButton'); deleteButtons = window.fdButtons.map(function (b) {                           var sum = b.summary;                            return '' + b.label + '';                        }).join(' '); if ($profile.exists) { $profile.append(deleteButtons); } else if ($('.page-header__subtitle-blog-post').exists) { $('.page-header__subtitle-blog-post').append(deleteButtons); $('.page-header__blog-post-details').css('margin-right', '5px'); } else { $('.page-header__title').append(deleteButtons); mw.util.addCSS('a[data-id="fastdelete"]:nth-child(1){margin-left:5px}'); }                       break; }               if ($('a[data-id="fastdelete"]').length) { $('a[data-id="fastdelete"]').click(function {                       self.deletePage($(this).attr('data-summary'));                    }); }               mw.hook('fastdelete.init').fire(deleteButtons); },           deletePage: function (deleteReason) { (new mw.Api) .post({                       action: 'delete',                        title: conf.wgPageName,                        reason: deleteReason,                        token: mw.user.tokens.get('editToken')                    }) .done(function (res) {                       location.reload;                    }); }       };    window.dev.ajaxFastDelete = self; mw.loader.using(['mediawiki.util', 'mediawiki.api'], function {        $(self.init);    }); }(window, jQuery, mediaWiki));
 * (function (window, $, mw, undefined) {

// ***************************************************************** // Custom automatic delete buttons // ***************************************************************** // Adds customizable one-click deletion buttons to any deletable page. // Requires w:User:Splarka/fastdelete.js in appendScript;

var fdButtons = []; fdButtons[fdButtons.length] = { 'summary': '* Violation of FANDOM\'s Terms of Use ', 'label': 'ToU' }; fdButtons[fdButtons.length] = { 'summary': 'Requested deletion', 'label': 'reqst' }; fdButtons[fdButtons.length] = { 'summary': 'Spam ', 'label': 'Spam' }; fdButtons[fdButtons.length] = { 'summary': 'Not suitable for Community Central', 'label': 'CC' }; fdButtons[fdButtons.length] = { 'summary': 'Housekeeping', 'label': 'hk' }; fdButtons[fdButtons.length] = { 'summary': 'Unused video', 'label': 'vid' }; // end Custom automatic delete buttons

if (wgNamespaceNumber != -1) addOnloadHook(function {   addPortletLink('p-cactions', '/wiki/Special:Prefixindex/' + escape(wgPageName), 'Subpages', 'ca-subpages', 'Show subages of ' + wgPageName); });

//WHAM importScriptPage('User:Joeyaa/wham.js', 'vstf');

//gear fixer (from uberfuzzy) $('a[data-name="customize"]').html(function {   return $(this).parent.find('img').detach; });

//ForcePreview

//importScriptURI('https://internal.wikia-inc.com///index.php?title=MediaWiki:ForcePreview.js&action=raw&ctype=text/javascript');

//CU tweak

importScriptURI('http://internal.vstf.wikia.com/index.php?title=MediaWiki:CU.js&action=raw&ctype=text/javascript');

//Thingy from Sactage to fix lookupuser

$(function {   if (mw.config.get('wgCanonicalSpecialPageName') === 'Contributions' && mw.config.get('wgCityId') != '177') {        var target = mw.util.getParamValue('target') || mw.config.get('wgPageName').split('/', 2)[1] || null;        if (!target) {            return;        }        $('#contentSub > a:nth-child(9)').attr('href', 'http://community.wikia.com/wiki/Special:LookupUser?target=' + encodeURIComponent(target));    } }); //Discussion stuff

importArticles({   type: 'script',    articles: [        'u:dev:DiscussionsFeed.js',    ] });

/** * @author: Flightmare (http://elderscrolls.wikia.com/wiki/User:Flightmare) * @version: 1.0 * @license: CC-BY-SA 3.0 * @description: Imports biography from discussions to ns:2 if no profile page is present. */

//replace redlink placeholder with discussions bio. function addDProfile(text) { var content = document.getElementsByClassName("noarticletext")[0]; content.innerHTML = text.replace(/(?:\r\n|\r|\n)/g, ' '); }

function getUserBio(userId) { var request = new XMLHttpRequest; request.onreadystatechange = function { if (request.readyState == 4 && request.status == 200) { var arr = JSON.parse(request.responseText); if (Boolean(arr.value)) { //Only continue if there is an actual bio written. addDProfile(arr.value); }       }    };    request.open("GET", "https://services.wikia.com/user-attribute/user/" + userId + "/attr/bio", true); request.send; }

//Is there a better way to get the user id? function getUserIdByName(username) { var request = new XMLHttpRequest; request.onreadystatechange = function { if (request.readyState == 4 && request.status == 200) { var arr = JSON.parse(request.responseText); userId = arr["query"]["allusers"][0].id; if (Boolean(userId)) { getUserBio(userId); }       }    };    request.open("GET", "/api.php?action=query&list=allusers&aufrom=" + username + "&format=json&aulimit=1", true); request.send; }

function createDProfiles { if (wgNamespaceNumber == 2) { //Test if profile page exists (we want this to 404) var request = new XMLHttpRequest; request.onreadystatechange = function { if (request.readyState == 4 && request.status == 404) { var username = wgPageName.substring(wgCanonicalNamespace.length + 1); //This should be i18n-safe. getUserIdByName(username); }       };        request.open("GET", "/wiki/" + wgPageName, true); request.send; } }

addOnloadHook(createDProfiles);

// Adds log link to deleted images header $(function {   if ($('#mw-imagepage-nofile').length) {        $('View logs for this page ').insertAfter('.page-header__title');    } });