מדיה ויקי:Gadget-rcPatrol.js: הבדלים בין גרסאות בדף
מראה
מ דף חדש: function rcSaveClick() { var url = 'http://he.wikipedia.org/w/index.php?title=' + encodeURIComponent('משתמש:Yonidebest/ניסיון') + '&action=edit&rcsavepage=savepage'; newWin... |
מאין תקציר עריכה |
||
| שורה 1: | שורה 1: | ||
/* | |||
function rcSaveClick() { | function rcSaveClick() { | ||
var url = 'http://he.wikipedia.org/w/index.php?title=' + encodeURIComponent('משתמש:Yonidebest/ניסיון') + '&action=edit&rcsavepage=savepage'; | var url = 'http://he.wikipedia.org/w/index.php?title=' + encodeURIComponent('משתמש:Yonidebest/ניסיון') + '&action=edit&rcsavepage=savepage'; | ||
| שורה 42: | שורה 43: | ||
} | } | ||
} | } | ||
*/ | |||
function | function rcPatrol() { | ||
if (getParamValue('rcsavepage') == 'savepage') { | if (getParamValue('rcsavepage') == 'savepage') { | ||
window.title = 'מבצע שמירה...'; | window.title = 'מבצע שמירה...'; | ||
} | } | ||
else { | else { | ||
if (wgPageName != ' | if (wgPageName != 'מיוחד:שינויים_אחרונים') return; | ||
var itemList = document.getElementById('bodyContent').getElementsByTagName('LI'); | var itemList = document.getElementById('bodyContent').getElementsByTagName('LI'); | ||
for (var i = 0; i < itemList.length; i++) { | for (var i = 0; i < itemList.length; i++) { | ||
var unpatrolled = getElemntsByClassName(itemList, 'SPAN', 'unpatrolled'); | |||
if (!unpatrolled[0]) continue; // patrolled | |||
var checkbox = document.createElement('INPUT'); | var checkbox = document.createElement('INPUT'); | ||
checkbox.type = 'checkbox'; | checkbox.type = 'checkbox'; | ||
var firstA = itemList[i].getElementsByTagName('A')[0]; | |||
if ( | if (!firstA) continue; | ||
var rx = new RegExp('rcid=(\\d+)'); | |||
var m = rx.exec(firstA.href); | |||
if (!m) continue; | |||
checkbox.id = m[1]; | |||
itemList[i].insertBefore(checkbox, | checkbox.defaultChecked = false; | ||
itemList[i].insertBefore(checkbox, unpatrolled[0]); | |||
} | } | ||
var saveLink = document.createElement('A'); | var saveLink = document.createElement('A'); | ||
| שורה 72: | שורה 78: | ||
} | } | ||
addOnloadHook( | addOnloadHook(rcPatrol); | ||
גרסה מ־12:30, 29 בינואר 2009
/*
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 (getParamValue('rcsavepage') == 'savepage') {
window.title = 'מבצע שמירה...';
}
else {
if (wgPageName != 'מיוחד:שינויים_אחרונים') return;
var itemList = document.getElementById('bodyContent').getElementsByTagName('LI');
for (var i = 0; i < itemList.length; i++) {
var unpatrolled = getElemntsByClassName(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);