Monchoman45

massrollback

Mar 24th, 2012
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /* Mass Rollback Script , version [4.0]
  2. * Originally from: [[User:Kangaroopower/scripts/massrollback]]
  3. *See doc for info
  4. *To do:
  5. * From which time
  6. *Add actual rollback all
  7. */
  8.  
  9. if(wgCanonicalSpecialPageName == "Contributions") {
  10.     mw.util.addPortletLink('p-cactions', 'javascript:ajaxRollback()', "Mrollback", "ca-mrollback", "Mass Rollback");
  11. }
  12.  
  13. function ajaxRollback( ) {
  14.     var rbReason = prompt('Please enter the summary for mass rollbacking these edits', 'vandalism');
  15.     var ucfrm = document.getElementsByTagName('form')[0];
  16.     if(ucfrm.target && ucfrm.target.value != '') {
  17.         var user = encodeURIComponent(ucfrm.target.value);
  18.     }
  19.     var url =  mw.util.wikiScript( 'api' ) + '?action=query&list=usercontribs&ucuser=' + encodeURIComponent( user ) + '&uclimit=50&format=json';
  20.     $.getJSON( url, function( result ) {
  21.         for(var i in result.query.usercontribs) {
  22.             if(result.query.usercontribs[i].top == '') {
  23.                 var latestcontribs = result.query.usercontribs[i].title;
  24.                 var url =  mw.util.wikiScript( 'api' ) + '?action=query&prop=revisions&rvtoken=rollback&indexpageids=1&titles=' + encodeURIComponent( latestcontribs ) + '&format=json';
  25.                 $.getJSON( url, function( data ) {
  26.                     var RT = data.query.pages[data.query.pageids[0]].revisions[0].rollbacktoken,
  27.                     RUser = data.query.pages[data.query.pageids[0]].revisions[0].user;
  28.                     url = mw.util.wikiScript( 'api' ) + '?action=rollback&title='+ encodeURIComponent( latestcontribs ) +'&user=' + encodeURIComponent( user ) + '&summary=' + encodeURIComponent( rbReason ) + '&token=' + encodeURIComponent( RT ) + '&format=json';
  29.                     $.post( url, function() {
  30.                         alert('Contribs Rollbacked');
  31.                     } );
  32.                 } );
  33.             }
  34.         }
  35.     } );   
  36. }
Advertisement
Add Comment
Please, Sign In to add comment