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

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

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

  • פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload) או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
  • גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
  • אינטרנט אקספלורר / אדג': להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh) או ללחוץ על צירוף המקשים Ctrl-F5.
  • אופרה: ללחוץ על Ctrl-F5.
/*
 * Adds a link to RC page that allows to mark whitelist users as patrolled. Uses page [[משתמש:Yonidebest/משתמשים]]
 * Written by [[User:Yonidebest]]
 *
 */

function initMarkWLUsers() {
 if (wgPageName != 'מיוחד:שינויים_אחרונים' && wgPageName != 'מיוחד:רשימת_המעקב') return;

 var contentSub = document.getElementById('contentSub');
 var link = document.createElement('A');
 link.href = 'javascript:markWLUsers()';
 link.title = 'סמן עריכות של משתמשים מוכרים כבדוקים';
 link.appendChild(document.createTextNode('סמן עריכות של משתמשים מוכרים כבדוקים'));
 if (contentSub.innerHTML != "")
  contentSub.appendChild(document.createTextNode(' | '));
 contentSub.appendChild(link);
}

function markWLUsers() {
 var contentSub = document.getElementById('contentSub');
 contentSub.innerHTML = "מסמן...";

 var users;
 var a = sajax_init_object();
 a.open('GET', mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/index.php?title=' + encodeURIComponent('משתמש:Yonidebest/משתמשים') + '&action=render', true);
 a.onreadystatechange = function() {
  if (a.readyState != 4) return;
  users = a.responseText;
  
  var itemList = document.getElementById('bodyContent').getElementsByTagName('LI');

  for (var i = 0; i < itemList.length; i++) {
   var unpatrolled = getElementsByClassName(itemList[i], 'ABBR', 'unpatrolled');
 
   if (!unpatrolled[0]) continue; // patrolled

   var mwuserlink = getElementsByClassName(itemList[i], 'A', 'mw-userlink');
   var username = mwuserlink[0].innerHTML;
   if (users.indexOf(username) == -1) continue;
 
   var link = itemList[i].getElementsByTagName('A');
 
   // get rcid page
   var rx1 = new RegExp('rcid=(\\d+)');
   var m1 = rx1.exec(link[0].href);
   if (!m1)
    m1 = rx1.exec(link[1].href);
   if (!m1) continue;
   var checkbox = document.getElementById(m1[1]);
   checkbox.click();
  }
 };
 a.send(null);

 contentSub.innerHTML = "סומנו כבדוקים.";
}

$(initMarkWLUsers);