مدیاویکی:Gadget-revert-tool.js

ویکی‌پدیا، آزادِ دانشنومه، جه

نکته: پس از انتشار ممکن است برای دیدن تغییرات نیاز باشد که حافظهٔ نهانی مرورگر خود را پاک کنید.

  • فایرفاکس / سافاری: کلید Shift را نگه دارید و روی دکمهٔ Reload کلیک کنید، یا کلید‌های Ctrl-F5 یا Ctrl-R را با هم فشار دهید (در رایانه‌های اپل مکینتاش کلید‌های ⌘-R)
  • گوگل کروم: کلیدهای Ctrl+Shift+R را با هم فشار دهید (در رایانه‌های اپل مکینتاش کلید‌های ⌘-Shift-R)
  • اینترنت اکسپلورر/ Edge: کلید Ctrl را نگه‌دارید و روی دکمهٔ Refresh کلیک کنید، یا کلید‌های Ctrl-F5 را با هم فشار دهید
  • اپرا: Ctrl-F5 را بفشارید.
/*<pre>*/
 
//from: //en.wikipedia.org/w/index.php?
//title=Wikipedia:WikiProject_User_scripts/Scripts/Revert_tools&oldid=95500074
 
//On diff pages this script replaces ''(Difference between revisions)''with
//different tools for reverting the edit and warning the user that made the edit.
//For instructions see talk page.
// Revert tools by Lorian
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 ('چه پیغامی می‌خواهید بگذارید؟', '');
  window.location = '//mzn.wikipedia.org/w/index.php?title=' + _GET['title'] + '&action=edit&oldid=' + _GET['oldid'] + '&'+where+'=2&user1='+user1+'&user2='+user2+'&message='+message;
}
 
$( 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')[3].innerHTML;
    document.getElementById('contentSub').innerHTML = '(<a href="//mzn.wikipedia.org/w/index.php?title=' + _GET['title'] + '&action=edit&oldid=' + _GET['oldid'] + '&revert=1&user1='+user1+'&user2='+user2+'">واگردانی</a> / <a href="javascript:var message = getMessage(\'revert\', \''+user1+'\', \''+user2+'\');">پیغام</a>) (<a href="//mzn.wikipedia.org/w/index.php?title=' + _GET['title'] + '&action=edit&oldid=' + _GET['oldid'] + '&vandalism=1&user1='+user1+'&user2='+user2+'">خرابکاری</a> / <a href="javascript:var message = getMessage(\'vandalism\', \''+user1+'\', \''+user2+'\');">پیغام</a>) (هشدار: <a href="//mzn.wikipedia.org/w/index.php?title=User_talk:'+user2+'&action=edit&section=new&warn=1">امتحان</a> / <a href="//mzn.wikipedia.org/w/index.php?title=User_talk:'+user2+'&action=edit&section=new&warn=2">آشکاری</a> / <a href="//mzn.wikipedia.org/w/index.php?title=User_talk:'+user2+'&action=edit&section=new&warn=3">چرند</a> / <a href="//mzn.wikipedia.org/w/index.php?title=User_talk:'+user2+'&action=edit&section=new&warn=4">خالی‌کردن</a>)';
  } else if (location.href.match(/revert=1/)) {
    document.getElementById('wpSummary').value = 'تغییرات [[Special:Contributions/'+_GET['user2']+'|'+_GET['user2']+']] به نسخهٔ ' + _GET['oldid']+' [[Special:Contributions/'+_GET['user1']+'|'+_GET['user1']+']] واگردانده شد.';
    document.getElementById('editform').submit();
  } else if (location.href.match(/revert=2/)) {
    document.getElementById('wpSummary').value = 'تغییرات  [[Special:Contributions/'+_GET['user2']+'|'+_GET['user2']+']] به نسخهٔ ' + _GET['oldid']+' [[Special:Contributions/'+_GET['user1']+'|'+_GET['user1']+']] ('+_GET['message']+') واگردانده شد';
    document.getElementById('editform').submit();
  } else if (location.href.match(/vandalism=1/)) {
    document.getElementById('wpSummary').value = 'خرابکاری [[Special:Contributions/'+_GET['user2']+'|'+_GET['user2']+']] به نسخهٔ ' + _GET['oldid']+' [[Special:Contributions/'+_GET['user1']+'|'+_GET['user1']+']] واگردانده شد.';
    document.getElementById('editform').submit();
  } else if (location.href.match(/vandalism=2/)) {
    document.getElementById('wpSummary').value = 'خرابکاری [[Special:Contributions/'+_GET['user2']+'|'+_GET['user2']+']] به نسخهٔ ' + _GET['oldid']+' [[Special:Contributions/'+_GET['user1']+'|'+_GET['user1']+']] ('+_GET['message']+') واگردانده شد.';
    document.getElementById('editform').submit();
  } else if (location.href.match(/warn=1/)) {
    document.getElementById('wpSummary').value = 'هشدار خرابکاری';
    document.getElementById('wpTextbox1').value = '{{sub'+'st:امتحان}} ~~'+'~~';
    document.getElementById('editform').submit();
  } else if (location.href.match(/warn=2/)) {
    document.getElementById('wpSummary').value = 'هشدار خرابکاری';
    document.getElementById('wpTextbox1').value = '{{sub'+'st:خرابکاری۱}} ~~'+'~~';
    document.getElementById('editform').submit();
  } else if (location.href.match(/warn=3/)) {
    document.getElementById('wpSummary').value = 'هشدار خرابکاری';
    document.getElementById('wpTextbox1').value = '{{sub'+'st:خرابکاری۲}} ~~'+'~~';
    document.getElementById('editform').submit();
  } else if (location.href.match(/warn=4/)) {
    document.getElementById('wpSummary').value = 'هشدار خرابکاری';
    document.getElementById('wpTextbox1').value = '{{sub'+'st:خرابکار}} ~~'+'~~';
    document.getElementById('editform').submit();
  }
} );
/*</pre>*/