Naar inhoud springen

Gebruiker:Melsaran/massrevert.js

Uit Wikipedia, de vrije encyclopedie

Opmerking: na het publiceren is het wellicht nodig uw browsercache te legen om de veranderingen te zien.

  • Firefox / Safari: houd Shift ingedrukt terwijl u:je op Vernieuwen klikt of druk op Ctrl-F5 of Ctrl-R (⌘-Shift-R op een Mac)
  • Google Chrome: druk op Ctrl-Shift-R (⌘-Shift-R op een Mac)
  • Edge: houd Ctrl ingedrukt terwijl u:je op Vernieuwen klikt of druk op Ctrl-F5.
//Mass rollback
//gejat van [[:en:User:Voice of All/Specialadmin/monobook.js]]
function addmasterroll()
{
  if( wgPageName=="Special:Contributions" && location.href.search(/\d{1,3}(@|%40)\d{1,2}/) == -1) 
      { 
    masterlogview(100,'creation',"pages","ca-npages","Views user's new pages");
    masterlogview(100,'move',"moves","ca-viewpm","Views user's page moves");
    masterlogview(50,'upload',"uploads", "ca-viewup", "Views user's image uploads");
    addTab("javascript:masterroll()", "revert all edits", "ca-massroll", "Rollback user's top edits", "");
    document.getElementById('ca-massroll').firstChild.innerHTML = '<strong><span style="color:darkred;">revert all edits</span></strong>';
    addTab("javascript:number_count()", "#", "ca-numb", "Number edits", "");
      }
  else if( wgPageName=="Special:Contributions" && location.href.search(/\d{1,3}(@|%40)\d{1,2}/) != -1) 
      { 
    addTab("javascript:masterroll()", "revert all edits", "ca-massroll", "Rollback top edits", "");
    document.getElementById('ca-massroll').firstChild.innerHTML = '<strong><span style="color:darkred;">revert all edits</span></strong>';
      }
  else if (document.title.indexOf('Move log') != -1 && location.href.search('&user=[^&]') !=-1) 
      { 
    addTab("javascript:movemasterroll()", "revert all moves", "ca-rvmoves", "Reverts user's page moves", "");
    document.getElementById('ca-rvmoves').firstChild.innerHTML = '<strong><span style="color:darkred;">revert all moves</span></strong>';
      }
  else if (document.title.indexOf('Upload log') != -1 && location.href.search('&user=[^&]') !=-1) 
      { 
    addTab("javascript:masterdelete()", "revert all uploads", "ca-rvuploads", "Reverts uploads", "");
    document.getElementById('ca-rvuploads').firstChild.innerHTML = '<strong><span style="color:darkred;">revert all uploads</span></strong>';
      }
  else if (location.href.search(/Special:Newpages.*[&\?]username=[^&]/) !=-1)
      {
    addTab("javascript:masternuke()", "delete all pages", "ca-delpages", "Delete all pages", "");
    document.getElementById('ca-delpages').firstChild.innerHTML = '<strong><span style="color:darkred;">delete all pages</span></strong>';
      }
  else if (document.title.indexOf('View and restore deleted pages') != -1 && location.href.search(/&timestamp=|&action=submit/) ==-1)
      {
    addTab("javascript:checkall()", "Select all", "ca-checkall", "Check all deleted revisions", "");
      }
  if (location.href.search(/&action=history|title=Special:Log|title=Special%3ALog/) != -1)
    {addTab("javascript:number_count()", "#", "ca-numb", "Number edits", "");}
}
 
function number_count()
{
  if (!document.getElementsByTagName('ul')[0]) return;
  var l = document.getElementsByTagName('ul')[0].getElementsByTagName('li');
  if (l[0].innerHTML.indexOf('<strong>#1</strong> ') != -1) return;
  addTab("javascript:time_frame()", "@", "ca-frame", "Time frame", "");
  for (var i=0; i < l.length; i++)
    {
    var c = i+1;
    l[i].innerHTML = '<strong>#' + c + '</strong> ' + l[i].innerHTML;
    }
}
 
function time_frame()
{
var range = prompt('Select two edit numbers for the range.' + '\n' + 'Use the format: X-Y.' + '\n' + '(dates must show like "09:12, April 8, 2001"  in user preferences)')
if (!range || range == '' || range.split('-').length != 2){return;}
var r1 = 1*range.split('-')[0];
var r2 = 1*range.split('-')[1];
var limit = r2 - r1 + 1;
var offset = r1 - 1;
//logs can use offsets (and only offsets)
if (location.href.search(/Special:Log|Special%3ALog/) !=-1)
  {
  var URL = location.href.replace(/&offset=\d+/g,'').replace(/&limit=\d+/g,'') + '&offset=' + offset + '&limit=' + limit;
  location.href = URL;
  return;
  }
//others use timestamps
if ( wgPageName=="Special:Contributions" )
   var yearloc = document.getElementsByTagName('li')[r1 - 1].innerHTML.split(' (<a href="')[0].split('(<A href="')[0].split('> ')[1];
//parse
  LYear = retrieveYear(yearloc);
  LMval = retrieveMonth(yearloc);
  LDay = retrieveDay(yearloc);
  LTime = retrieveTime(yearloc).split(':')[0];
  var timestamp = LYear + '' + LMval + '' + LDay + '' + LTime + '59';
//target contribs
if( wgPageName=="Special:Contributions" && location.href.indexOf('/w/index.php') !=-1 )
  {var URL = location.href.replace(/&offset=\d+/g,'').replace(/&limit=\d+/g,'') + '&offset=' + timestamp + '&limit=' + limit;}
//implicit taget
else if( wgPageName=="Special:Contributions" && location.href.indexOf('/w/index.php') ==-1 )
  {
  var user = location.href.split('/')[2].split('/')[0];
  var URL = wgServer + '/w/index.php?title=Special:Contributions&target=' + user + '&offset=' + timestamp + '&limit=' + limit;
  }
// history page
else if (location.href.indexOf('&action=history') !=-1)
  {
  var URL = wgServer + '/w/index.php?title=' + wgTitle + '&action=history&offset=' + timestamp + '&limit=' + limit;
  }
location.href = URL;
}
 
function masterlogview(number,type,name,ID,title)
{
    if (document.getElementById('contentSub'))
      {
    var c = document.getElementById('contentSub');
    var a = c.getElementsByTagName('a');
      }
    else
      {
    var c = document.getElementsByTagName('p')[0];
    var a = c.getElementsByTagName('a');
      }
    vandal = a[0].href;
    if (vandal.indexOf("User:") !=-1)
       {vandal = vandal.split("User:")[1];}
    else if (vandal.indexOf("User talk:") !=-1)
       {vandal = vandal.split("User talk:")[1];}
    else if (vandal.indexOf("User_talk:") !=-1)
       {vandal = vandal.split("User_talk:")[1];}
    if (vandal.indexOf("&action=") !=-1)
       {vandal = vandal.split("&action=")[0];}
    if (vandal.search(/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/) !==-1){return;}
//create URL
          if (type != 'creation')
          {
          URL = '/w/index.php?title=Special:Log&type=' + type + '&user=' + vandal + '&page=&limit=' + number;
          }
          else if (type == 'creation')
          {
          URL = '/wiki/Special:Newpages?username=' + vandal + '&limit=' + number;
          }
   addTab(URL, name, ID, title, "");
}
//END