משתמש:Yonidebest/monobook.js/editCounterTab.js

מתוך ויקיפדיה, האנציקלופדיה החופשית

הערה: לאחר הפרסום, ייתכן שיהיה צורך לנקות את זיכרון המטמון (cache) של הדפדפן כדי להבחין בשינויים.

  • פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload) או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
  • גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
  • אינטרנט אקספלורר / אדג': להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh) או ללחוץ על צירוף המקשים Ctrl-F5.
  • אופרה: ללחוץ על Ctrl-F5.
/* 
  adds an editcount tab in userpages and talk pages. first click shows number of total edits. second click opens edicounter page.

  created by [[User:Yonidebest]]
*/

var editCounterTabClick = false;
function editCounterTab() {

 var username = mw.config.get('wgTitle').split('/')[0];

 if (!editCounterTabClick) { // tab has never been clicked before

  var contriblink = document.getElementById('ca-contrib').childNodes[0];
  contriblink.innerHTML = 'טוען...';
  contriblink.title = 'עבור לדף תרומות המשתמש';

  var a = sajax_init_object();
  a.open('GET', '//he.wikipedia.org/w/api.php?action=query&list=users&ususers=' + encodeURIComponent(username) + '&usprop=editcount', true);
  a.onreadystatechange = function() {
   if (a.readyState != 4) return;

   var ecRX = /editcount="(\d+)\"/
   a.responseText.match(ecRX);
   var editcounter = RegExp.$1;

   var thousandRx = /([0-9]+)([0-9]{3})/
   while (thousandRx.test(editcounter))
    editcounter = editcounter.replace(thousandRx, "$1,$2");  

   var contriblink = document.getElementById('ca-contrib').childNodes[0];
   contriblink.innerHTML = editcounter;
  };
  a.send(null);

  editCounterTabClick = true;

 } else { // tab has been clicked before
  window.location.href = "http://toolserver.org/~vvv/yaec.php?wiki=hewiki_p&user=" + username;
 }
}

$(function () {
 if (mw.config.get('wgNamespaceNumber') == 2 || mw.config.get('wgNamespaceNumber') == 3 && typeof addLink !== 'undefined')
  addLink((skin == 'vector') ? 'p-views' : 'p-captions', "javascript:editCounterTab()", 'תרומות המשתמש', 'ca-contrib', 'הצג מספר עריכות', "", "ca-history");
});