ध्यान दें: प्रकाशित करने के बाद बदलाव देखने के लिए आपको अपने ब्राउज़र के कैश को हटाना पड़ सकता है।

  • Firefox/Safari: Reload क्लिक समय Shift दबाएँ, या फिर Ctrl-F5 या Ctrl-R दबाएँ (Mac पर ⌘-R)
  • Google Chrome: Ctrl-Shift-R दबाएँ (Mac पर ⌘-Shift-R)
  • Internet Explorer/Edge: Refresh पर क्लिक करते समय Ctrl दबाएँ, या Ctrl-F5 दबाएँ
  • Opera: Ctrl-F5 दबाएँ।
/**
 * बदलाव हटाने या रोलबैक करने के लिए उपकरण
 *
 * fournit des liens dans les pages de diff pour révoquer facilement une modification et avertir son auteur
 *
 * लेखक : Lorian (en), Chphe (fr)
 * अंतिम अद्यतन : 27 दिसम्बर 2013 — हटाने और पुनः स्थापित करने को पृथक किया।
 * {{Projet:JavaScript/Script|RevertDiff}}
 */
//<nowiki>

if (typeof window.RevertDiffParams === 'undefined') {
  window.RevertDiffParams = new Object();

  window.RevertDiffParams.Text = new Object();
  window.RevertDiffParams.Text.Annul = "हटायें";
  window.RevertDiffParams.Text.AnnulResume = '[[Special:Contributions/$2|$2]] के सम्पादनों को हटाया ([[Special:Contributions/$1|$1]] के पिछले संस्करण को पुनः स्थापित किया।)';
  window.RevertDiffParams.Text.Message = "टिप्पणी के साथ";
  window.RevertDiffParams.Text.MessageAlert = 'संपादन सारांश हेतु टिप्पणी लिखें:';
  window.RevertDiffParams.Text.Revert = "रोलबैक करें";
  window.RevertDiffParams.Text.RevertResume = '[[Special:Contributions/$2|$2]] के परिवर्तनों को वापस लिया ([[Special:Contributions/$1|$1]]) के संस्करण के लिए।';
  window.RevertDiffParams.Text.Warn = "चेतावनी";


  window.RevertDiffParams.Warn = [
    {urlparam:"warn=01", text:"बर्बरता",   template:'{{subst:Uw-vandalism1|$page|user=$user}} ~~~~'},
    {urlparam:"warn=02", text:"परीक्षण",   template:'{{subst:चेतावनी-प्रयोग-1|$page|user=$user}} ~~~~'},
    {urlparam:"warn=03", text:"परीक्षण2",        template:'{{subst:Uw-test2}} ~~~~'},
    {urlparam:"warn=04", text:"परीक्षण3",        template:'{{subst:Uw-test3}} ~~~~'},
    {urlparam:"warn=05", text:"परीक्षण4",        template:'{{subst:Uw-vandalism4im}} ~~~~'},
    {urlparam:"warn=06", text:"बाहरी कचरा", template:'{{subst:Uw-spam1|$page|user=$user}} ~~~~'},
    {urlparam:"warn=07", text:"स्रोत आवश्यक", template:'{{subst:Faut sourcer|$page|user=$user}} ~~~~'},
    {urlparam:"warn=08", text:"स्वागत",    template:'{{सहायता|realName=|name={{BASEPAGENAME}}}}'},
    {urlparam:"warn=09", text:"आइपी का स्वागत",  template:'{{subst:welcome-anon}} ~~~~'},
    /*{urlparam:"warn=10", text:"आइ॰पी॰ को धन्यवाद",      template:'{{Thank You IP|sign=~~~~}}'}*/
  ];
}


function getURLParameters(x) {
  var questionMark = x.indexOf('?');
  if (questionMark == -1) return {}
  var fieldsArray = x.substr(questionMark + 1).split('&');
  var fields = {};
  for (var i = 0; i < fieldsArray.length; i++) {
    var field = fieldsArray[i];
    var equal = field.indexOf('=');
    if (equal == -1) {
      fields[decodeURIComponent(field)] = '';
    } else {
      fields[decodeURIComponent(field.substr(0, equal))] =
          decodeURIComponent(field.substr(equal + 1));
    }
  }
  return fields;
}

