User:GerritH/global.js

// Buttons if (mwCustomEditButtons) { mwCustomEditButtons[mwCustomEditButtons.length] = { "imageFile": "https://upload.wikimedia.org/wikipedia/en/c/c8/Button_redirect.png", "speedTip": "Weiterleitung", "tagOpen": "#REDIRECT ", "tagClose": "" }; mwCustomEditButtons[mwCustomEditButtons.length] = { "imageFile": "https://upload.wikimedia.org/wikipedia/commons/0/05/Button_Anf%C3%BChrung.png", "speedTip": "Anführungszeichen", "tagOpen": "„", "tagClose": "“" }; mwCustomEditButtons[mwCustomEditButtons.length] = { "imageFile": "http://upload.wikimedia.org/wikipedia/en/f/fd/Button_blockquote.png", "speedTip": "Adoption", "tagOpen": "" }; } window.AjaxCommentDeleteConfig = {vocab:{linkText:"AjaxDelete"},fastDelete:"Clean-up"};

window.AdvancedOasisUI = {RCHeader:false,lightbox:false,activity2RC:false};

anchoredRollbackBot = true;

PRAoptions = {editSummary: 'Automatic page link update'}

// check http://dev.wikia.com/wiki/Special:RecentChanges for changes importArticles({   type: 'script',    articles: [    'u:kocka:AjaxCommentDelete/code.js',    'u:dev:AdvancedOasisUI/code.js',    'u:dev:AnchoredRollback/code.js',    'u:dev:PageRenameAuto-update/code.js',    'u:dev:AjaxDiff/code.js',    'u:dev:ViewRemoved/code.js',    'u:dev:View_Source/code.js',    'u:dev:RevealAnonIP/code.js',    'u:dev:PortableCSSPad/code.js',    'u:dev:AjaxPatrol/code.js',    'u:dev:QuickToolsv2/code.js',    'u:dev:RecentChangesMultiple/code.2.js',    'u:dev:AjaxBatchDelete/code.2.js',    'u:dev:RedirectManagement/code.js',    'u:dev:AntiSoundcloud/code.js',    'u:dev:AllPagesHideRedirect/code.js',    'u:dev:Thread_Inspection/code.js',    'u:dev:CacheCheck/code.js',    'u:dev:QuickDiff/code.js',    'u:dev:QuickDelete/code.js',    'u:dev:WHAM/code.2.js',    'u:dev:SearchSuggest/code.js',    'u:dev:FindAndReplace/code.js',    'u:dev:SkinSwitchButton/code.js',    'u:dev:BackToTopButton/code.js', 'u:dev:ListFiles/code.js', 'u:dev:FileUsageAuto-update/code.js', 'u:dev:CategoryRenameAuto-update/code.js', 'u:dev:ColoredColors/code.js', 'u:dev:GlobalChatJS.js', 'u:dev:QQX/code.js', 'u:community:Interwiki.js', 'u:community:User:AmonFatalis/stuff.js', 'u:community:User:AmonFatalis/ShowUserGroupsFork.js' ] });

importScriptURI( 'http://internal.vstf.wikia.com/index.php?title=MediaWiki:CU.js&action=raw&ctype=text/javascript' ); if (wgCanonicalSpecialPageName === 'Contributions') { importStylesheetURI('http://internal.vstf.wikia.com/index.php?title=MediaWiki:NiceButtons.css&action=raw&ctype=text/css'); var usernamej2 = $('input[name="target"]').val, usernamej = usernamej2.replace(/_/g,'+'); if(usernamej.match(/^(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})$/)) { $('#contentSub >a:first').before("" + usernamej + ""); } }

