function loadtheCode() { addRollback(); doReverts(); } if(mybrowser.search(/MSIE/i) != -1 || mybrowser.search(/Safari/i) != -1) { addOnLoadHook(loadtheCode); } else if(mybrowser.search(/Firefox/i) == -1) { document.addEventListener('load', loadtheCode, false); } else { document.addEventListener('DOMContentLoaded', loadtheCode, false); } function addRollback() { if(document.title.indexOf("Recent changes") == 0 && document.title.indexOf("Recent changes") != -1) { var items = document.getElementsByTagName('ul')[0].getElementsByTagName('li'); for(i in items) { if(items[i].getElementsByTagName('a')[0].innerHTML != 'diff') continue; var title = items[i].getElementsByTagName('a')[2].getAttribute('href'); var uname = items[i].getElementsByTagName('a')[3].innerHTML; title = title.substring(6,title.length); items[i].innerHTML += ' [<a href="/index.php?title='+title+'&action=history&rollback=true&uname='+escape(uname)+'">rollback</a>]'; } } } function doReverts() { if(document.title.indexOf("- History") == -1 || location.href.indexOf("rollback=true") == -1) return; uname = document.getElementById('pagehistory').getElementsByTagName('li')[0]; uname = uname.getElementsByTagName('a')[2].innerHTML; if(location.href.indexOf('uname='+escape(uname)) == -1) { alert('Edit conflict, revert cancelled.'); return; } var spanner = new Array(); spanner = document.getElementsByTagName('span'); for(i in spanner) { if(spanner[i].getAttribute('class') == 'mw-rollback-link') { spanner = spanner[i].getElementsByTagName('a')[0].getAttribute('href'); break; } } if(spanner) location.href = spanner; }