Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* rollback without rights */
- importScriptPage('MediaWiki:APIQuery.js', 'monchbox');
- function MagicRollbacks() {
- var list = document.getElementById(skin == 'oasis' ? 'WikiaArticle' : 'bodyContent').getElementsByTagName('li');
- var api = new APIQuery();
- var used = {};
- for(var i = 0; i < list.length; i++) {
- var as = list[i].getElementsByTagName('a');
- if(!used[as[0].title]) {
- list[i].innerHTML += ' <span class="mw-rollback-link">[<a href="#" onclick="Rollback(\'' + as[0].title + '\', \'' + as[3].innerHTML + '\'); this.innerHTML = decodeURIComponent(\'%3Cimg%20src%3D%22http%3A%2F%2Fimages2.wikia.nocookie.net%2Fdev%2Fimages%2F8%2F82%2FFacebook_throbber.gif%22%3E\'); return false;">rollback</a>]</span>';
- used[as[0].title] = true;
- }
- }
- }
- addOnloadHook(MagicRollbacks);
- function Rollback(page, user) {
- api.send(new api.Query(api, 'GET', {action: 'query', prop: 'revisions', titles: page, rvlimit: '5000', indexpageids: 1}, function(result) {
- var revs = result.query.pages[result.query.pageids[0]].revisions;
- if(revs[0].user != user) {return;}
- var i = 1;
- while(revs[i].user == revs[0].user) {i++;}
- api.send(new api.Query(api, 'POST', {action: 'edit', title: this.params.titles, undo: revs[i].revid, undoafter: revs[0].revid, summary: 'Reverted edits by [[User:' + revs[0].user + '|' + revs[0].user + ']] ([[User talk:' + revs[0].user + '|talk]] | [[Special:Contributions/' + revs[0].user + '|contribs]]) to last version by [[User:' + revs[i + 1].user + '|' + revs[i + 1].user + ']]'}, function(result) {
- var el = (skin == 'oasis' ? '#WikiaArticle' : '#bodyContent');
- $(el).load(location.href + ' ' + el + ' > *', function() { //stolen from AjaxRC
- MagicRollbacks();
- });
- }));
- }));
- }
Advertisement
Add Comment
Please, Sign In to add comment