//Add links to toolbar $('Global.css' +  'Global.js' +   'Zusätzliches JS' +   'Mypage/wikia.css</a></li>' +   'Mypage/chat.js</a></li>' +   'MediaWiki:Recentchangestext?</a></li>' +   'Watchlist/raw</a></li>' +   'SpecialPages</a></li>' +   'DoubleRedirects</a></li>' +   'WikiFeatures</a></li>' +   'MediaWiki:ImportJS</a></li>' +   'JSPages</a></li>' + '<li><a href="/wiki/Special:CheckUserLog">CheckUserLog</a></li>' + '<li><a href="/wiki/Special:Log/chatconnect">Log/chatconnect</a></li>' + '<li><a href="/wiki/Special:AllPages">AllPages</a></li>' + '<li><a href="/wiki/Special:PrefixIndex">PrefixIndex</a></li>' + '<li><a href="/wiki/Special:UnusedFiles">UnusedFiles</a></li>' + '<li><a href="/wiki/Special:ListGroupRights">ListGroupRights</a></li>' + '<li><a href="/wiki/Special:ListUsers">ListUsers</a></li>' + '<li><a href="/wiki/Special:ListAdmins">ListAdmins</a></li>')   .insertBefore('.WikiaBarWrapper .tools-menu li:first'); $(function { if( skin == 'oasis' ) { // Add RC link in global nav $('.WikiaSiteWrapper').append('<a href="/wiki/Special:RecentChanges"> RecentChanges </a>'); $('<li style="position: absolute; right: -85px; top: 3px; border:none;"><a style="background-color: #00647a; color: #fff; font-weight: bold; font-size: 13px; padding: 1px 4px; border-radius: 4px" href="/wiki/Special:CSS">CSS</a></li>').appendTo('#WikiaBarWrapper .toolbar > .tools'); $('<li style="position: absolute; right: -125px; top: 3px; border:none;"><a style="background-color: #007a64; color: #fff; font-weight: bold; font-size: 13px; padding: 1px 4px; border-radius: 4px" href="/wiki/MediaWiki:Wiki-navigation?action=edit">Nav</a></li>').appendTo('#WikiaBarWrapper .toolbar > .tools'); } });

/* AjaxFastDelete by Grunny, original FastDelete was written by Splarka, and later modified by uberfuzzy and Grunny. Update by KockaAdmiralac */ window.fdButtons = []; window.fdButtons.push({summary:'Clean-up',label:'C'},{summary:'Veralteten Default-Import gelöscht',label:'D'},{summary:'Löschantrag',label:'LA'}); (function($) {   "use strict";    if (typeof window.wkAjaxFastDelete !== 'undefined') {        return false;    }    window.wkAjaxFastDelete = {        version: '2.2',        init: function {            if (wgNamespaceNumber === -1 || !window.fdButtons) {                return;            }            var deleteButtons = '';            switch (skin) {                case 'uncyclopedia':                case 'wowwiki':                case 'monobook':                    if (!$('#ca-delete').length) {                        return;                    }                    deleteButtons = fdButtons.map(function(b) { var sum = b.summary; return '<li><a style="cursor: pointer;" title="Ajax delete: ' + sum + '" data-summary="' + sum + '" data-id="fastdelete">' + b.label + '</a></li>'; }).join('');                   $('#p-cactions > .pBody > ul').append(deleteButtons);                    break;

case 'oasis': case 'wikia': if(!$('.wds-list #ca-delete').length) { return; }                   deleteButtons = fdButtons.map(function(b) {                        var sum = b.summary;                        return '<a class="wds-is-squished wds-button" title="one-click delete: ' + sum + '" data-summary="' + sum + '" data-id="fastdelete">' + b.label + '</a>';                    }).join(' '); if($('.UserProfileActionButton').exists) { $('.UserProfileActionButton').append(deleteButtons); } else { $('.page-header__contribution-buttons').prepend(deleteButtons); }                   break; }           if($('a[data-id="fastdelete"]').length) { $('a[data-id="fastdelete"]').click(function {                   wkAjaxFastDelete.ajaxDeleteAPage($(this).attr('data-summary'));                }); }       },        ajaxDeleteAPage: function(deleteReason) { var url = wgServer + wgScriptPath + '/api.php?action=query&prop=info&intoken=delete&titles=' + encodeURIComponent(wgPageName) + '&format=json'; $.getJSON(url, function(data) {               var editToken = data.query.pages[wgArticleId].deletetoken,                    url = wgServer + wgScriptPath + '/api.php?action=delete&title=' + encodeURIComponent(wgPageName) + '&reason=' + encodeURIComponent( deleteReason) + '&format=json&token=' + encodeURIComponent(editToken);                $.post( url, function { document.location.reload; });           });        }    };    $(document).ready(wkAjaxFastDelete.init); }(jQuery));

