User:Syde BOT/global.js

mw.loader.using('mediawiki.util').then(function { if (mw.config.get('wgCityId') === '177') {   importArticle({ type: 'style', article: 'u:dev:MediaWiki:WikiaCommunityCentralTheme/code.css' }); } AjaxRCRefreshText = 'Auto-refresh'; AjaxRCRefreshHoverText = 'Automatically refresh the page'; ajaxPages = ["Special:RecentChanges"]; window.UserTagsJS = {   modules: {        inactive: 62,        newuser: true,        autoconfirmed: true,        mwGroups: [            'bureaucrat',            'sysop',            'assistant',            'rollback',            'global-discussions-moderator'        ]    },    tags: {        assistant: 'Assistant',        threadmoderator: 'Discussion Moderator',        'content-moderator': 'Content Moderator'    },    oasisPlaceBefore: '' }; importArticles({ type: 'script', articles: [ 'u:dev:MediaWiki:EditIntroButton/code.js', 'u:dev:MediaWiki:AjaxRC/code.js', 'u:dev:MediaWiki:PurgeButton/code.js', 'u:dev:MediaWiki:UserTags/code.js', 'u:dev:MediaWiki:RevealAnonIP/code.js', 'u:dev:MediaWiki:FindAndReplace/code.js', 'u:dev:MediaWiki:Nuke/code.js', 'u:dev:MediaWiki:AjaxBatchDelete/code.2.js', 'u:dev:MediaWiki:AjaxBatchUndelete/code.js', 'u:dev:MediaWiki:MassEdit/code.js', 'u:dev:MediaWiki:MassRename/code.js', 'u:dev:MediaWiki:QQX/code.js', 'u:dev:MediaWiki:Less/code.2.js', 'u:dev:MediaWiki:PatrolRC/code.js', 'u:dev:MediaWiki:MinimalTemplateClassification.js', 'u:dev:MediaWiki:DisableInfoboxBuilder.js', ] }); /* mw.loader.using('mediawiki.api', function { //Exit if normal rollback links are present if ($('.mw-rollback-link').length) return; var conf = mw.config.get([ 'wgAction', 'wgCanonicalSpecialPageName', 'wgContentLanguage', 'wgPageName', 'wgUserLanguage', 'skin' ]), 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 revision by $2 (script)", summaryShort: "Reverted edits by $1 (talk) to last revision by $2 (script)", 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" } }; i18n = i18n[conf.wgUserLanguage] || i18n[conf.wgUserLanguage.split('-')[0]] || i18n[conf.wgContentLanguage] || i18n[conf.wgContentLanguage.split('-')[0]] || i18n.en; conf.API = new mw.Api; conf.token = mw.user.tokens.values.editToken; //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; 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 since by somebody else than the intended person to rollback from if (target != revisions[0].user) { outputError(i18n.editConflict); return; } var lastUser, revId; for (var j in revisions) { if (revisions[j].user != target) { lastUser = revisions[j].user; //remember last author revId = revisions[j].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); 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) { switch (conf.skin) { case 'oasis': case 'wikia': new BannerNotification(text,'error').show; break; default: alert(text); break; } } }); // Adds NavigationPopups // wikipedia:User:Lupin/popups popupRevertSummary = 'Revert to revision dated %s by %s, oldid %s using popups'; popupQueriedRevertSummary = 'Revert to revision $1 dated $2 by $3 using popups'; popupExtendedRevertSummary = 'Revert to revision dated %s by %s, oldid %s using popups'; popupQueriedRevertToPreviousSummary = 'Revert to the revision prior to revision $1 dated $2 by $3 using popups'; popupRevertToPreviousSummary = 'Revert to the revision prior to revision %s using popups'; popupRevertSummaryPrompt = true; popupStructure = 'menus'; popupFixDabs = 'true'; popupFixDabsSummary = 'Disambiguate %s to %s using popups'; popupRmDabLinkSummary = 'Remove link to dab page %s using popups'; mw.loader.load("//en.wikipedia.org/w/index.php?title=User:Lupin/popups.js&action=raw&ctype=text/javascript&oldid=805750784"); importStylesheetURI('https://en.wikipedia.org/w/index.php?action=raw&ctype=text/css&title=MediaWiki:Gadget-navpop.css'); // END Adds NavigationPopups // install User:Cacycle/wikEdDiff enhanced diff importScriptURI('//en.wikipedia.org/w/index.php?title=User:Cacycle/wikEdDiff.js&action=raw&ctype=text/javascript'); // Add wgWikiName variable to mw.config // By User:Colouratura mw.config.values['wgWikiName' ] = function { return window.location.toString.split( '.wikia.com' )[ 0 ].slice( 7 ); }; //Add extra AccountNav options /* */   if (navLinks) return; var user = mw.util.wikiUrlencode(mw.config.get('wgUserName')), links = { contribs: { text: 'My Contributions', url: '/wiki/Special:Mycontributions' },       blogs: { text: 'My Blogs', url: '/wiki/User_blog:' + user },       watchlist: { text: 'My Watchlist', url: '/wiki/Special:Watchlist' }   },        html = '', navLinks = true; for (var i in links) { html += '' + links[i].text + ''; }   document.querySelector('.wds-global-navigation__user-menu .wds-list > li:nth-child(2)').insertAdjacentHTML('afterEnd', html); }); importArticles({ type: 'script', articles: [ 'u:dev:MediaWiki:AjaxRC/code.js', 'u:dev:MediaWiki:MassPatrol/code.js' ] }); massProtectDelay = 500; importArticles({ type: "script", articles: [ 'u:dev:MediaWiki:MassProtect/code.js' ] }); window.massEditConfig = {   editSummary: "Your edit summary",    editInterval: 1000 }; window.SeeMoreActivityButtonOld = true; });
 * Rollback
 * @description Perform rollbacks without needing to be in the usergroup
 * @author Ozank
 * (function {