// wikipast.js
// User:Davipo
// 2009-03-16, revised 2009-09-25
/* WikiPast: Browse Wikipedia as it appeared on a given date in the past.
Works with TimeTraveller.
*/
var pastdate = "1999-01-01";
function seeback() {
var entry = prompt("Enter date:", pastdate);
if (entry != null) {
pastdate = entry;
query_rev(wgArticleId, pastdate);
}
}
function query_rev(pageid, date) {
var qbase = "/w/api.php?action=query";
var query = qbase + "&prop=revisions&rvlimit=1&rvprop=timestamp|ids&rvdir=older&format=json";
query = query + "&pageids=" + pageid + "&rvstart=" + date + "T00:00:00Z";
api.open('GET', wgServer + query, true);
api.onreadystatechange = show_revision;
api.send(null);
}
function show_revision() {
if (api.readyState == 4) {
if (api.status == 200) {
var response = eval('(' + api.responseText + ')');
var pageinfo = response['query']['pages'][wgArticleId];
if (pageinfo['revisions']) {
var revinfo = pageinfo['revisions'][0];
var revid = revinfo['revid'];
var timestamp = revinfo['timestamp'];
var target_time = pastdate + 'T00:00:00Z';
window.location = wgServer + '/w/index.php?oldid=' + revid + '&timetravel=' + target_time;
}
}
}
}
function wpast_setup() {
var tooltip = "Browse Wikipedia as it appeared on a past date";
mw.util.addPortletLink("p-tb", "javascript:seeback()", "Browse in past", "t-past", tooltip, "`");
}
if(typeof sajax_init_object !== 'undefined') {
var api = sajax_init_object();
addOnloadHook(wpast_setup);
}