Usuario:Oleinad/reversion.js

De Wikilibros, la colección de libros de texto de contenido libre.

Nota: Después de publicar, quizás necesite actualizar la caché de su navegador para ver los cambios.

  • Firefox/Safari: Mantenga presionada la tecla Shift mientras pulsa el botón Actualizar, o presiona Ctrl+F5 o Ctrl+R (⌘+R en Mac)
  • Google Chrome: presione Ctrl+Shift+R (⌘+Shift+R en Mac)
  • Internet Explorer/Edge: mantenga presionada Ctrl mientras pulsa Actualizar, o presione Ctrl+F5
  • Opera: Presiona Ctrl+F5.
//<pre>
//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

var Reve = 'Revert';
var Mess = 'Message';
var Warn = 'Warn'; 
var WarnSummary = 'Warning with';
var RevertSummary1 = 'Reverted edits by'; 
var RevertSummary2 = 'to last version'; 
var RevertSummary3 = 'by'; 
var RevertSummary4 = 'with';

// 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, oldid) 
{
   var message = prompt (msStringU('Message') + ':', '');
   if (message!=null) 
   {   window.location = 'http://'+ location.hostname + '/w/index.php?title=' + 
                         _GET['title'] + '&action=edit&oldid=' + oldid + 
                         '&'+where+'=2&user1='+user1+'&user2='+user2+'&message='+message;
   }
}

