Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
/*

To install:

* Get account on en.wikipedia.org
* Go to http://en.wikipedia.org/wiki/Special:Mypage/vector.js
* Add the line importScript('User:Magnus Manske/sifter.js');
to the page
* Go to (for example) http://en.wikipedia.org/wiki/Gulf_Snapping_Turtle
* Behold the "Reviews" tab next to "Read" (on the right; you may have
to force-reload the page once to activate the JavaScript)
* Click on the "Reviews" tab to get a list of all reviewed revisions,
and links to the partner (here: EOL) page, as well as the reviewer
page

Known issues: See http://en.wikipedia.org/wiki/User:Magnus Manske/sifter


*/

var sifter_html ;
var sifter_old_content ;
var sifter_active = false;

$(document).ready( function(){
  if ( mw.config.get('wgNamespaceNumber') != 0 ) return ; // Nevermind...
  var url = "http://toolserver.org/~magnus/sifter_api.php?query=wikipage&page=" + mw.config.get('wgPageName') + "&format=json&callback=?" ;
  $.getJSON ( url , function (data) {
    if ( data.length > 0 ) create_sifter_menu ( data ) ;
  } ) ;
}) ;

function create_sifter_menu ( data ) {
  var html = "<li id='sifter_menu'><a href='#' onclick='show_sifter_dialog(1);return false'><span>Reviews</span></a></li>" ;
  $('#p-views ul').prepend ( html ) ;

  sifter_html = "<h1>Reviews</h1><table border='1' class='wikitable'>" ;
  sifter_html += "<tr><th>Partner</th><th>Partner page</th><th>Wikipedia revision</th><th>Reviewer</th><th>Reviewed</th></tr>" ;
  $.each ( data , function ( k , v ) {
    sifter_html += "<tr>" ;
    sifter_html += "<td>" + v.partner_name + "</td>" ;
    sifter_html += "<td><a href='" + v.partner_url + "'>" + v.partner_id + "</a></td>" ;
    sifter_html += "<td><a href='" + mw.config.get('wgScript')  + "?title=" + escape(mw.config.get('wgPageName')) + "&oldid=" + v.revision + "'>" + v.revision + "</a> <a href='" + mw.config.get('wgScript')  + "?title=" + escape(mw.config.get('wgPageName')) + "&oldid=" + v.revision + "&diff=0'>(show latest changes)</a></td>" ;
    sifter_html += "<td><a href='" + v.reviewer_url + "'>" + v.reviewer + "</a></td>" ;
    sifter_html += "<td>" + v.partner_ts + "</td>" ;
    sifter_html += "</tr>" ;
  } ) ;
  sifter_html += "</table>" ;
  sifter_html += "<div><a href='#' onclick='show_sifter_dialog(2);return false'>Restore page</a></div>" ;
}

function show_sifter_dialog ( mode ) {
  if ( mode == 1 && !sifter_active ) {
    sifter_old_content = $('#content').html();
    $('#content').html(sifter_html);
	$('#p-views li').removeClass ( 'selected' ) ;
	$('#sifter_menu').addClass ( 'selected' ) ;
    sifter_active = true;
  }
  if ( mode == 2 ) {
    $('#content').html(sifter_old_content);
	$('#sifter_menu').removeClass ( 'selected' ) ;
	$('#ca-view').addClass ( 'selected' ) ;
    sifter_active = false;
  }
  return false ;
}