var _GET = getURLParameters(location.href);

window.getMessage = function(chemin, where, user1, user2) {
  var message = prompt (window.RevertDiffParams.Text.MessageAlert, '');
  if (message) {
    window.location = chemin + '&'+where+'=2&user1='+user1+'&user2='+user2+'&message='+message;
  }
};

$(document).ready(function (){
  if (location.href.match(/diff=/)) {
    // Get username of submitter
    var user1TD = $('td.diff-otitle');
    var user2TD = $('td.diff-ntitle');
    if (!user1TD.length || !user2TD.length) return;

    // Récupération du chemin vers la version à rétablir
    var chemin = encodeURI(user1TD.find('span.mw-diff-edit a').attr('href'));

    var user1 = user1TD.find('a.mw-userlink').text();
    var user2 = user2TD.find('a.mw-userlink').text();

    var Annul = '('
               + '<a href="'+chemin+'&annul=1&user1='+user1+'&user2='+user2+'">'+window.RevertDiffParams.Text.Annul+'</a>'
               + ' / '
               + '<a href="javascript:window.getMessage(\''+chemin+'\',\'annul\',\''+user1+'\',\''+user2+'\');">'+window.RevertDiffParams.Text.Message+'</a>'
               + ')';

    var Revert = '('
               + '<a href="'+chemin+'&revert=1&user1='+user1+'&user2='+user2+'">'+window.RevertDiffParams.Text.Revert+'</a>'
               + ' / '
               + '<a href="javascript:window.getMessage(\''+chemin+'\',\'revert\',\''+user1+'\',\''+user2+'\');">'+window.RevertDiffParams.Text.Message+'</a>'
               + ')';

    var Warn = '('+window.RevertDiffParams.Text.Warn+' : ';
    var SiteURL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=';
    for(var a=0,l=window.RevertDiffParams.Warn.length;a<l;a++){
        if(a!=0) Warn += ' / ';
        Warn += '<a href="'+SiteURL+'User_talk:'+user2+'&action=edit&section=new'
              + '&revertdiffsrc=' + encodeURIComponent(mw.config.get('wgPageName'))
              + '&'+window.RevertDiffParams.Warn[a].urlparam+'" '
              + 'title="'+window.RevertDiffParams.Warn[a].template+'" '
              + '>'+window.RevertDiffParams.Warn[a].text+'</a>';
    }
    Warn += ')';
    document.getElementById('contentSub').innerHTML = Annul + " " + Revert + " " + Warn;

  }else if (location.href.match(/annul=1/)) {
    document.getElementById('wpSummary').value = window.RevertDiffParams.Text.AnnulResume.split("$1").join(_GET['user1']).split("$2").join(_GET['user2']);
    document.getElementById('editform').submit();
  }else if (location.href.match(/annul=2/)) {
    document.getElementById('wpSummary').value =
window.RevertDiffParams.Text.AnnulResume.split("$1").join(_GET['user1']).split("$2").join(_GET['user2']) + ' : '+_GET['message'];
    document.getElementById('editform').submit();
  }else if (location.href.match(/revert=1/)) {
    document.getElementById('wpSummary').value = window.RevertDiffParams.Text.RevertResume.split("$1").join(_GET['user1']).split("$2").join(_GET['user2']);
    document.getElementById('editform').submit();
  }else if (location.href.match(/revert=2/)) {
    document.getElementById('wpSummary').value =
window.RevertDiffParams.Text.RevertResume.split("$1").join(_GET['user1']).split("$2").join(_GET['user2']) + ' : '+_GET['message'];
    document.getElementById('editform').submit();
  }else{
    for(var a=0,l=window.RevertDiffParams.Warn.length;a<l;a++){
      var Warn = window.RevertDiffParams.Warn[a];
      if (location.href.match(new RegExp(Warn.urlparam))) {
        var Template = Warn.template;
        Template = Template.split('$page').join(_GET['revertdiffsrc'].replace(/_/g, " "));
        Template = Template.split('$user').join(mw.config.get('wgUserName'));
        document.getElementById('wpTextbox1').value = Template;
        document.getElementById('editform').submit();
      }
    }
  }
});
//</nowiki>