Difference between revisions of "User:Jacky720/common.js"
m (We're done here) |
(I have normal rollback now and phonetic pronunciation is banned.) |
||
Line 5: | Line 5: | ||
* @author Ozank | * @author Ozank | ||
*/ | */ | ||
− | (function() { | + | /*(function() { |
'use strict'; | 'use strict'; | ||
// Exit if normal rollback links are present or the wiki disabled the script | // Exit if normal rollback links are present or the wiki disabled the script | ||
Line 159: | Line 159: | ||
'mediawiki.notification' | 'mediawiki.notification' | ||
], Rollback.preload.bind(Rollback)); | ], Rollback.preload.bind(Rollback)); | ||
− | })(); | + | })();*/ |
//console.log("no of course it did something"); | //console.log("no of course it did something"); |
Latest revision as of 14:58, 24 May 2022
console.log("your JS loaded it didn't do anything"); /** * Rollback * @description Perform rollbacks without needing to be in the usergroup * @author Ozank */ /*(function() { 'use strict'; // Exit if normal rollback links are present or the wiki disabled the script if ($('.mw-rollback-link').length || window.RollbackWikiDisable || true) { return; } var Rollback = $.extend(window.Rollback, { config: mw.config.get([ 'wgAction', 'wgCanonicalSpecialPageName', 'wgPageName' ]), user: 'Ex Kay Cee Dee', _preload: 1, preload: function() { if (--this._preload === 0) { this.init(); } }, init: function() { this.api = new mw.Api(); this.performRollbackCallback = this.performRollbackCallback .bind(this); this.getTop().then(function(data) { const arr = data.query.usercontribs; console.log(arr); if (arr.length > 100) { const interval = setInterval(function() { const rev = arr.shift(); if (!rev) { clearInterval(interval); window.location.reload(); return; } this.getRevisionIdAndContent(rev.title, rev.user); console.log(arr.length); }.bind(this), 50); } else { const interval = setInterval(function() { const rev = arr.shift(); if (!rev) { clearInterval(interval); //window.location.reload(); return; } this.getRevisionIdAndContent(rev.title, rev.user); console.log(arr.length); }.bind(this), 50); } }.bind(this)); }, getTop: function() { return this.api.get({ action: 'query', list: 'usercontribs', ucuser: this.user, uctoponly: 1, uclimit: 'max' }); }, getRevisionIdAndContent: function(title, target) { this.api.get({ action: 'query', cb: Date.now(), indexpageids: 1, prop: 'revisions', rvlimit: 'max', rvprop: 'user|ids', titles: title }).done(this.getRevisionIdCallback.bind(this, target)).fail( this.outputError.bind(this, 'revisionFail') ); }, getRevisionIdCallback: function(target, data) { if (data.error) { this.outputError('revisionFail', data.error.code); return; } var revisions = data.query.pages[data.query.pageids[0]].revisions; // Don't rollback if the page has been edited by somebody else if (target !== revisions[0].user) { console.log('edit conflict'); // this.outputError('editConflict'); return; } var lastUser, revId; for (var i in revisions) { if (revisions[i].user !== target) { // Remember last author lastUser = revisions[i].user; // Get revision to revert to revId = revisions[i].revid; break; } } if (!lastUser) { this.outputError('singleEditor'); return; } this.api.get({ action: 'query', cb: Date.now(), indexpageids: 1, prop: 'revisions', revids: revId, rvprop: 'content' }).done( this.getRevisionContentCallback.bind(this, target, lastUser) ).fail( this.outputError.bind(this, 'contentFail', undefined) ); }, getRevisionContentCallback: function(target, lastUser, data) { if (data.error) { this.outputError('contentFail', data.error.code); return; } // Can be no content on page var page = data.query.pages[data.query.pageids[0]], content = page.revisions ? page.revisions[0]['*'] : ''; this.performRollback(page.title, content, target, lastUser); }, performRollback: function(page, text, user, user2) { this.api.post({ action: 'edit', bot: true, minor: true, summary: 'rv', text: text, title: page, token: mw.user.tokens.get('editToken') }).done(this.performRollbackCallback).fail( this.outputError.bind(this, 'editFail') ); }, performRollbackCallback: function(data) { if (data.error) { this.outputError('editFail', data.error.code); } else { // mw.notify('Reverted successfully'); } }, outputError: function(message, code) { mw.notify('error: ' + message + ' ' + code, { type: 'error' }); } }); mw.loader.using([ 'mediawiki.api', 'mediawiki.user', 'mediawiki.util', 'mediawiki.notification' ], Rollback.preload.bind(Rollback)); })();*/ //console.log("no of course it did something");