Content deleted Content added
v0.3.4a |
update to V.0.3.5a |
||
Line 2:
==LiveWP==
*Documentation : [[:fr:User:EDUCA33E/LiveRC/Documentation]]
*Authors : [[:fr:User:EDUCA33E]]
*Version: 0.3.
Version modifiée basée sur la version du 1er avril 2007 à 00:49 :
Line 24:
// ///////////////////////////////////////////
document.write('<script type="text/javascript" src="'
+ wgServer + wgScriptPath + '/index.php?title=User:'+encodeURI(wgUserName)+'/LiveRCparam.js'
+ '&action=raw&ctype=text/javascript&dontcountme=s"></script>');
Line 66:
var FIRE = 2 << 20;
var lstSysop = new Array(); //
var lstContact = new Array(); //
var lstRevoc = new Array(); //
/
var lrcAdmin = false; // default value;
if(wgUserGroups.indexOf("sysop") != -1)
lrcAdmin = true;
// Watchlist;
var lstSuivi = new Array();
var lstSuiviHH = new Array();
}
/* </pre>
===
<pre> */
Line 150 ⟶ 155:
}
return null;
}
// HTMLize
String.prototype.htmlize = function() {
var chars = new Array('&','<','>','"');
var entities = new Array('amp','lt','gt','quot');
var regex = new RegExp();
var string = this;
for (var i=0; i<chars.length; i++) {
regex.compile(chars[i], "g");
string = string.replace(regex, '&' + entities[i] + ';');
}
return string;
}
Line 160 ⟶ 178:
function liveDiff(page, id, oldid) {
var el = document.getElementById( 'livePreviewTitle' );
el.innerHTML="<b
wpajax.http({ url: wgServer + wgScriptPath + '/index.php?title='+
onSuccess: getDiff, mpage: page, mid: id, moldid:oldid});
}
Line 175 ⟶ 193:
var lD = getElementsByClass('diff',bC,null);
var upage=page.replace(new RegExp(/\'/g), "\\'");
Line 214 ⟶ 219:
elcb.checked="true";
dLP.style.display = "inline";
}
var entete = document.getElementById( 'livePreviewTitle' );
entete.innerHTML='<b>
'(<a href="javascript:;" onClick="liveHist(\''+upage+'\');" style="color:darkorange">Hist</a>)';
var asNextDiff = doc.getElementById("differences-nextlink");
if(asNextDiff == null) {
var optAvert = "";
var optl = lstAvert.length;
for (j=0; j<optl; j++) {
optAvert += '<option value="'+lstAvert[j].template;
optAvert += '">'+lstAvert[j].string+'</option>';
}
// Get username of submitter
var user1 = getElementsByClass('diff-otitle',doc,'td');
if (user1 != null && user1[0] != null)
user1 = user1[0].getElementsByTagName('a')[2].innerHTML;
var user2 = getElementsByClass('diff-ntitle',doc,'td');
if (user2 != null && user2[0] != null)
user2 = user2[0].getElementsByTagName('a')[2].innerHTML;
if (user2 == "défaire") {
user2 = getElementsByClass('diff-ntitle',doc,'td');
user2 = user2[0].getElementsByTagName('a')[3].innerHTML;
}
user1=user1.replace(new RegExp(/\'/g), "\\'");
user2=user2.replace(new RegExp(/\'/g), "\\'");
entete.innerHTML = '<table width="100%" class="creator"><tr><td>' + entete.innerHTML +
'</td><td align="right"><small>' +
// Verifier avant si le patrouilleur peut modifier cette page ? (query.php?what=permissions&titles=page)
'[<a id="LiveRevertLink" href="javascript:getLiveMessage(\'liverevert\',\''+user1+'\',\''+user2+'\',\''+upage+'\',\''+oldid+'\');" >' + lang_menu[0].UNDORC+'</a>] • ' +
lang_menu[0].REASON+' : <input id="LiveRevertMessage" /> ••• ' +
'[<a id="LiveAvertoLink" href="javascript:getLiveAverto(\''+user2+'\');">'+lang_menu[0].AVERTS+'</a>] : ' +
'<select id="averto">' + optAvert + '</select>' +
'</td></tr></table>';
document.getElementById('LiveRevertMessage').focus();
}
}
Line 274 ⟶ 296:
var headers = new Array();
headers['Content-Type'] = 'application/x-www-form-urlencoded';
wpajax.http({ url: wgServer + wgScriptPath + '/index.php?title=User_Talk:' +
method: "POST", headers: headers,
data: 'wpSave=1&wpTextbox1=' + wpTextbox1 + '&wpStarttime=' + wpStarttime + '&wpEdittime=' + wpEdittime
Line 281 ⟶ 303:
function getLiveMessage(where, user1, user2, page, oldid) {
var links = [ document.getElementById('LiveRevertLink
var i,len=links.length;
for (i=0; i<len; i++) {
Line 291 ⟶ 313:
document.getElementById('LiveRevertMessage').disabled = true;
var message = document.getElementById('LiveRevertMessage').value;
wpajax.http({ url: wgServer + wgScriptPath + '/index.php?title=' +
onSuccess: postLiveRevert,
where: where, page: page, user1: user1, user2: user2, message: message });
Line 319 ⟶ 341:
switch(where) {
case 'liverevert':
var wpSummary =
+ ']];
break;
/* case 'livevandalism':
var wpSummary = 'LiveRC : Révocation de vandalisme par [[Special:Contributions/' + user2 + '|' + user2
+ ']]; retour à la version de [[User:' + user1 + '|' + user1 + ']]';
break; */
}
if (message)
Line 347 ⟶ 369:
function liveHist(page) {
var el = document.getElementById( 'livePreviewTitle' );
el.innerHTML="<b
wpajax.http({url:wgServer + wgScriptPath + '/index.php?title=' +
}
Line 364 ⟶ 386:
}
var elt = document.getElementById( 'livePreviewTitle' );
elt.innerHTML='<b>
}
/* </pre>
=== LiveArticle ===
<pre> */
function liveArticle(page) {
var el = document.getElementById( 'livePreviewTitle' );
el.innerHTML="<b style='text-decoration: blink;'><span style='color:red'>"+page+"</span>...</b>";
wpajax.http({url:wgServer + wgScriptPath + '/index.php?title=' + encodeURIComponent(page) + '&redirect=no', onSuccess: getArticle, message: page });
}
function getArticle(xmlreq, data) {
doc = gml_XMLParse(xmlreq.responseText);
bC = doc.getElementById('bodyContent')
var c=data.message;
var LP = document.getElementById( 'livePreview' );
var dLP = document.getElementById( 'divLivePreview' );
LP.innerHTML = bC.innerHTML;
if (dLP.style.display == "none") {
var elcb = document.getElementById( 'shidPrev' );
elcb.checked="true";
dLP.style.display = "inline";
}
var elt = document.getElementById( 'livePreviewTitle' );
elt.innerHTML='<b><a href="'+wgServer+'/wiki/'+encodeURI(c)+'" target="_new">'+c+'</a></b>';
}
Line 375 ⟶ 425:
function liveContrib(user) {
var el = document.getElementById( 'livePreviewTitle' );
el.innerHTML="<b
wpajax.http({url:wgServer + '/wiki/Special:Contributions/'+
onSuccess: getContrib, message: user });
}
Line 402 ⟶ 452:
var entete = document.getElementById( 'livePreviewTitle' );
entete.innerHTML='<b>
entete.innerHTML = '<table width="100%" class="creator"><tr><td>'+entete.innerHTML +
'</td><td align="right"><small>' +
'[<a id="LiveAvertoLink" href="javascript:var message=getLiveAverto(\''+utilde+'\');">
'<select id="averto">' + optAvert + '</select>' + '</td></tr></table>';
}
Line 430 ⟶ 480:
lstSysop.push(info);
}
liveNS();
}
function liveWatch() {
wpajax.http({url:wgServer + '/wiki/Special:Watchlist/edit',
onSuccess: getWatch, message: "Récup watchlist" });
}
function getWatch(xmlreq, data) {
var doc = gml_XMLParse(xmlreq.responseText);
var bC = doc.getElementById('bodyContent');
var info="";
var lstUL = bC.getElementsByTagName( 'ul' );
var lenUL = lstUL.length;
for(var j=0; j < lenUL ; j++) {
var lstLI = lstUL[j].getElementsByTagName( 'li' );
var lenLI = lstLI.length;
for(var i=0; i < lenLI ; i++) {
info=lstLI[i].getElementsByTagName( 'input' )[ 0 ].value;
lstSuivi.push(info);
lstSuiviHH.push("--:--");
}
}
liveRC();
}
Line 490 ⟶ 562:
document.getElementById('selectNS').innerHTML = '<label for="showNS0">'+lang_menu[0].NAMESP+' </label><select id="showNS0">' + options + '</select>';
}
Line 505 ⟶ 577:
if (quelLigne == '*')
els = tab.getElementsByTagName('tr');
else if (quelLigne == '
var _els = tab.getElementsByTagName('tr');
len = _els.length;
for (i=len-1; i>=0; i--)
if (_els[i].firstChild.style.backgroundColor == 'rgb(255, 250, 205)')
els.push(_els[i]);
} else if (quelLigne == 'r') {
var _els = tab.getElementsByTagName('tr');
len = _els.length;
for (i=len-1; i>=0; i--)
if (_els[i].firstChild.style.backgroundColor == 'rgb(255, 228, 225)')
els.push(_els[i]);
} else if (quelLigne == 'n') {
var _els = tab.getElementsByTagName('tr');
len = _els.length;
for (i=len-1; i>=0; i--)
if (_els[i].firstChild.style.backgroundColor == 'rgb(226, 242, 210)')
els.push(_els[i]);
} else
Line 554 ⟶ 638:
var tz;
var match, regex = new RegExp();
if (
regex.compile(/^([-+])?(\d?\d):?(\d\d)$/);
match = regex.exec(
if (!match) {
//livercError(lang_error.TZ);
Line 585 ⟶ 669:
if (timestamp == 0) continue;
var utilde = user.replace(new RegExp(/\'/g), "\\'");
var udiscut = '<a href="'+wgServer+'/wiki/User talk:'+
var ucontrib = '<a href="javascript:;" onClick="liveContrib(\''+utilde+'\');" style="color:
var uadmin = '';
if (lrcAdmin == true) {
uadmin = ' • <a href="'+wgServer+'/wiki/Special:Blockip/'+encodeURI(user)+'" target="_new" style="color:seagreen">B</a>';
}
var ueditor = '<a href="'+wgServer+'/wiki/User:'+encodeURIComponent(user)+'" target="_new">'+user+'</a>';
var ligne = '<span id="contact-' + timestamp + '"><small>' + tsToHhMm(timestamp) + ' • ' + udiscut + ' • ' + ucontrib + uadmin + ' • </small>' + ueditor + '</span><br />';
tempAr.push(ligne);
}
Line 604 ⟶ 692:
var timestamp = lstRevoc[user].ts;
var utilde = user.replace(new RegExp(/\'/g), "\\'");
var udiscut = '<a href="'+wgServer+'/wiki/User talk:'+
var ucontrib = '<a href="javascript:;" onClick="liveContrib(\''+utilde+'\');" style="color:
var uadmin = '';
if (lrcAdmin == true) {
uadmin = ' • <a href="'+wgServer+'/wiki/Special:Blockip/'+encodeURI(user)+'" target="_new" style="color:seagreen">B</a>';
}
var ueditor = '<a href="'+wgServer+'/wiki/User:'+encodeURIComponent(user)+'" target="_new">'+user+'</a>';
var ligne = '<span id="revoc-' + timestamp + '"><small>' + tsToHhMm(timestamp) + ' • ' + udiscut + ' • ' + ucontrib + uadmin + ' • </small>' + ueditor + ' (' + lstRevoc[user].nb + ' '+lang_menu[0].XTIMES+')</span><br />';
tempAr.push(ligne);
}
Line 672 ⟶ 764:
var diff = "";
var diffClose = "";
if (
diffClose='supprLigne(\''+pageid+'_'+revid+'\');';
if (state & NEW)
diff = '<
else
diff = '<a href="javascript:;" onClick="changeLigne(\''+pageid+'_'+revid+'\');liveDiff(\''+escTitle+'\','+revid+','+oldid+');'+diffClose+'" style="color:orange">
var hist = '<a href="javascript:;" onClick="liveHist(\''+escTitle+'\');" style="color:darkorange">
var edit = '<a href="' + wgServer + wgScriptPath + '/index.php?title='+encodeURI(escTitle)+'&action=edit" target="_new" style="color:tomato">E</a>';
var admin = '';
if (lrcAdmin == true) {
admin = ' • <a href="' + wgServer + wgScriptPath + '/index.php?title='+encodeURI(escTitle)+'&action=delete" target="_new" style="color:orangered">S</a>';
}
// Disambig / Homonymie ? ;
///////////////////////////
if (ns == 0 && state & HOMONYMIE) {
artiStyle = 'color: darkorange; font-weight: bold; font-style: italic;';
Line 733 ⟶ 830:
postArti += '<sup style="color:crimson">(cat ?)</sup>';
//
//////////////////
if (state & REDIRECT) {
Line 739 ⟶ 836:
postArti += '<img src="http://upload.wikimedia.org/wikipedia/commons/thumb/b/b5/Redirectltr.png/20px-Redirectltr.png" width="20px" alt="Redirection" />';
if (rc.redirect) {
// postArti += '<a href="'+wgServer+'/wiki/'+
postArti += '<a href="javascript:;" onClick="liveArticle(\''+rc.redirect+'\');">'+rc.redirect+'</a>';
} else {
regex.compile(/^#REDIRECT\s*\[\[(.*)\]\]/i);
match = regex.exec(revisions[0].textContent);
if (match) {
// postArti += '<a style="color:
postArti += '<a style="color:red" href="javascript:;" onClick="liveArticle(\''+match[1]+'\');">'+match[1]+'</a>';
} else {
// postArti += '<a style="color:red;" href="'+wgServer+wgScriptPath+'/index.php?title='+encodeURI(title)+'&redirect=no" target="_new">/!\\</a>';
postArti += '<a style="color:red" href="javascript:;" onClick="liveArticle(\''+title+'\');">'+title+'</a>';
}
}
// arti = '<a style="'+artiStyle+'" href="'+wgServer+wgScriptPath+'/index.php?title='+encodeURI(title)+'&redirect=no" target="_new">'+title+'</a>';
arti = '<a style="'+artiStyle+'" href="javascript:;" onClick="liveArticle(\''+title+'\');">'+title+'</a>';
} else {
arti = '<a style="'+artiStyle+'" href="javascript:;" onClick="liveArticle(\''+
}
th1.innerHTML = '<small>' + tsToHhMm(timestamp) + ' • ' + diff + ' • ' + hist + ' • ' + edit + admin + ' • </small>'
+ preArti + arti + postArti;
th1.className="creator-title";
Line 760 ⟶ 862:
//
////////////
var discut = '<a href="'+wgServer+'/wiki/User talk:'+
var contrib = '<a href="javascript:;" onClick="liveContrib(\''+escUser+'\');" style="color:
var editor = "", preEditor = "";
Line 776 ⟶ 878:
preEditor += '<img src="http://upload.wikimedia.org/wikipedia/commons/thumb/2/2c/Broom_icon.svg/16px-Broom_icon.svg.png" width="16px" /> ';
//
/////////////////
if (state & REVERT)
Line 786 ⟶ 888:
preEditor += '<img src="http://upload.wikimedia.org/wikipedia/commons/thumb/6/6e/Dialog-warning.svg/16px-Dialog-warning.svg.png" width="16px" /> ';
editor = '<a href="'+wgServer+'/wiki/User:'+
var uadmin = '';
if (lrcAdmin == true) {
uadmin = ' • <a href="'+wgServer+'/wiki/Special:Blockip/'+encodeURI(user)+'" target="_new" style="color:seagreen">B</a>';
}
td2.innerHTML = '<small>' + discut + ' • ' + contrib + uadmin + ' • </small>'
+ preEditor + editor;
td2.className="creator-name";
Line 798 ⟶ 905:
}
//
// Remplace lien [[xxx]] par <a> ;
var wcomment = comment.
wcomment = wcomment.replace(regex, "<a href='"+wgServer+wgScriptPath+"/index.php?title=$2&redirect=no' target='_new'>$1</a>"); wcomment = wcomment.replace(regex, ">$1<");
td3.innerHTML = "<small>" + wcomment + "</small>";
Line 897 ⟶ 1,007:
tab.appendChild(tr1);
if (elold == null) {
if (tab.childNodes.length >
var idt = tab.lastChild.id;
supprLigne(idt);
Line 908 ⟶ 1,018:
// MISE A JOUR LISTES //
if(spos != -1) {
th0.style.border = "2px solid gold";
Line 914 ⟶ 1,024:
th1.style.border = "2px solid gold";
th1.style.backgroundColor = "yellow";
lstSuiviHH[spos] = tsToHhMm(timestamp);
var tempsAr = new Array();
var len = lstSuivi.length;
Line 920 ⟶ 1,030:
if(lstSuiviHH[n] == "--:--") continue;
var cstilde = lstSuivi[n].replace(new RegExp(/\'/g), "\\'");
var sdiff = '<a href="javascript:;" onClick="liveDiff(\''+cstilde+'\',
var shist = '<a href="javascript:;" onClick="liveHist(\''+cstilde+'\');" style="color:darkorange">
var sarti = '<a href="javascript:;" onClick="liveArticle(\''+
var ligne='<small>' + lstSuiviHH[n] + ' • ' + sdiff + ' • ' + shist + ' • </small>' + sarti +'<br />';
tempsAr.push(ligne);
Line 933 ⟶ 1,043:
lvSuivi.innerHTML = lvSuivi.innerHTML + tempsAr[n];
}
if (lstContact[user]) {
Line 1,035 ⟶ 1,145:
case 'patrolled':
rc.state += PATROLLED;
break;
case 'type':
Line 1,066 ⟶ 1,173:
&& (rc.user != wgUserName)) continue;
wpajax.http({url: wgServer + wgScriptPath + '/query.php?titles=' + encodeURIComponent(rc.title) + '&what=redirects|categories&format=xml',
onSuccess: getRedirCat, rc: rc });
}
Line 1,083 ⟶ 1,190:
var rcns = document.getElementById('showNS0').value;
if (rcns == null) return;
var rcshow = "";
if (document.getElementById('showBot').checked) rcshow = '&rcshow=!bot';
Line 1,089 ⟶ 1,196:
+ '/api.php?action=query&list=recentchanges&rcnamespace=' + rcns
+ '&rcprop=user|comment|flags' + rcshow
+ '&rcend=' + lasttimestamp + '&rclimit=' +
onSuccess: getRC, message: "Traitement en cours...\n\n" });
}
Line 1,120 ⟶ 1,227:
var lvPreviewFoot = document.getElementById( 'livePreviewFoot' );
lvPreviewFoot.innerHTML = '<a href="javascript:;" onClick="supprLigne(\'*\');" style="color: red; font-weight: bold;">X</a>' +
'<a href="javascript:;" onClick="supprLigne(\'
'<a href="javascript:;" onClick="supprLigne(\'r\');" style="color: rgb(255, 99, 83); font-weight: bold;">X</a>' +
'<a href="javascript:;" onClick="supprLigne(\'n\');" style="color: rgb(178, 243, 113); font-weight: bold;">X</a>' +
'<input id="stopLive" type="checkbox" value="true" />' +
'<label for="stopLive">' + lang_menu[0].PAUSE + '</label>' +
Line 1,136 ⟶ 1,245:
'<label for="showIP">' + lang_menu[0].IPONLY + ' • </label>' +
'<span id="selectNS" />';
if (
var _lstContact = lstContact;
Line 1,145 ⟶ 1,254:
// Main
liveSysop();
}
|