לדלג לתוכן

מדיה ויקי:Gadget-rcPatrol.js: הבדלים בין גרסאות בדף

מתוך צפונות ויקי
מאין תקציר עריכה
מאין תקציר עריכה
שורה 1: שורה 1:
/*
/*
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
function rcMarkPatrol(checkbox) {
  while (newWindow.title != 'מבצע שמירה...') { }
  var rcspan = checkbox.parentNode;
  rcspan.innerHTML = 'מסמן...';
// get array of needed changed
  var a = sajax_init_object();
  var checkList = new Array();
  a.open('GET', 'http://he.wikipedia.org/w/index.php?title=' + checkbox.title + '&action=markpatrolled&rcid=' + checkbox.id, true);
  var itemList = document.getElementById('bodyContent').getElementsByTagName('LI');  
  a.onreadystatechange = function() {
  for (var i = 0; i < itemList.length; i++) {
   if (a.readyState != 4) return;
   if (itemList[i].className == 'rcunchecked') {
  if (a.responseText.indexOf('השינוי שבחרתם סומן כבדוק') != -1)
   var checkbox = itemList[i].getElementsByTagName('INPUT')[0];
   rcspan.innerHTML = 'סומן כבדוק';
   if (checkbox.checked)
  else
    checkList.push(itemList[i].id);
   rcspan.innerHTML = 'ארעה שגיאה. לא סומן כבדוק. רענן את הדף ונסה שנית.';
  }
  }
  }
a.send(null);
}


  // make the change in new window and save
function rcSaveClick() {
  var tempValue = newWindow.editform.wpTextbox1.value;
  // get array of needed changed
var rx = new RegExp("id=(\\d+)\\|class=rcunchecked", 'g');
  var inputs = document.getElementById('bodyContent').getElementsByTagName('INPUT');  
  var m = rx.exec(tempValue);
  if (!inputs) return;
  while (m) {
  for (var i = 0; i < inputs.length; i++) {
  for (var i = 0; i < checkList.length; i++) {
  var checkbox = inputs[i];
  if (checkList[i] == m[1]) {
   if (checkbox && checkbox.checked)
    var rxReplace = new RegExp("id=" + m[1] + "\\|class=rcunchecked");
  rcMarkPatrol(checkbox);
    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();
  }
  }
}
}
שורה 56: שורה 39:
   var checkbox = document.createElement('INPUT');
   var checkbox = document.createElement('INPUT');
   checkbox.type = 'checkbox';
   checkbox.type = 'checkbox';
   var firstA = itemList[i].getElementsByTagName('A')[0];
   var firstA = itemList[i].getElementsByTagName('A')[0];
   if (!firstA) continue;
   if (!firstA) continue;
   var rx = new RegExp('rcid=(\\d+)');
 
   var m = rx.exec(firstA.href);
  // get rcid page
   if (!m) continue;
   var rx1 = new RegExp('rcid=(\\d+)');
   checkbox.id = m[1];
   var m1 = rx1.exec(firstA.href);
   if (!m1) continue;
   checkbox.id = m1[1];
 
  // get title page
  var rx2 = new RegExp('title=([^&]*)');
  var m2 = rx2.exec(firstA.href);
  if (!m2) continue;
  checkbox.title= m2[1];
 
   checkbox.defaultChecked = false;
   checkbox.defaultChecked = false;
   itemList[i].insertBefore(checkbox, unpatrolled[0]);
   unpatrolled[0].appendChild(checkbox);
  }
  }
  var saveLink = document.createElement('A');
  var saveLink = document.createElement('A');

גרסה מ־13:00, 29 בינואר 2009

/*

function rcMarkPatrol(checkbox) {
 var rcspan = checkbox.parentNode;
 rcspan.innerHTML = 'מסמן...';
 var a = sajax_init_object();
 a.open('GET', 'http://he.wikipedia.org/w/index.php?title=' + checkbox.title + '&action=markpatrolled&rcid=' + checkbox.id, true);
 a.onreadystatechange = function() {
  if (a.readyState != 4) return;
  if (a.responseText.indexOf('השינוי שבחרתם סומן כבדוק') != -1)
   rcspan.innerHTML = 'סומן כבדוק';
  else
   rcspan.innerHTML = 'ארעה שגיאה. לא סומן כבדוק. רענן את הדף ונסה שנית.';
 }
 a.send(null);
}

function rcSaveClick() {
 // get array of needed changed
 var inputs = document.getElementById('bodyContent').getElementsByTagName('INPUT'); 
 if (!inputs) return;
 for (var i = 0; i < inputs.length; i++) {
  var checkbox = inputs[i];
  if (checkbox && checkbox.checked)
   rcMarkPatrol(checkbox);
 }
}
*/
function rcPatrol() {
 if (wgPageName != 'מיוחד:שינויים_אחרונים') return;

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

 for (var i = 0; i < itemList.length; i++) {
  var unpatrolled = getElementsByClassName(itemList[i], '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;

  // get rcid page
  var rx1 = new RegExp('rcid=(\\d+)');
  var m1 = rx1.exec(firstA.href);
  if (!m1) continue;
  checkbox.id = m1[1];

  // get title page
  var rx2 = new RegExp('title=([^&]*)');
  var m2 = rx2.exec(firstA.href);
  if (!m2) continue;
  checkbox.title= m2[1];

  checkbox.defaultChecked = false;
  unpatrolled[0].appendChild(checkbox);
 }
 var saveLink = document.createElement('A');
 saveLink.innerHTML = 'שמירה';
 saveLink.title = 'שמירה';
 saveLink.href = 'javascript:rcSaveClick()';
 var contentSub = document.getElementById('contentSub');
 contentSub.appendChild(saveLink);
}

addOnloadHook(rcPatrol);