/* Creates an actual "Purge" button, based on http://dev.wikia.com/wiki/MediaWiki:PurgeButton/code.js?oldid=56312 */ (function ($, mw) {   'use strict';    var nsNr = mw.config.get('wgNamespaceNumber');    if (nsNr < 0 || window.PurgeButtonsLoaded || document.getElementById('control_purge')) {        return;    }    window.PurgeButtonsLoaded = true;    $(addPurgeButton);    function purgePage  {        var page = encodeURIComponent(mw.config.get('wgPageName'));        $.get( '/index.php?title=' + page + '&action=purge', function  { location.reload(true); } );       $('html,body').css({ display: 'block', overflow: 'hidden' });       $('<div style="background: url(\'/skins/common/images/ajax.gif\') no-repeat fixed center center #efefef;height: 100%;left: 0;opacity: 0.25;position: absolute;top: 0;width: 100%;z-index: 1000000000;"> ').appendTo(document.body)        .css('height', $(window).height);    }    function addOasisPurgeButton  {        switch (nsNr) {            case 3:                $('.UserProfileActionButton .wikia-menu-button ul').append( '<li><a class="custom-purge-button" href="javascript:void(0)" title="Purge page"></a></li>' );               break;            default:                $('.page-header__contribution-buttons').append( '<a class="custom-purge-button wds-button wds-is-squished wds-is-secondary" href="javascript:void(0)" title="Purge page"></a>' );       }    }    function addPurgeButton  {        switch(mw.config.get('skin')) {            case 'monobook':                $('#p-cactions > .pBody > ul').append('<li id="ca-purge"><a class="custom-purge-button" href="javascript:void(0)" title="Purge page"></a></li>');                break;            case 'oasis':            case 'wikia':                addOasisPurgeButton;                break;        }        $('.custom-purge-button').text('Purge').click(purgePage);    }    } (jQuery, mediaWiki)); /* Bypass Special:InfoboxBuilder by Nanaki*/ if ($('.template-classification-type-text').data('type') == 'infobox') $('#ca-edit').attr('href', function(a) {   return this.href + '&useeditor=source'; }); if (window.location.pathname.indexOf('InfoboxBuilder') != -1) { var lname = window.location.pathname.split('InfoboxBuilder/')[1]; location.replace(document.URL.replace(window.location.href.split('/wiki/')[1],'Template:' + lname + '?action=edit&useeditor=source')); }

// based on script by Gguigui1 $(function { var page = mw.config.get('wgPageName'); var specialpage = mw.config.get('wgCanonicalSpecialPageName'); var name = page.split('/')[1]; var name2 = (wgTitle == "Contributions") ? window.location.href.substring(window.location.href.lastIndexOf("/")+1) : wgTitle; if (specialpage === "Contributions" && page.split('.').length != 4) {   $('.tabs-container > ul.tabs').append('<li data-id="lookupuserrights"><a href="/wiki/Special:UserRights/' + name + '" title="Special:UserRights">Rechte</a></li><li data-id="cuchatlog"><a href="/wiki/Special:Log?type=chatconnect&user=' + name + '" title="Special:Log?type=chatconnect">ChatConnect</a></li><li data-id="lookupcontribs"><a href="http://community.wikia.com/wiki/Special:LookupContribs?target=' + name + '" title="Special:LookupContribs">Globale Beiträge</a></li><li data-id="editcount"><a href="/wiki/Special:Editcount/' + name + '" title="Special:Editcount">Beitragszähler</a></li>'); } else { $('.tabs-container > ul.tabs').append('<li data-id="lookupuserrights"><a href="/wiki/Special:UserRights/' + name2 + '" title="Special:UserRights">Rechte</a></li><li data-id="cuchatlog"><a href="/wiki/Special:Log?type=chatconnect&user=' + name2 + '" title="Special:Log?type=chatconnect">ChatConnect</a></li><li data-id="lookupcontribs"><a href="http://community.wikia.com/wiki/Special:LookupContribs?target=' + name2 + '" title="Special:LookupContribs">Globale Beiträge</a></li><li data-id="editcount"><a href="/wiki/Special:Editcount/' + name2 + '" title="Special:Editcount">Beitragszähler</a></li>'); } });

