User:FrancoGG/reversion.js

From Simple English Wikipedia, the free encyclopedia

Note: After saving, you may have to bypass your browser's cache to see the changes. Mozilla / Firefox / Safari: hold down Shift while clicking Reload, or press Ctrl-Shift-R (Cmd-Shift-R on Apple Mac); IE: hold Ctrl while clicking Refresh, or press Ctrl-F5; Konqueror:: simply click the Reload button, or press F5; Opera users may need to completely clear their cache in Tools→Preferences.

//<pre><nowiki>
//Fuente: http://en.wikipedia.org/wiki/Usuario:Lorian/monobook.js
//Personalizada por Axxgreazz, para el [[w:es:User:Axxgreazz/Monobook-Suite]]
//http://es.wikipedia.org/wiki/Usuario:Axxgreazz/Monobook-Suite

// Revert tools
function getElementsByClass(searchClass,node,tag) {
  // Function from http://www.dustindiaz.com/getelementsbyclass/
  var classElements = new Array();
  if ( node == null )
    node = document;
  if ( tag == null )
    tag = '*';
  var els = node.getElementsByTagName(tag);
  var elsLen = els.length;
  var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
  for (i = 0, j = 0; i < elsLen; i++) {
    if ( pattern.test(els[i].className) ) {
      classElements[j] = els[i];
      j++;
    }
  }
  return classElements;
}

// _GET code from NoGray JS Library http://www.nogray.com/new_site/
var _GET = new Array();
var _uri = location.href;

var _temp_get_arr = _uri.substring(_uri.indexOf('?')+1, _uri.length).split("&");

var _temp_get_arr_1 = new Array();

for(_get_arr_i=0; _get_arr_i<_temp_get_arr.length; _get_arr_i++){
  _temp_get_arr_1 = _temp_get_arr[_get_arr_i].split("=");
  _GET[decodeURI(_temp_get_arr_1[0])] = decodeURI(_temp_get_arr_1[1]);
}

delete _uri; delete _temp_get_arr; delete _temp_get_arr_1;

function getMessage (where, user1, user2) {
  var message = prompt ('Message', '');
  if ((message != null) && (message != "")) { window.location = 'http://'+ location.hostname + '/w/index.php?title=' + _GET['title'] + '&action=edit&oldid=' + _GET['oldid'] + '&'+where+'=2&user1='+user1+'&user2='+user2+'&message='+message; }
}

addOnloadHook(function (){
  if (location.href.match(/diff=/)) {
    // Get username of submitter
    var user1 = getElementsByClass('diff-otitle',null,'td'); user1 = user1[0].getElementsByTagName('a')[2].innerHTML;
    var user2 = getElementsByClass('diff-ntitle',null,'td'); user2 = user2[0].getElementsByTagName('a')[2].innerHTML;
    document.getElementById('contentSub').innerHTML = '(<a href="http://'+ location.hostname + '/w/index.php?title=' + _GET['title'] + '&action=edit&oldid=' + _GET['oldid'] + '&revert=1&user1='+user1+'&user2='+user2+'">Rollback</a> / <a href="javascript:var message = getMessage(\'revert\', \''+user1+'\', \''+user2+'\');">Message</a>)';
  } else if (location.href.match(/revert=1/)) {
    /* document.getElementById('wpSummary').value = 'Revertidos los cambios de [[User:'+_GET['user2']+'|'+_GET['user2']+']] ([[Special:Contributions/'+_GET['user2']+'|contr.]]) a la versión '+_GET['oldid']+' de [[User:'+_GET['user1']+'|'+_GET['user1']+']] ([[Special:Contributions/'+_GET['user1']+'|contr.]])'; */

    document.getElementById('wpSummary').value = 'Reverted edits to version '+_GET['oldid']+' by [[Special:Contributions/'+_GET['user1']+'|'+_GET['user1']+']] ([[User talk:'+_GET['user1']+'|talk]])';

    document.getElementById('editform').submit();
  } else if (location.href.match(/revert=2/)) {
    /* document.getElementById('wpSummary').value = 'Revertidos los cambios de [[User:'+_GET['user2']+'|'+_GET['user2']+']] ([[Special:Contributions/'+_GET['user2']+'|contr.]]) a la versión '+_GET['oldid']+' de [[User:'+_GET['user1']+'|'+_GET['user1']+']] ([[Special:Contributions/'+_GET['user1']+'|contr.]])'+' ('+_GET['message']+')'; */

    document.getElementById('wpSummary').value = 'Reverted edits to version '+_GET['oldid']+' by [[Special:Contributions/'+_GET['user1']+'|'+_GET['user1']+']] ([[User talk:'+_GET['user1']+'|talk]])'+' ('+_GET['message']+')';

    document.getElementById('editform').submit();
  }
});
//</nowiki></pre>