User:Dominic1743/global.js

importArticles({   type: 'script',    articles: [        'u:dev:MediaWiki:Nuke/code.js',    ] }); importArticles({   type: 'script',    articles: [        'u:dev:MediaWiki:RedirectManagement/code.js',    ] }); importArticles({   type: 'script',    articles: [        'u:dev:MediaWiki:PageRenameAuto-update/code.js',    ] }); importArticles({   type: 'script',    articles: [        'u:dev:MediaWiki:PowerDelete/code.js',    ] }); importArticles({   type: 'script',    articles: [        'u:dev:MediaWiki:RevealAnonIP/usercode.js',    ] }); importArticles({   type: 'script',    articles: [        'u:dev:MediaWiki:MassUserRights/code.js',    ] }); importArticles({   type: 'script',    articles: [        'u:dev:MediaWiki:RollbackSpamUserContribs/code.js',    ] }); importArticles({   type: 'script',    articles: [        'u:dev:MediaWiki:AjaxRename/code.js',    ] }); importArticles({   type: 'script',    articles: [        'u:dev:MediaWiki:RollbackSpamUserContribs/code.js',    ] }); importArticles({   type: 'script',    articles: [        'u:dev:MediaWiki:AjaxRename/code.js',    ] }); importArticles({   type: 'script',    articles: [        'u:dev:MediaWiki:PageRenameAuto-update/code.js',    ] }); importArticles({   type: 'script',    articles: [        'u:dev:MediaWiki:MassRenameRevert/code.js',    ] }); importArticles({   type: 'script',    articles: [        'u:dev:MediaWiki:MultipleFileDelete/code.js',    ] }); importArticles({   type: 'script',    articles: [        'u:dev:MediaWiki:Deadvideo/code.js',    ] }); importArticles({   type: 'script',    articles: [        'u:dev:MediaWiki:WHAM/code.2.js',    ] }); importArticles({   type: 'script',    articles: [        'u:dev:MediaWiki:AjaxUndo/code.js',    ] }); importArticles({   type: 'script',    articles: [        'u:dev:MediaWiki:AjaxDelete/code.js',    ] }); importArticles({   type: 'script',    articles: [        'u:dev:MediaWiki:AjaxEdit.js',    ] }); importArticles({   type: 'script',    articles: [        'u:dev:MediaWiki:AjaxUndo/code.js',    ] }); importArticles({   type: 'script',    articles: [        'u:dev:MediaWiki:MultiUpload/code.js',    ] }); importArticles({   type: 'script',    articles: [        'u:dev:MediaWiki:CategoryRenameAuto-update/code.js',    ] }); importArticles({   type: 'script',    articles: [        'u:dev:MediaWiki:AjaxRedirect/code.js',    ] }); importArticles({   type: 'script',    articles: [        'u:dev:MediaWiki:MassEdit/code.js',    ] }); importArticles({   type: 'script',    articles: [        'u:dev:MediaWiki:NullEditButton/code.js',    ] }); importArticles({   type: 'script',    articles: [        'u:dev:MediaWiki:CleanWantedFiles/code.js',    ] }); importArticles({   type: 'script',    articles: [        'u:dev:MediaWiki:Linksweeper/code.js',    ] }); importArticles({   type: 'script',    articles: [        'u:dev:MediaWiki:MassCategorization/code.js',    ] }); importArticles({   type: 'script',    articles: [        'u:dev:MediaWiki:PreloadFileDescription.js',    ] }); importArticles({   type: 'script',    articles: [        'u:dev:MediaWiki:PreferenceLinks.js',    ] }); importArticles({   type: 'script',    articles: [        'u:dev:MediaWiki:PageEditInfo/code.js',    ] }); importArticles({   type: 'script',    articles: [        'u:dev:MediaWiki:AjaxBatchDelete.js',    ] }); importArticles({   type: 'script',    articles: [        'u:dev:MediaWiki:FileUsageAuto-update/code.js',    ] }); importArticles({   type: 'script',    articles: [        'u:dev:MediaWiki:AjaxCommentDelete/code.js',    ] }); window.fdButtons = [ {       summary: 'Unused/Broken Redirect', label: 'Redirect' },   {        summary: 'Vandalism', label: 'Vandalism' },   {        summary: 'Not Needed', label: 'Not' },   {        summary: 'Unused/Broken Video', label: 'Video' },   {        summary: 'Unused Photo', label: 'Photo' } ]; importArticles({   type: 'script',    articles: [        // ...        'u:dev:MediaWiki:FastDelete/code.js',        // ...    ] }); importArticles({   type: 'script',    articles: [        'u:dev:MediaWiki:AjaxCommentDelete/code.js',    ] }); importArticles({   type: 'script',    articles: [        'u:dev:MediaWiki:FileLogs.js',    ] }); importArticles({   type: 'script',    articles: [        'u:dev:MediaWiki:FindAndReplace/code.js',    ] }); importArticles({   type: "script",    articles: [        "u:dev:ListFiles/code.js" // ListFiles from Dev Wiki    ] }); importArticles({   type: 'script',    articles: [        'u:dev:MediaWiki:Standard Edit Summary/code.js',    ] }); importArticles({   type: 'script',    articles: [        'u:dev:MediaWiki:StickySummary.js',    ] }); importArticles({   type: 'script',    articles: [        'u:dev:MediaWiki:AjaxBatchUndelete.js',    ] }); importArticles({   type: 'script',    articles: [        'u:dev:MediaWiki:WhatLinksHere/code.js',    ] }); importArticles({   type: 'script',    articles: [        'u:dev:MediaWiki:AjaxDiff/code.js',    ] }); importArticles({   type: 'script',    articles: [        'u:dev:MediaWiki:AjaxRC/code.js',    ] }); importArticles({   type: 'script',    articles: [        'u:dev:MediaWiki:CommentPreview/code.js',    ] }); /* mw.loader.using('mediawiki.api', function {	//Exit if normal rollback links are present	if ($('.mw-rollback-link').length || window.RollbackWikiDisable) return;	var conf = mw.config.get([ 'wgAction', 'wgCanonicalSpecialPageName', 'wgContentLanguage', 'wgPageName', 'wgUserLanguage' ]),	i18n = {		en: {			rollback: "rollback",			description: "&quot;Rollback&quot; reverts edit(s) to this page of the last contributor in one click",			summary: "Reverted edits by $1 (talk) to last version by $2",			summaryShort: "Reverted edits by $1",			editConflict: "Unable to rollback (edit conflict)",			contentFail: "Unable to rollback (failed to get page content)",			singleEditor: "Unable to rollback (no different editor found)",			revisionFail: "Unable to rollback (failed to get revisions)",			editFail: "Unable to rollback (failed to publish edit)",			success: "Rollback successful"		},		ru: {			rollback: "rollback",			description: "&quot;Rollback&quot; reverts edit(s) to this page of the last contributor in one click",			summary: "Откат правок без статуса откатчика (скрипт)",			summaryShort: "Reverted edits by $1", editConflict: "Произошёл конфликт правок", contentFail: "Произошла ошибка", singleEditor: "Произошла ошибка", revisionFail: "Произошла ошибка", editFail: "Произошла ошибка", success: "Откат совершен" },		fr: { rollback: "révoquer", description: "&quot;Rollback&quot; révoque la/les modification(s) du dernier contributeur de cette page en un clic", summary: "Révoqué les modifications par $1 (talk) à la dernière version par $2 (script)", summaryShort: "Révoqué les modifications par $1 (script)", editConflict: "Impossible de révoquer (conflit de modifications)", contentFail: "Impossible de révoquer (échec de l'obtention du contenu de la page)", singleEditor: "Impossible de révoquer (aucun éditeur différent trouvé)", revisionFail: "Impossible de révoquer (échec de l'obtention des révisions)", editFail: "Impossible de révoquer (échec de la publication de la modification)", success: "Révocation(s) réussie(s) !" }	};	i18n = i18n[conf.wgContentLanguage] || i18n[conf.wgContentLanguage.split('-')[0]] || i18n[conf.wgUserLanguage] || i18n[conf.wgUserLanguage.split('-')[0]] || i18n.en; //History if (conf.wgAction == "history" && $('#pagehistory li').length > 1) $('#pagehistory li:first .mw-history-undo a').before(' ' + i18n.rollback + ' | '); //Contributions else if (conf.wgCanonicalSpecialPageName == "Contributions") { $('#mw-content-text ul').find('li').each(function {			if ($(this).find('.mw-uctop').length)				$(this).append(' [' + i18n.rollback + '] ');		}); }	//Diffs else if (($.getUrlVar('diff') || $.getUrlVar('oldid')) && $('#differences-nextlink').length === 0) $('.mw-usertoollinks:last').after('   [' + i18n.rollback + '] '); else return; conf.API = new mw.Api; conf.token = mw.user.tokens.values.editToken; mw.util.addCSS('.mw-custom-rollback-link a { cursor: pointer; }'); $('.mw-custom-rollback-link a').click(function {		getRevisionIdAndContent($(this).data('id'),$(this).data('user').replace(/_/g, " "));		$(this).parent.remove;	}); function getRevisionIdAndContent(title,target) { conf.API.get({		action: 'query',		prop: 'revisions',		titles: title,		rvprop: 'user|ids',		rvlimit: 500,		cb: new Date.getTime		}) .done(function(d) {			if (!d.error) {				var revisions;				for (var i in d.query.pages) {					revisions = d.query.pages[i].revisions;				}				//Don't rollback if the page has been edited by somebody else				if (target != revisions[0].user) {					outputError(i18n.editConflict);					return;				}				var lastUser,				revId;				for (var i in revisions) {					if (revisions[i].user != target) {						lastUser = revisions[i].user; //remember last author						revId = revisions[i].revid; //get revision to revert to						break;					}				}				if (lastUser) {					conf.API.get({ action: 'query', prop: 'revisions', rvprop: 'content', revids: revId, cb: new Date.getTime })					.done(function(d) { if (!d.error) { var content = ""; //can be no content on page for (var i in d.query.pages) { if (d.query.pages[i].revisions) content = d.query.pages[i].revisions[0]["*"]; }							performRollback(title,content,target,lastUser); }						else outputError(i18n.contentFail + ': ' + d.error.code); })					.fail(function { outputError(i18n.contentFail); });				}				else					outputError(i18n.singleEditor);			}			else				outputError(i18n.revisionFail + ': ' + d.error.code);		}) .fail(function {			outputError(i18n.revisionFail);		}); }	function performRollback(page,text,user,user2) { var summary = i18n.summary.replace(/\$1/g,user).replace(/\$2/g,user2); if (summary.length > 150) summary = i18n.summaryShort.replace('$1',user); conf.API.post({		action: 'edit',		title: page,		text: text,		summary: summary,		minor: true,		token: conf.token		}) .done(function(d) {			if (!d.error) {				new BannerNotification(i18n.success,'confirm').show;							}			else				outputError(i18n.editFail + ': ' + d.error.code);		}) .fail(function {			outputError(i18n.editFail);		}); }	function outputError(text) { new BannerNotification(text,'error').show; } }); importArticles({ type: 'script', articles: [ 'u:dev:MediaWiki:FixWantedFiles/code.js', ] }); importArticles({ type: 'script', articles: [ 'u:dev:MediaWiki:WLHEditLinks/code.js', ] }); importArticles({ type: 'script', articles: [ 'u:dev:MediaWiki:Message/code.js', ] }); importArticles({ type: 'script', articles: [ 'u:dev:MediaWiki:AnchoredRollback/code.js', ] }); importArticles({ type: 'script', articles: [ 'u:dev:MediaWiki:CategoryQuickRemove.js', ] }); /* Old CC theme */ if (wgCityId == '177') {   importStylesheetPage('MediaWiki:WikiaCommunityCentralTheme/code.css', 'dev'); } /* Hide "shortcuts" link */ $('.WikiaBarWrapper .toolbar .tools > li:has(a[class="global-shortcuts-help-entry-point"])').remove; /* Redirect to base page if ends with '/' */ if (window.location.href.match("/$")) {   window.location.href = window.location.href.slice(0, -1); } /* Disable 5 sec edit save delay */ GlobalTriggers.bind("WikiaEditorReady", function(point) { if (point.controls) { point.controls.editform.off("submit").on("submit", function {           point.setState(3);        }); } }); /* Standard Edit Summary config */ window.dev = window.dev || {}; window.dev.editSummaries = {   select: [        '(click to browse)',        'Quick', [            'Credit to the wikia watchers',            'Redlink removal',            'Duplicate image',            'Removing vandalism',            'Fixing error(s)',            'Corrected spelling/grammar',            'Corrected formatting/layout'        ],        'General', [            'Testing',            'Testing (will revert shortly if fails)',            'Testing complete',            'Added/removed/corrected wikilink(s)',            'Added/removed/corrected interwiki link(s)',            'Added/removed/corrected external link(s)',            'Cleanup',            'Comment',            'Correction(s), coding',            'Expanded',            'Formatting',            'Grammar',            'Headings (adjusting, etc.)',            'HTML &rarr; wikicode', 'Layout', 'Mini-wikifying', 'Punctuation', 'Redlink removal', 'Refactoring', 'Removing RTE refuse', 'Re-ordering/re-organizing', 'Reply', 'Revised', 'Signing', 'Spelling', 'Style/layout', 'Suggestion', 'Tidying', 'Updating', 'Wikifying', 'Factual correction', 'Added/removed/corrected sources/appearances' ],       'Removal/Reversion', [ 'Reverted vandalism', 'Reverted test edit', 'Reverted vanity edit', 'Removed fanon', 'Removed libel/slander', 'Removed copyvio', 'Removed spam' ],       'Templates', [ 'Added/removed/corrected template(s)', 'Added/removed/corrected infobox(es)', 'Substituting template(s)', ],       'Categories', [ 'Added category(ies)', 'Alphabetised category(ies)', 'Creating Category page', 'Modified category(ies)', 'Removed category(ies)', 'Removed defunct category(ies)', 'Removed duplicate category(ies)' ],       'Images/Files', [ 'Adding image(s)', 'Modifying image(s)' ]   ] }; /* Show bot edits on RecentChanges */ if (wgPageName == "Special:RecentChanges") { if (window.location.href.indexOf("hidebots=") == -1 && window.location.href.indexOf("?") == -1) { window.location.href = window.location.href + "?hidebots=0"; } else if (window.location.href.indexOf("hidebots=") == -1 && window.location.href.indexOf("?") !== -1) { window.location.href = window.location.href + "&hidebots=0"; } } else if (wgPageName == "Special:Newwikis") { if (window.location.href.indexOf("language=") == -1 && window.location.href.indexOf("?") == -1) { window.location.href = window.location.href + "?language=en"; } else if (window.location.href.indexOf("language=") == -1 && window.location.href.indexOf("?") != -1) { window.location.href = window.location.href + "&language=en"; } } /* Block links */ $(function {   if ($('#UserProfileMasthead').length) {        $('.tag-container').after('Block');    }    // Threads    if (wgNamespaceNumber != 1201) return;    for (var i in $('.msg-toolbar')) {        var usr = $('.msg-toolbar:eq(' + i + ')').parent.find('.edited-by a').text;        $('.msg-toolbar:eq(' + i + ')').find('.WikiaMenuElement li').last.before('Block');    } }); /* Add gender tag to global masterhead */ $(function {   if($("#UserProfileMasthead").length === 0) {        return;    }    mw.loader.using('mediawiki.api').then(function { new mw.Api.get({           action: 'parse',            text: ''        }).done(function(d) {            if(d.parse.text['*'].indexOf('thisisjustsomethingstupid') === -1) {                $('.masthead-info hgroup').append(' ' + d.parse.text['*'] + ' ');            }        }); }); }); /* Create user page on link click */ $('', {id: 'qcup',}) .html('Create user page') //create the link .prependTo('#my-tools-menu') //put it in the toolbar .click(function { //when clicked   $.ajax( { //create the userpage type: 'POST', url: mw.util.wikiScript( 'api' ), dataType: 'json', data: { action: 'edit', title: 'User:Dominic1743', //at this page summary: 'Creating user page (script)', //with this edit summary text: '', //using this tempalte format: 'json', token: mw.user.tokens.get( 'editToken' ) }   } ).done( function ( data ) { if ( data.edit.result === 'Success' ) { new BannerNotification("Successfully created user page!","confirm").show; //say we created the page } else { new BannerNotification("An error occurred while creating user page.","error").show; //say we didn't create the page }   } ).fail( function ( data ) { new BannerNotification("An error occurred while creating user page.","error").show; //say we didn't create the page } ); }); /* Create message wall greeting on link click */ $.ajax({   type: 'HEAD', //see if    url: wgServer + '/wiki/Message_Wall:Dominic1743', //my message wall exists    success: function { //if it exists        $('', {id: 'qcmwg',})        .html('Create Greeting</a>') //create the link        .prependTo('#my-tools-menu') //put it in the my tools menu on the toolbar        .click(function { //when clicked $.ajax( { //create the message wall greeting           type: 'POST',            url: mw.util.wikiScript( 'api' ),            dataType: 'json',            data: {                action: 'edit',                title: 'Message_Wall_Greeting:Dominic1743', //at this page                summary: 'Creating message wall greeting (script)', //with this edit summary                text: '', //using this template                format: 'json',                token: mw.user.tokens.get( 'editToken' )            }            } ).done( function ( data ) {                if ( data.edit.result === 'Success' ) {                    new BannerNotification("Successfully created message wall greeting!","confirm").show; //say we created the page                } else {                    new BannerNotification("An error occurred creating while message wall greeting.","error").show; //say we didn't create the page }           } ).fail( function ( data ) { new BannerNotification("An error occurred while creating message wall greeting.","error").show; //say we didn't create the page } );       });    },    error: function { //if it doesn't exist return; //do nothing } }); /* Revert buttons */ //@author-Prince(ss)_Platinum (http://community.wikia.com/wiki/User:Prince(ss)_Platinum/vda.js) // Reverting tools V6.6 Gold (Original coding by VegaDark, modified by Ajraddatz and Manyman) function getElementsByClass(searchClass,node,tag) { // Function from http://www.dustindiaz.com/getelementsbyclass/  var classElements = new Array;  if ( node === null )    node = document;  if ( tag === null )    tag = '*';  var els = node.getElementsByTagName(tag);  var elsLen = els.length;  var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");  for (i = 0, j = 0; i < elsLen; i++) {    if ( pattern.test(els[i].className) ) {      classElements[j] = els[i];      j++;    }  }  return classElements; } // _GET code from NoGray JS Library http://www.nogray.com/new_site/ var _GET = new Array; var _uri = location.href; var _temp_get_arr = _uri.substring(_uri.indexOf('?')+1, _uri.length).split("&"); var _temp_get_arr_1 = new Array; for(_get_arr_i=0; _get_arr_i<_temp_get_arr.length; _get_arr_i++){ _temp_get_arr_1 = _temp_get_arr[_get_arr_i].split("="); _GET[decodeURI(_temp_get_arr_1[0])] = decodeURI(_temp_get_arr_1[1]); } delete _uri; delete _temp_get_arr; delete _temp_get_arr_1; function getMessage (where, user1, user2) { var message = prompt ('Enter undo message below:', ''); window.location = 'http://'+ location.hostname + '/index.php?title=' + _GET['title'] + '&action=edit&oldid=' + _GET['oldid'] + '&'+where+'=2&user1='+user1+'&user2='+user2+'&message='+message; } function AGFMessage (where, user1, user2) { var message = prompt ('Enter undo message below:', ''); window.location = 'http://'+ location.hostname + '/index.php?title=' + _GET['title'] + '&action=edit&oldid=' + _GET['oldid'] + '&'+where+'=3&user1='+user1+'&user2='+user2+'&message='+message; } addOnloadHook(function { if (location.href.match(/diff=/)) {    // Get username of submitter    var user1 = getElementsByClass('diff-otitle',null,'td'); user1 = user1[0].getElementsByTagName('a')[2].innerHTML;    var user2 = getElementsByClass('diff-ntitle',null,'td'); user2 = user2[0].getElementsByTagName('a')[3].innerHTML;    $('#mw-content-text').prepend(' ');    document.getElementById('vda-cont').innerHTML = 'Reverted</a> <b>Revert</a></b> <b>Revert (Vandalism)</a> </b> <b>Revert (Good faith)</a> </b> <b>Revert (Spam)</a> </b>' + ''; } else if (location.href.match(/revert=1/)) {    document.getElementById('wpSummary').value = 'Reverted vandalism by '+_GET['user2']+' using VDA';    document.getElementById('editform').submit;  } else if (location.href.match(/revert=6/)) {    document.getElementById('wpSummary').value = 'Reverted good faith edits by '+_GET['user2']+' using VDA';    document.getElementById('editform').submit;  } else if (location.href.match(/revert=3/)) {    document.getElementById('wpSummary').value = 'Reverted edits by '+_GET['user2']+' using VDA';    document.getElementById('editform').submit;  } else if (location.href.match(/revert=2/)) {    document.getElementById('wpSummary').value = 'Reverted edits by ' + _GET['user2'] + ' (' +_GET['message']+ ') using VDA'; document.getElementById('editform').submit; } else if (location.href.match(/revert=4/)) { document.getElementById('wpSummary').value = 'Reverted spam by '+_GET['user2']+' to the last version by '+_GET['user1']+' using VDA'; document.getElementById('editform').submit; } }); /* AjaxBlock config */ window.AjaxBlock = {   blockReasons: {        'Vandalism': 'Vandalism',        'Spam': 'Spam',        'Repeated policy violations': 'Repeated violations',        'Sockpuppetry/Ban Evasion': 'Sockpuppetry',        'Moved to a new account': 'Moved',        'Removing content/blanking pages': 'Page blanking',        'Inserting false information or nonsense': 'Gibberish',        'Intimidating behaviour/harassment/trolling': 'Troll/Harassment',        'Unacceptable username, avatar, or global masthead': 'Name/avatar',        'Under the legal age': 'COPPA',        'Failing to comply with the File Policy': 'File Policy',        'Posting/Discussing leaked content': 'Leaks'    },    check: {        creation: true,        talk: true,        autoBlock: true,        override: true    } }; /* Show removed replies */ $(".message-removed.hide").removeClass("hide").each(function {   var $this = $(this),    id = $this.attr('data-id'),    relativeid = $this.attr('id'),    isBoardThread = !!$('.voting-controls').length,    Api = new mw.Api;    Api.get({ action: 'query', prop: 'revisions', rvprop: 'timestamp|user', pageids: id, rvlimit: 500 }).done(function(ts) { var rev = ts.query.pages[id].revisions[0], name = rev.user, time = rev.timestamp, d = new Date(time), // this may be a readable string, but the code certainly isn't :P readableTime = d.getHours + d.getTimezoneOffset / 60 + ':' + d.getMinutes + ', ' + wgMonthNames[d.getMonth + 1] + ' ' + d.getDate + ', ' + d.getFullYear; $.get('/api/v1/User/Details', {           ids: name,            size: 50        }).done(function(avi) {            avi = avi.items[0].avatar;            Api.get({ action: 'parse', pageid: id           }).done(function(d) { var html = d.parse.text['*'], $avatar = $(' ', {                   class: 'speech-bubble-avatar'                }).append($('', { href: wgArticlePath.replace('$1', 'Message_Wall:' + name), append: $(' ', {                       src: avi,                        width: '30',                        height: '30',                        class: 'avatar',                        alt: name                    }) })),               $msg = $(' ', {                    class: 'speech-bubble-message'                }).append($(' ', { class: 'MiniEditorWrapper', 'data-min-height': '100', 'data-max-height': '400', append: [ $(' ', {                           class: 'edited-by',                            append: [                                $('', { text: name, href: wgArticlePath.replace('$1', 'Message_Wall:' + name) }),                               $('', { class: 'subtle', href: wgArticlePath.replace('$1', 'Message_Wall:' + name) })                           ]                        }),                        $(' ', {                            class: 'editarea',                            'data-space-type': 'editarea',                            append: [                                $(' ', { class: 'msg-body', id: 'WallMessage_' + id, html: html }),                               $(' ', {                                    class: 'loading-indicator', 'data-space-type': 'loading-status', append: [ $(' ', {                                           class: 'loading-background'                                        }), $(' ', {                                           class: 'loading-message',                                            append: [                                                $(' ', { class: 'loading-throbber', html: ' ' }),                                               $(' ', {                                                    class: 'loading-text', html: 'Loading editor' })                                           ]                                        })                                    ]                                })                            ]                        }),                        $(' ', {                            class: 'toolbar',                            'data-space-type': 'toolbar'                        }), $(' ', {                           class: 'msg-toolbar',                            append: [                                $(' ', { class: 'timestamp', append: $('', {                                       class: 'permalink',                                        tabindex: '-1',                                        href: '#' + relativeid,                                        append: [                                            $(' ', { class: 'timeago abstimeago', title: time, alt: readableTime, each: function { $(this).timeago; }                                           }),                                            $(' ', {                                                class: 'timeago-fmt', text: readableTime })                                       ]                                    })                                })/*, not adding buttons  coz it's way too hard (also idk why you'd want to quote a removed message)                                $(' ', { class: 'buttonswrapper', append: the_buttons :P })*/                           ]                        })                    ]                }));                $this.append($avatar, $msg); console.log(d); });       });    }); }); // FastDelete config */ var fdButtons = [];          /*  Delete Summaries --- */ /* Button Labels */ fdButtons[fdButtons.length] = {"summary" : "Vandalism",          "label" : "V"   }; fdButtons[fdButtons.length] = {"summary" : "Spam",                    "label" : "S"   }; fdButtons[fdButtons.length] = {"summary" : "Broken file",                             "label" : "B"   }; fdButtons[fdButtons.length] = {"summary" : "Duplicate",                               "label" : "D"   }; fdButtons[fdButtons.length] = {"summary" : "Housekeeping",                            "label" : "HK"  }; fdButtons[fdButtons.length] = {"summary" : "Cleanup",                                 "label" : "C"   }; fdButtons[fdButtons.length] = {"summary" : "Unused",                                  "label" : "U"   }; fdButtons[fdButtons.length] = {"summary" : "Unofficial/Irrelevant",                   "label" : "UI"  }; fdButtons[fdButtons.length] = {"summary" : "ToU violation", "label" : "ToU" }; /* PageCreator config */ window.pageCreatorAvatar = true; window.pageCreatorTimestamp = true; window.pageCreatorNamespaces = Object.keys(mw.config.get("wgFormattedNamespaces")).map(Number); /* LastEdited config */ window.lastEdited = { namespaces: { include: Object.keys(mw.config.get("wgFormattedNamespaces")).map(Number) } }; /* Link to report page */ $('', {id: 'report'}) .html('SU Report</a>') .prependTo('.toolbar .tools'); /* Link to Special:Maintenance */ $('', {id: 'maintenance'}) .html('Maint</a>') .prependTo('.toolbar .tools'); /* Link to history */ $('', {id: 'history'}) .html('History</a>') .prependTo('.toolbar .tools'); /* Link to subpages */ $('<li>', {id: 'subpages'}) .html('<a href="/wiki/Special:PrefixIndex/' + mw.config.get('wgPageName') + '">Subpages</a>') .prependTo('.toolbar .tools'); /* Imports */ importArticles({   type: "script",    articles: [        'u:dev:MediaWiki:AjaxBatchDelete/code.js',        'u:dev:MediaWiki:AjaxBatchDelete/code.2.js',        'u:dev:MediaWiki:AjaxBatchUndelete.js',        'u:dev:MediaWiki:CatFilter/code.js',        'u:dev:MediaWiki:CategoryRenameAuto-update/code.js',        'u:dev:MediaWiki:FastDelete/code.js',        'u:dev:MediaWiki:CacheCheck/code.js',        'u:dev:MediaWiki:MarkBlocked.js',        'u:dev:MediaWiki:AjaxRC/code.js',        'u:dev:MediaWiki:AnchoredRollback/code.js',        'u:dev:MediaWiki:AjaxDelete/code.js',        'u:dev:MediaWiki:AjaxPatrol/code.js',        'u:dev:MediaWiki:LastEdited/code.js',        'u:dev:MediaWiki:AjaxBlock/code.js',        'u:dev:MediaWiki:AjaxUndo/code.js',        'u:dev:MediaWiki:PageCreator/code2.js',        'u:dev:MediaWiki:HoverEditCount/code.js',        'u:dev:MediaWiki:QuickDiff/code.js',        'u:dev:MediaWiki:UserAccountAge/code.js', 'u:dev:MediaWiki:ContribsLink/code.js', 'u:dev:MediaWiki:DupImageList/code.js', 'u:dev:MediaWiki:DisplayTimer/code.js', 'u:dev:MediaWiki:DisableCode/code.js', 'u:dev:MediaWiki:CodeQuickLinks/code.js', 'u:dev:MediaWiki:Linksweeper/code.js', 'u:dev:MediaWiki:WorkingMoreUsersCount.js', 'u:dev:MediaWiki:ToggleSideBar/code.js', 'u:dev:MediaWiki:WHAM/code.2.js', 'u:dev:MediaWiki:FastOldImageDelete/code.js', 'u:dev:MediaWiki:ListFiles/code.js', 'u:dev:MediaWiki:WallGreetingButton/code.js', 'u:dev:MediaWiki:MassCategorization/code.js', 'u:dev:MediaWiki:MassCreate/code.js', 'u:dev:MediaWiki:MassProtect/code.js', 'u:dev:MediaWiki:MassNullEdit/code.js', 'u:dev:MediaWiki:MassRename/code.js', 'u:dev:MediaWiki:MassRenameRevert/code.js', 'u:dev:MediaWiki:FileUsageAuto-update/code.js', 'u:dev:MediaWiki:PageRenameAuto-update/code.js', 'u:dev:MediaWiki:QuickToolsv2/code.js', 'u:dev:MediaWiki:OldFilePages/code.js', 'u:dev:MediaWiki:Rollback/code.2.js', 'u:dev:MediaWiki:Standard_Edit_Summary/code.js', 'u:dev:MediaWiki:Thread Inspection/code.js', 'u:dev:MediaWiki:SeeMoreActivityButton/code.js', 'u:dev:MediaWiki:RecentChangesMultiple/code.2.js', 'u:kocka:MediaWiki:AjaxCommentDelete/code.js', 'u:kocka:MediaWiki:AjaxThreadDelete/code.js', 'u:kocka:User:KockaAdmiralac/UnhideUserMasthead.javascript', 'u:admintools:MediaWiki:Common.js/extraRollbacks.js', 'u:admintools:MediaWiki:Common.js/Maintenance.js', 'u:noreply:MediaWiki:HideWikiaLogs.js', 'u:noreply:MediaWiki:FileUsage.js', 'u:starmanw:User:Dorumin/QuickLogs' ] });
 * Rollback
 * @description Perform rollbacks without needing to be in the usergroup
 * @author Ozank