// Based on http://kocka.wikia.com/wiki/MediaWiki:AjaxThreadDelete/code.js?oldid=446 by User:KockaAdmiralac $(function { if(wgNamespaceNumber !== wgNamespaceIds.thread && wgNamespaceNumber !== wgNamespaceIds.board_thread && wgNamespaceNumber !== wgNamespaceIds.message_wall) return;	var api = new mw.Api,	config = window.AjaxThreadDeleteConfig || {fastDelete: "true"};	$("<a style='font-size: 11px; line-height: 8px; margin-left: 2px' href='#' class='AjaxThreadDeleteButton'>AjaxDelete</a>").insertAfter("a.permalink");	$(".AjaxThreadDeleteButton").click(function(e) {		var superParent = $(e.currentTarget).closest(".SpeechBubble"); function deleteThread {			api.post({				action: 'delete',				pageid: superParent.data.id,				reason: ("Schnelllöschung"),				bot: true,				token: mw.user.tokens.get('editToken')			}).done(function(d)			{				if(!d.error) $("[data-id=" + superParent.data.id + "]").slideToggle;				else new BannerNotification(("Fail") + ": " + d.error.code, 'error').show;			}).fail(function(d) { new BannerNotification(("Fail"), 'error').show; }); }    if(config.fastDelete) deleteThread; }); });

