לדלג לתוכן

מדיה ויקי:Gadget-rcPatrol.js

מתוך צפונות ויקי

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

  • פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload) או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
  • גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
  • אדג': להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh) או ללחוץ על צירוף המקשים Ctrl-F5.
/*
function rcSaveClick() {
 var url = 'http://he.wikipedia.org/w/index.php?title=' + encodeURIComponent('משתמש:Yonidebest/ניסיון') + '&action=edit&rcsavepage=savepage';
 newWindow = window.open(url, '_blank');

 // wait for window to be ready
 while (newWindow.title != 'מבצע שמירה...') { }
 
 // get array of needed changed
 var checkList = new Array();
 var itemList = document.getElementById('bodyContent').getElementsByTagName('LI'); 
 for (var i = 0; i < itemList.length; i++) {
  if (itemList[i].className == 'rcunchecked') {
   var checkbox = itemList[i].getElementsByTagName('INPUT')[0];
   if (checkbox.checked)
    checkList.push(itemList[i].id);
  }
 }

 // make the change in new window and save
 var tempValue = newWindow.editform.wpTextbox1.value;
 var rx = new RegExp("id=(\\d+)\\|class=rcunchecked", 'g');
 var m = rx.exec(tempValue);
 while (m) {
  for (var i = 0; i < checkList.length; i++) {
   if (checkList[i] == m[1]) {
    var rxReplace = new RegExp("id=" + m[1] + "\\|class=rcunchecked");
    var dateObj = new Date();
    var currectDate = dateObj.getDate() + "." + (dateObj.getMonth() + 1) + "." + dateObj.getYear() + " " + dateObj.getHours() + ":" + dateObj.getMinutes();
    tempValue = tempValue.replace(rxReplace, "id=" + m[1] + "|class=rcchecked|checkedby=" + wgUserName + "|checkdate=" + currectDate);

    checkList.splice(i, 1);
    break;
   }
  }
  m = rx.exec(tempValue);
 }

 if (tempValue != newWindow.editform.wpTextbox1.value) {
  newWindow.editform.wpTextbox1.value = tempValue;
  newWindow.editform.wpSummary.value = 'נבדק';
  newWindow.editform.wpSave.click();
 }
}
*/
function rcPatrol() {
 if (wgPageName != 'מיוחד:שינויים_אחרונים') return;

 var itemList = document.getElementById('bodyContent').getElementsByTagName('LI');

 for (var i = 0; i < itemList.length; i++) {
  var unpatrolled = getElementsByClassName(itemList, 'SPAN', 'unpatrolled');

  if (!unpatrolled[0]) continue; // patrolled

  var checkbox = document.createElement('INPUT');
  checkbox.type = 'checkbox';
  var firstA = itemList[i].getElementsByTagName('A')[0];
  if (!firstA) continue;
  var rx = new RegExp('rcid=(\\d+)');
  var m = rx.exec(firstA.href);
  if (!m) continue;
  checkbox.id = m[1];
  checkbox.defaultChecked = false;
  itemList[i].insertBefore(checkbox, unpatrolled[0]);
 }
 var saveLink = document.createElement('A');
 saveLink.innerHTML = 'שמירה';
 saveLink.title = 'שמירה';
 saveLink.href = 'javascript:rcSaveClick()';
 var contentSub = document.getElementById('contentSub');
 contentSub.appendChild(saveLink);
}

addOnloadHook(rcPatrol);