$(function ()
{
   if (typeof ms_Activa_Reversion == 'undefined') { ms_Activa_Reversion = true;}
   if (!msActivarModulo(ms_Activa_Reversion)) return;

   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'); 
      if (user2[0].getElementsByTagName('a')[2].href.indexOf ('undo=') != -1)
      {   user2 = user2[0].getElementsByTagName('a')[3].innerHTML; }
      else
      {   user2 = user2[0].getElementsByTagName('a')[2].innerHTML; }
    
      var oldid = getElementsByClass('diff-otitle',null,'td'); 
      oldid = oldid[0].getElementsByTagName('a')[0].href.split("oldid=")[1];

      var msAviTemp = '';
      if (msTestMsgTL) 
      for (i=0; i<msTestMsgTL.length; i++)
      {
         if (i == msTestMsgTL.length - 1) separador = ')';
         else separador = ' / ';
         msAviTemp = msAviTemp 
                     + '<a href="http://' + location.hostname + '/w/index.php?title=User_talk:' 
                     + user2 + '&action=edit&warn=' + i + '&titleP=' + wgPageName.replace(/_/g , ' ') 
                     + '">' + msStringU(msTestMsgTL[i]) + '</a>' + separador; 
      }
      else msAviTemp = msStringU('This wiki project does not have user message templates') + ')';

      document.getElementById('contentSub').innerHTML = '('
      + '<a href="http://' + location.hostname + '/w/index.php?title=' + _GET['title'] 
      + '&action=edit&oldid=' + oldid + '&revert=1&user1=' + user1 
      + '&user2=' + user2 + '">' + msStringU(Reve) + '</a> / ' 
      + '<a href="javascript:var message = getMessage(\'revert\', \'' + user1 + '\', \''
      + user2 + '\', \'' + oldid + '\');">' + msStringU(Mess) + '</a>) ' 
      + '(' + msStringU(Warn) + ': ' + msAviTemp;   
  }  
  else if (location.href.match(/revert=1/)) 
  {
    document.getElementById('wpSummary').value = msStringU(RevertSummary1) + ' ' + '[[User:' + _GET['user2'] + '|' + _GET['user2'] + ']]' + ' ' + msStringU(RevertSummary2) + ' ' + msStringU(RevertSummary3) + ' ' + '[[User:' + _GET['user1'] + '|' + _GET['user1'] + ']]' + ' ' + msStringU(RevertSummary4) + ' ' + msSummaryLink;
    document.getElementById('editform').submit();
  } else if (location.href.match(/revert=2/)) {
    document.getElementById('wpSummary').value = msStringU(RevertSummary1) + ' ' + '[[User:' + _GET['user2'] + '|' + _GET['user2'] + ']]' + ' ' + msStringU(RevertSummary2) + ' ' + msStringU(RevertSummary3) + ' ' + '[[User:' + _GET['user1'] + '|' + _GET['user1'] + ']]' + ' ' + msStringU(RevertSummary4) + ' ' + msSummaryLink + ' (' + _GET['message'] + ')';
    document.getElementById('editform').submit();
  } else if (wgCanonicalNamespace == 'User_talk' && wgAction == "edit") {

    if (location.href.match(/warn=0/)) {
    document.getElementById('wpSummary').value = msStringU(WarnSummary) + ' ' + msSummaryLink;
    document.getElementById('wpTextbox1').value = document.getElementById('wpTextbox1').value + '\n{{sub'+'st:'+ msTestTL[2] + '|' + _GET['titleP'] + '}} ~~'+'~~';
    document.getElementById('editform').submit();

  } else if (location.href.match(/warn=1/)) {
    document.getElementById('wpSummary').value = msStringU(WarnSummary) + ' ' + msSummaryLink;
    document.getElementById('wpTextbox1').value = document.getElementById('wpTextbox1').value + '\n{{sub'+'st:'+ msTestTL[3] + '}} ~~'+'~~';
    document.getElementById('editform').submit();

  } else if (location.href.match(/warn=2/)) {
    document.getElementById('wpSummary').value = msStringU(WarnSummary) + ' ' + msSummaryLink;
    document.getElementById('wpTextbox1').value = document.getElementById('wpTextbox1').value + '\n{{sub'+'st:'+ msTestTL[4] + '}} ~~'+'~~';
    document.getElementById('editform').submit();

  } else if (location.href.match(/warn=3/)) {
    document.getElementById('wpSummary').value = msStringU(WarnSummary) + ' ' + msSummaryLink;
    document.getElementById('wpTextbox1').value = document.getElementById('wpTextbox1').value + '\n{{sub'+'st:'+ msTestTL[5] + '}} ~~'+'~~';
    document.getElementById('editform').submit();

  } else if (location.href.match(/warn=4/)) {
    document.getElementById('wpSummary').value = msStringU(WarnSummary) + ' ' + msSummaryLink;
    document.getElementById('wpTextbox1').value = document.getElementById('wpTextbox1').value + '\n{{sub'+'st:'+ msTestTL[6] + '}} ~~'+'~~';
    document.getElementById('editform').submit();

  } else if (location.href.match(/warn=5/)) {
    document.getElementById('wpSummary').value = msStringU(WarnSummary) + ' ' + msSummaryLink;
    document.getElementById('wpTextbox1').value = document.getElementById('wpTextbox1').value + '\n{{sub'+'st:'+ msTestTL[7] + '}} ~~'+'~~';
    document.getElementById('editform').submit();

  } else if (location.href.match(/warn=6/)) {
    document.getElementById('wpSummary').value = msStringU(WarnSummary) + ' ' + msSummaryLink;
    document.getElementById('wpTextbox1').value = document.getElementById('wpTextbox1').value + '\n\n::{{sub'+'st:'+ msTestTL[8] + '}} ~~'+'~~';
    document.getElementById('editform').submit();

  } else if (location.href.match(/warn=7/)) {
    document.getElementById('wpSummary').value = msStringU(WarnSummary) + ' ' + msSummaryLink;
    document.getElementById('wpTextbox1').value = document.getElementById('wpTextbox1').value + '\n\n::{{sub'+'st:'+ msTestTL[9] + '}} ~~'+'~~';
    document.getElementById('editform').submit();

  } else if (location.href.match(/warn=8/)) {
    document.getElementById('wpSummary').value = msStringU(WarnSummary) + ' ' + msSummaryLink;
    document.getElementById('wpTextbox1').value = document.getElementById('wpTextbox1').value + '\n\n::{{sub'+'st:'+ msTestTL[10] + '}} ~~'+'~~';
    document.getElementById('editform').submit();
  }}
});
//</pre>