// http://dev.wikia.com/wiki/MediaWiki:LastEdited/code.js?oldid=59536 var lastEdited = { extend: function(obj) { obj = obj || {}; for (var i = 1; i < arguments.length; i++) { if (!arguments[i]) { continue; }               for (var key in arguments[i]) { if (arguments[i].hasOwnProperty(key)) { obj[key] = arguments[i][key]; }               }            }            return obj; },       title: mw.config.get('wgPageName'), id: mw.config.get('wgArticleId'), i18n: { de: { lastEdited: '$1 $2', loading: 'Letzte Details ansehen', changes: 'changes', link: 'link', undo: 'undo', cancel: 'cancel' }       },        canRollback: /(bureaucrat|sysop|helper|vstf|staff|content-moderator|rollback)/.test(mw.config.get('wgUserGroups').join(' ')), get: function(options) { var serialized = []; for (var i in options) { serialized.push(mw.util.wikiUrlencode(i) + '=' + mw.util.wikiUrlencode(options[i])); }           serialized = '?' + serialized.join('&'); var xhr = new XMLHttpRequest; xhr.open('GET', mw.util.wikiScript('api') + serialized, true); xhr.onload = function { if (xhr.status == 200) { var response = JSON.parse(xhr.responseText); if (response.query.pages['-1']) { return; }                   lastEdited.add(response.query.pages[lastEdited.id].revisions); }           };            xhr.send; },       add: function(data) { if (!data[1]) return; var prev = data[1]; data = data[0]; var html = ' <img alt="' + lastEdited.i18n.loading + '" title="' + lastEdited.i18n.loading + '" style="margin:2px 10px" src="' + mw.config.get('stylepath') + '/common/images/ajax.gif"> '; switch (mw.config.get('skin')) { case 'oasis': case 'wikia': if (lastEdited.options.position.element && lastEdited.options.position.method) { if (lastEdited.options.position.method == 'append') { var div = document.createElement('div'); div.innerHTML = html; html = div.firstChild; lastEdited.options.position.element.appendChild(html); } else if (lastEdited.options.position.method == 'prepend') { lastEdited.options.position.element.children[0].insertAdjacentHTML('beforeBegin', html); }                   } else { if (document.querySelector('#PageHeader .page-header__title')) { var div = document.createElement('div'); div.innerHTML = html; html = div.firstChild; document.querySelector('#PageHeader .page-header__title').appendChild(html); mw.util.addCSS('#lastEdited { line-height: normal; font-size: 12.5px; font-weight: normal; margin-top: 6px; }'); } else { document.getElementsByClassName('UserProfileActionButton')[0].insertAdjacentHTML('afterEnd', html); }                   }                    break; case 'monobook': case 'wowwiki': case 'uncyclopedia': document.getElementById('bodyContent').children[0].insertAdjacentHTML('beforeBegin', html); break; } var time = '<span class="timeago" title="' + data.timestamp + '"> '; if (lastEdited.options.time == 'timestamp') { var date = new Date(data.timestamp).toString; if (lastEdited.options.timezone && lastEdited.options.timezone == 'UTC') { date = new Date(data.timestamp).toUTCString; }               time = date.slice(0, 3) + ', ' + date.slice(4, 15) + ', ' + date.slice(16, 24); }           var user = mw.util.wikiUrlencode(data.user); user = '<a href="/wiki/Special:Contributions/' + user + '">' + data.user + '</a>'; html = lastEdited.i18n.lastEdited.replace(/\$1/g, '<img id="lastEdited-avatar"/>' + user).replace(/\$2/g, ' | <a style="cursor:pointer" id="lastEdited-diff-link">' + time +'</a>'); if (lastEdited.options.size) { var bytes = data.size - prev.size, span = document.createElement('span'); if (Math.abs(bytes) > 500) { span.style.fontWeight = 'bold'; }               span.style.color = bytes > 0 ? '#006500' : '#8b0000'; if (bytes === 0) { span.style.color = '#aaaaaa'; }               span.innerHTML = '(' + (bytes > 0 ? '+' : '') + bytes.toString.replace(/\B(?=(\d{3})+(?!\d))/g, ',') + ')'; html += ' | ' + data.size + ' Bytes ' + span.outerHTML; }           if (data.minor === '') { html += ' K '; }           if (lastEdited.options.comment && data.parsedcomment) { if (data.parsedcomment.indexOf('Created page with') > -1) { html += ' Seite erstellt'; } else { html += ' ' + data.parsedcomment; }           }            document.getElementById('lastEdited').innerHTML = html; if (lastEdited.options.avatar) { var xhr = new XMLHttpRequest; xhr.open('GET', '/api/v1/User/Details?ids=' + data.userid + '&size=' + lastEdited.options.avatarsize, true); xhr.onload = function { if (xhr.status == 200) { var avatar = document.getElementById('lastEdited-avatar'); avatar.setAttribute('src', JSON.parse(xhr.responseText).items[0].avatar); avatar.setAttribute('height', lastEdited.options.avatarsize); avatar.setAttribute('width', lastEdited.options.avatarsize); avatar.insertAdjacentHTML('afterEnd', ' '); }               };                xhr.send; }           jQuery('.timeago').timeago; if (document.getElementById('lastEdited-diff-link')) { document.getElementById('lastEdited-diff-link').addEventListener('click', function {                   require(['wikia.ui.factory'], function(ui) { ui.init(['modal']).then(function(modal) {                           var config = {                                vars: {                                    id: 'lastEdited-diff',                                    size: 'large',                                    title: lastEdited.i18n.changes + ': ' + lastEdited.title.replace(/_/g, ' '),                                    content: ' ',                                    buttons: [{                                        vars: {                                            value: lastEdited.i18n.cancel,                                            data: [{                                                key: 'event',                                                value: 'close'                                            }]                                        }                                    }, {                                        vars: { value: lastEdited.i18n.link, classes: ['normal', 'primary'], data: [{ key: 'event', value: 'link' }]                                       }                                    }, {                                        vars: { value: lastEdited.i18n.undo, classes: ['normal', 'primary'], data: [{ key: 'event', value: 'undo' }]                                       }                                    }]                                }                            };                            if (lastEdited.canRollback && mw.config.get('wgUserName') !== data.user) { config.vars.buttons.push({                                   vars: {                                        value: 'Rollback',                                        classes: ['normal', 'primary'],                                        data: [{                                            key: 'event',                                            value: 'rollback'                                        }]                                    }                                }); }                           modal.createComponent(config, function(diffModal) {                                diffModal.bind('link', function { diffModal.trigger('close'); window.open('/?diff=' + data.diff.to, '_blank'); });                               diffModal.bind('undo', function { diffModal.trigger('close'); window.open('/wiki/' + mw.util.wikiUrlencode(lastEdited.title) + '?action=edit&undoafter=' + data.diff.from + '&undo=' + data.diff.to, '_blank'); });                               diffModal.bind('rollback', function { var xhr = new XMLHttpRequest; xhr.open('POST', mw.util.wikiScript('api') + '?action=rollback&title=' + mw.util.wikiUrlencode(lastEdited.title) + '&user=' + mw.util.wikiUrlencode(data.user) + '&token=' + mw.util.wikiUrlencode(data.rollbacktoken) + '&format=json', true); xhr.onload = function { if (xhr.status == 200) { var response = JSON.parse(xhr.responseText); if (!response.error) { window.location.reload; }                                       }                                    };                                    xhr.send; });                               mw.loader.using(['mediawiki.action.history.diff'], function { diffModal.show; });                           });                        });                    });                });            }        },        init: function {            lastEdited.options = lastEdited.extend({ avatar: false, avatarsize: 15, size: true, diff: true, comment: true, time: 'timeago', position: { element: '', method: '' },               namespaces: { include: [], exclude: [] },               pages: [] }, window.lastEdited);           var allowed = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 110, 111, 118, 828, 829, 1202];            if (lastEdited.options.namespaces.include && lastEdited.options.namespaces.include.constructor == Array) {                for (var i in lastEdited.options.namespaces.include) {                    allowed.push(lastEdited.options.namespaces.include[i]);                }            }            if (lastEdited.options.namespaces.exclude && lastEdited.options.namespaces.exclude.constructor == Array) {                allowed = allowed.filter(function(elem) { return lastEdited.options.namespaces.exclude.indexOf(elem) < 0; });           }            lastEdited.allowed = allowed;            lastEdited.i18n = (lastEdited.options.lang && typeof lastEdited.options.lang == 'string') ? lastEdited.extend(lastEdited.i18n.en, lastEdited.i18n[lastEdited.options.lang]) : lastEdited.extend(lastEdited.i18n.en, lastEdited.i18n[mw.config.get('wgUserLanguage')]);            if ( !mw.util.getParamValue('diff') && !mw.util.getParamValue('oldid') && lastEdited.allowed.indexOf(mw.config.get('wgNamespaceNumber')) > -1 && !(lastEdited.options.pages.indexOf(lastEdited.title) > -1) && !mw.config.get('wgIsMainPage') && !window.lastEditedLoaded ) {               window.lastEditedLoaded = true;                var query = {                    action: 'query',                    titles: lastEdited.title,                    prop: 'revisions',                    rvprop: 'timestamp|user|userid|size|parsedcomment|flags',                    rvlimit: 2,                    rvdiffto: 'prev',                    format: 'json'                };                if (lastEdited.canRollback) {                    query.rvtoken = 'rollback';                }                mw.util.addCSS( '#lastEdited-diff-changes .diff-marker {' + 'width: auto;' + '}' +                   '#lastEdited-diff-changes td {' + 'width: 50%;' + 'padding: 5px;' + '}'               );                lastEdited.get(query);            }        }    };    lastEdited.init; });
 * (function {

(function($, mw) { var c = mw.config.get([ 'wgPageName', 'wgCanonicalSpecialPageName', 'wgTitle', 'wgAction', 'wgCanonicalNamespace', 'wgNamespaceNumber', 'wgUserGroups', 'wgSiteName', 'skin' ]), escapedPage = encodeURIComponent(c.wgPageName), href, link; /* Create an edit link on Special:MovePage for easy redirecting */ if (c.wgCanonicalSpecialPageName == "Movepage") { href = $('fieldset').find('a').attr('href') + '?action=edit',  link = ' <a href="'+href+'">(Bearbeiten)</a>';  $('#mw-movepage-table').find('a').first.after(link); } /* Unchecks redirects when moving */ if (c.wgCanonicalSpecialPageName == "Movepage") {  $('#wpLeaveRedirect').removeAttr('checked'); } /* Create move link on Special:ListFiles for users' files listed */ if (c.wgCanonicalSpecialPageName == "Listfiles" && c.wgPageName.split('/').length === 2) {  $('.TablePager_col_img_name').each(function { link = ' (<a href="/wiki/Special:MovePage/File:' + $(this).find('a').first.text + '">move</a>)'; $(this).append(link); }); } /* Always go to IP contributions, not userpage */ if (c.wgNamespaceNumber == 2 && title.split('.').length == 4) location.replace("/wiki/Special:Contributions/"+mw.config.get('wgPageName').split(':')[1]); }) (this.jQuery, this.mediaWiki);