/plwiki/liverc/LiveRC.js
JavaScript | 1642 lines | 1421 code | 130 blank | 91 comment | 179 complexity | 9e5275ff39b57c00c551b7efa555967a MD5 | raw file
Large files files are truncated, but you can click here to view the full file
- /*
- ==LiveRC==
- *Documentation : [[:fr:User:EDUCA33E/LiveRC/Documentation]]
- *Author : [[:fr:User:EDUCA33E]]
- *Dev & enhancements : [[:fr:User:TiChou]], [[:pl:User:Leafnode]] & [[:it:User:Jalo]]
- *Version: 0.3.7 (beta)
- Oparte na wersji z dnia 26 sierpnia 2008, 17:18
- http://fr.wikipedia.org/w/index.php?title=Utilisateur:EDUCA33E/LiveRC.js&oldid=32777249
- === Variables globales ===
- <source lang="javascript"> */
- if (wgTitle == "Leafnode/LiveRC") {
- // Appel des parametres par défaut de LiveRC ;
- // ///////////////////////////////////////////
- document.write('<script type="text/javascript" src="'
- + wgServer + wgScriptPath + '/index.php?title='+wgPageName+'/LiveRCparam.js'
- + '&action=raw&ctype=text/javascript&dontcountme=s"></script>');
- // Appel des parametres utilisateur ;
- // ///////////////////////////////////////////
- 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>');
- var cssNode = document.createElement('link');
- cssNode.type = 'text/css';
- cssNode.rel = 'stylesheet';
- cssNode.href = 'http://pl.wikipedia.org/skins-1.5/common/diff.css?90';
- cssNode.media = 'screen';
- cssNode.title = 'dynamicLoadedSheet';
- document.getElementsByTagName("head")[0].appendChild(cssNode);
- document.write('<script type="text/javascript" src="http://pl.wikipedia.org/skins-1.5/common/diff.js?90"></script>');
- var lastrevid,lasttimestamp=1; // Timestamp d'initialisation;
- // Découpage de l'URL et de ses parametres;
- var _GET = new Array();
- var _uri = location.href;
- var _temp_get_arr = _uri.substring(_uri.indexOf('?')+1, _uri.length).split("&");
- var _temp_get_arr_1 = new Array();
- for(_get_arr_i=0; _get_arr_i<_temp_get_arr.length; _get_arr_i++){
- _temp_get_arr_1 = _temp_get_arr[_get_arr_i].split("=");
- _GET[decodeURIComponent(_temp_get_arr_1[0])] = decodeURIComponent(_temp_get_arr_1[1]);
- }
- delete _uri; delete _temp_get_arr; delete _temp_get_arr_1;
- // Variables d'état (pour test sur rc.state);
- var IP = 1;
- var BOT = 2 << 0;
- var SYSOP = 2 << 1;
- var NEW = 2 << 2;
- var MINOR = 2 << 3;
- var NEWNS = 2 << 4;
- var RENAMED = 2 << 5;
- var PATROLLED = 2 << 6;
- var REVERT = 2 << 7;
- var BLANKING = 2 << 8;
- var REPLACED = 2 << 9;
- var REDIRECT = 2 << 10;
- var CATEGORIZED = 2 << 11;
- var LOCK = 2 << 12;
- var FULLLOCK = 2 << 13;
- var HOMONYMIE = 2 << 14;
- var ADQ = 2 << 15;
- var BA = 2 << 16;
- var APDQ = 2 << 17;
- var COPYRIGHT = 2 << 18;
- var PAS = 2 << 19;
- var FIRE = 2 << 20;
- var UPLOAD = 2 << 21;
- var NEWUSER = 2 << 22;
- var BLOCK = 2 << 23;
- var DELETE = 2 << 24;
- var MOVE = 2 << 25;
- var PROTECT = 2 << 26;
- var REVIEW = 2 << 27;
- var lstSysop = new Array(); // Sysop list;
- var lstContact = new Array(); // Contact list;
- var lstRevoc = new Array(); // Reverted list;
- var lstHidden = new Array(); // Hidden users list;
- // Is user Sysop;
- var lrcAdmin = false; // default value;
- if(wgUserGroups.indexOf("sysop") != -1)
- lrcAdmin = true;
- // Watchlist;
- var lstSuivi = new Array();
- var lstSuiviHH = new Array();
- }
- /* </source>
- ===Utilities===
- <source lang="javascript"> */
- var wpajax = {
- http: function(bundle) {
- // mandatory: bundle.url
- // optional: bundle.async
- // optional: bundle.method
- // optional: bundle.headers
- // optional: bundle.data
- // optional: bundle.onSuccess (xmlhttprequest, bundle)
- // optional: bundle.onFailure (xmlhttprequest, bundle)
- // optional: bundle.otherStuff OK too, passed to onSuccess and onFailure
- var xmlhttp;
- try {
- xmlhttp = new XMLHttpRequest();
- } catch(e) {
- try {
- xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
- } catch (e) {
- try {
- xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
- } catch (e) {
- xmlhttp = false
- }
- }
- }
- if (xmlhttp) {
- xmlhttp.onreadystatechange = function() {
- if (xmlhttp.readyState == 4)
- wpajax.httpComplete(xmlhttp,bundle);
- };
- xmlhttp.open(bundle.method ? bundle.method : "GET",bundle.url,bundle.async == false ? false : true);
- if (bundle.headers) {
- for (var field in bundle.headers)
- xmlhttp.setRequestHeader(field,bundle.headers[field]);
- }
- xmlhttp.send(bundle.data ? bundle.data : null);
- }
- return xmlhttp;
- },
- httpComplete: function(xmlhttp,bundle) {
- if (xmlhttp.status == 200 || xmlhttp.status == 302) {
- if (bundle.onSuccess)
- bundle.onSuccess(xmlhttp,bundle);
- } else if (bundle.onFailure) {
- bundle.onFailure(xmlhttp,bundle);
- } else {
- // A activer en debug mode ?
- // alert(xmlhttp.statusText);
- }
- }
- };
- // Parser
- if (document.implementation.createDocument) {
- var gml_xmlparser = new DOMParser();
- }
- function gml_XMLParse(string) {
- if (document.implementation.createDocument) {
- return gml_xmlparser.parseFromString(string, "text/xml");
- } else if (window.ActiveXObject) {
- var gml_xmldoc = new ActiveXObject("Microsoft.XMLDOM");
- gml_xmldoc.async = "false";
- ret = gml_xmldoc.loadXML(string);
- if (!ret)
- return null;
- return gml_xmldoc.documentElement;
- }
- 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;
- }
- /* </source>
- === LiveDiff ===
- <source lang="javascript"> */
- function liveDiff(page, id, oldid) {
- var el = document.getElementById( 'livePreviewTitle' );
- el.innerHTML="<b style='text-decoration: blink;'>Diff : <span style='color:red'>"+page+"</span>...</b>";
- wpajax.http({ url: wgServer + wgScriptPath + '/index.php?title='+encodeURIComponent(page)+'&diffonly=1&diff='+id+'&oldid='+oldid,
- onSuccess: getDiff, mpage: page, mid: id, moldid:oldid});
- }
- function getDiff(xmlreq, data) {
- var doc = gml_XMLParse(xmlreq.responseText);
- var page=data.mpage;
- var oldid=data.moldid;
- var id=data.mid;
- var bC = doc.getElementById('bodyContent');
- if (bC == null) bC = doc.getElementById('article')
- var LP = document.getElementById( 'livePreview' );
- var dLP = document.getElementById( 'divLivePreview' );
- var lD = getElementsByClass('diff',bC,null);
- var upage=page.replace(new RegExp(/\'/g), "\\'");
- if (lD[0] == null)
- LP.innerHTML = bC.innerHTML;
- else {
- if (document.getElementById('showDiffR').checked) {
- var avantEl = getElementsByClass('diff-deletedline',bC,null);
- var apresEl = getElementsByClass('diff-addedline',bC,null);
- var rollback = getElementsByClass('mw-rollback-link',bC,null);
- if (rollback[0] == null)
- var rl = "";
- else
- var rl = rollback[0].innerHTML+"<br />";
- var avant = "";
- var apres = "";
- var lav = avantEl.length;
- var lap = apresEl.length;
- for(var n=0; n < lav ; n++)
- avant = avant + avantEl[n].innerHTML + "<br />";
- for(var n=0; n < lap ; n++)
- apres = apres + apresEl[n].innerHTML + "<br />";
- LP.innerHTML = rl+"<table width='100%'><tr><td width='50%' class='diff-deletedline'>"+avant+"</td><td class='diff-addedline'>"+apres+"</td></tr></table>";
- }
- else {
- LP.innerHTML = "<table border='0' width='98%' cellpadding='0' cellspacing='4' class='diff'>"+lD[0].innerHTML+"</table>";
- }
- }
- if (dLP.style.display == "none") {
- var elcb = document.getElementById( 'shidPrev' );
- elcb.checked="true";
- dLP.style.display = "inline";
- }
- var entete = document.getElementById( 'livePreviewTitle' );
- entete.innerHTML='<b><a href="'+wgServer + '/wiki/' + encodeURI(page) + '" target="_new">' + page + '</a></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;
- if(lstAvert[j].hasPage) optAvert += '|'+upage;
- optAvert += '">'+lstAvert[j].string+'</option>';
- }
- // Get username of submitter
- var user1 = doc.getElementById( 'mw-diff-otitle2' );
- if (user1 != null) {
- var usertmp=user1.innerHTML;
- user1 = usertmp.replace(new RegExp(/<a (.*)>(.*)<\/a>(.*)\((.*)\)/g), "$2");
- user1 = user1.replace(new RegExp(/(.*)<(.*)>/g), "$1");
- }
- var user2 = doc.getElementById( 'mw-diff-ntitle2' );
- if (user2 != null) {
- var usertmp=user2.innerHTML;
- user2 = usertmp.replace(new RegExp(/<a (.*)>(.*)<\/a>(.*)\(<a(.*)/g), "$2");
- }
- user1=user1.replace(new RegExp(/\'/g), "\\'");
- user2=user2.replace(new RegExp(/\'/g), "\\'");
- var identique="";
- if(user1 == user2) {
- identique = "<b style='color:red'>[kolejna edycja]</b> ";
- }
- entete.innerHTML = '<table width="100%" class="creator"><tr><td>' + entete.innerHTML +
- '</td><td align="right"><small>' + identique +
- // 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();
- }
- }
- function getLiveAverto(user) {
- var link = document.getElementById('LiveAvertoLink');
- link.href = "javascript:;";
- link.style.color = "silver";
- link.style.cursor = "default";
- link.style.textDecoration = "none";
- document.getElementById('averto').disabled = true;
- var message = document.getElementById('averto').value;
- wpajax.http({ url: wgServer + wgScriptPath + '/index.php?title=User_Talk:' + encodeURIComponent(user) + '&action=edit',
- onSuccess: postLiveAverto,
- user: user, message: message });
- }
- function postLiveAverto(xmlreq, data) {
- var parser = new DOMParser();
- var doc = parser.parseFromString(xmlreq.responseText, 'application/xhtml+xml');
- var user = data.user;
- var message = data.message.replace(new RegExp(/\\'/g),"'");
-
- // Message au début
- // var wpTextbox1 = encodeURIComponent('{{subst:' + message + '}} ~~~~\n' + doc.getElementById('wpTextbox1').value);
- var wpTextbox1 = encodeURIComponent(doc.getElementById('wpTextbox1').value + '\n\n{{subst:' + message + '}} ~~~~\n');
- var inputs = doc.getElementById('editform').getElementsByTagName('input');
- var editform = new Array();
- for (i=0; i<inputs.length; i++) {
- editform[inputs[i].name] = inputs[i].value;
- }
- var wpStarttime = encodeURIComponent(editform['wpStarttime']);
- var wpEdittime = encodeURIComponent(editform['wpEdittime']);
- var wpEditToken = encodeURIComponent(editform['wpEditToken']);
- //var wpSummary = encodeURIComponent('LiveRC : Avertissement ! ' + message.replace(new RegExp(/\|(.*)/), ' sur [[$1]]') + ' !');
- var wpSummary = encodeURIComponent('LiveRC : Ostrze?enie ! ' + message.replace(new RegExp(/\|(.*)/), ' on [[$1]]') + ' !');
- var headers = new Array();
- headers['Content-Type'] = 'application/x-www-form-urlencoded';
- wpajax.http({ url: wgServer + wgScriptPath + '/index.php?title=User_Talk:' + encodeURI(user) + '&action=submit',
- method: "POST", headers: headers,
- data: 'wpSave=1&wpTextbox1=' + wpTextbox1 + '&wpStarttime=' + wpStarttime + '&wpEdittime=' + wpEdittime
- + '&wpEditToken=' + wpEditToken + '&wpSummary=' + wpSummary});
- }
- function getLiveMessage(where, user1, user2, page, oldid) {
- var links = [ document.getElementById('LiveRevertLink') ];
- var i,len=links.length;
- for (i=0; i<len; i++) {
- links[i].href = "javascript:;";
- links[i].style.color = "silver";
- links[i].style.cursor = "default";
- links[i].style.textDecoration = "none";
- }
- document.getElementById('LiveRevertMessage').disabled = true;
- var message = document.getElementById('LiveRevertMessage').value;
- wpajax.http({ url: wgServer + wgScriptPath + '/index.php?title=' + encodeURI(page) + '&action=edit&oldid=' + oldid,
- onSuccess: postLiveRevert,
- where: where, page: page, user1: user1, user2: user2, message: message });
- }
- function postLiveRevert(xmlreq, data) {
- var parser = new DOMParser();
- var doc = parser.parseFromString(xmlreq.responseText, 'application/xhtml+xml');
- var where = data.where;
- var page = data.page;
- var user1 = data.user1;
- var user2 = data.user2;
- var message = data.message;
- var wpTextbox1 = encodeURIComponent(doc.getElementById('wpTextbox1').value);
- var inputs = doc.getElementById('editform').getElementsByTagName('input');
- var editform = new Array();
- for (i=0; i<inputs.length; i++) {
- editform[inputs[i].name] = inputs[i].value;
- }
- var wpStarttime = encodeURIComponent(editform['wpStarttime']);
- var wpEdittime = encodeURIComponent(editform['wpEdittime']);
- var wpEditToken = encodeURIComponent(editform['wpEditToken']);
- switch(where) {
- case 'liverevert':
- var wpSummary = lang_menu[0].RVMES1 + ' [[Special:Contributions/' + user2 + '|' + user2
- + ']]; '+lang_menu[0].RVMES2+' [[User:' + user1 + '|' + user1 + ']]';
- break;
- /* case 'livevandalism':
- var wpSummary = 'LiveRC : Révocation de vandalisme par [[Special:Contributions/' + user2 + '|' + user2
- + ']]; retour a la version de [[User:' + user1 + '|' + user1 + ']]';
- break; */
- }
- if (message)
- wpSummary = wpSummary + ' ; ' + message;
- wpSummary = encodeURIComponent(wpSummary);
- var headers = new Array();
- headers['Content-Type'] = 'application/x-www-form-urlencoded';
- wpajax.http({ url: wgServer + wgScriptPath + '/index.php?title=' + encodeURIComponent(page) + '&action=submit',
- method: "POST", headers: headers,
- data: 'wpSave=1&wpTextbox1=' + wpTextbox1 + '&wpStarttime=' + wpStarttime + '&wpEdittime=' + wpEdittime
- + '&wpEditToken=' + wpEditToken + '&wpSummary=' + wpSummary});
- }
- /* </source>
- === LiveHist ===
- <source lang="javascript"> */
- function liveHist(page) {
- var el = document.getElementById( 'livePreviewTitle' );
- el.innerHTML="<b style='text-decoration: blink;'>Hist : <span style='color:red'>"+page+"</span>...</b>";
- wpajax.http({url:wgServer + wgScriptPath + '/index.php?title=' + encodeURIComponent(page) + '&action=history', onSuccess: getHist, message: page });
- }
- function getHist(xmlreq, data) {
- doc = gml_XMLParse(xmlreq.responseText);
- bC = doc.getElementById('bodyContent')
- if (bC == null) bC = doc.getElementById('article')
- 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/'+encodeURIComponent(c)+'" target="_new">'+c+'</a></b>';
- }
- /* </source>
- === LiveArticle ===
- <source lang="javascript"> */
- 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')
- if (bC == null) bC = doc.getElementById('article')
- 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>';
- }
- /* </source>
- === LiveContrib ===
- <source lang="javascript"> */
- function liveContrib(user) {
- var el = document.getElementById( 'livePreviewTitle' );
- el.innerHTML="<b style='text-decoration: blink;'><span style='color:red'>"+user+"</span>...</b>";
- wpajax.http({url:wgServer + '/wiki/Special:Contributions/'+encodeURIComponent(user),
- onSuccess: getContrib, message: user });
- }
- function getContrib(xmlreq, data) {
- doc = gml_XMLParse(xmlreq.responseText);
- bC = doc.getElementById('bodyContent')
- if (bC == null) bC = doc.getElementById('article')
- var user=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 utilde=user.replace(new RegExp(/\'/g), "\\'");
- var optAvert = "";
- var optl = lstAvert.length;
- for (j=0; j<optl; j++) {
- if(lstAvert[j].hasPage) continue;
- optAvert += '<option value="'+lstAvert[j].template+'">'+lstAvert[j].string+'</option>';
- }
- var entete = document.getElementById( 'livePreviewTitle' );
- entete.innerHTML='<b><a href="'+wgServer+'/wiki/User:'+encodeURIComponent(user)+'" target="_new">'+user+'</a></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+'\');">'+lang_menu[0].AVERTS+'</a>] : ' +
- '<select id="averto">' + optAvert + '</select>' + '</td></tr></table>';
- }
- /* </source>
- === LiveLog (:it:User:Jalo) ===
- <source lang="javascript"> */
-
- function liveLog(action,page) {
- var titolo = '';
- switch(action) {
- case 'upload':
- titolo = 'Log dei caricamenti';
- break;
- case 'newuser':
- titolo = 'Log dei nuovi utenti';
- break;
- case 'block':
- titolo = 'Log dei blocchi utente';
- break;
- case 'delete':
- titolo = 'Log delle cancellazioni';
- break;
- case 'move':
- titolo = 'Log degli spostamenti';
- break;
- case 'protect':
- titolo = 'Log delle protezioni';
- break;
- default:
- break;
- }
-
- var el = document.getElementById( 'livePreviewTitle' );
- el.innerHTML="<b style='text-decoration: blink;'><span style='color:red'>"+titolo+"</span>...</b>";
- wpajax.http({url:wgServer + wgScriptPath + '/index.php?title=Special:Log&type=' + action + "&user=&page=" + encodeURIComponent(page), onSuccess: getLog, message: page });
- }
-
- function getLog(xmlreq, data) {
- doc = gml_XMLParse(xmlreq.responseText);
- bC = doc.getElementById('bodyContent')
- if (bC == null) bC = doc.getElementById('article')
- 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>';
- }
- /* </source>
- === LiveSysop ===
- <source lang="javascript"> */
- function liveSysop() {
- wpajax.http({url:wgServer + wgScriptPath + '/index.php?title=Special:Listusers&limit=500&group=sysop',
- onSuccess: getSysop, message: "Pobieranie listy adminów" });
- }
- function getSysop(xmlreq, data) {
- var doc = gml_XMLParse(xmlreq.responseText);
- var bC = doc.getElementById('bodyContent');
- if (bC == null) bC = doc.getElementById('article')
- var lstSys = bC.getElementsByTagName( 'ul' )[ 0 ].getElementsByTagName( 'li' );
- var info="";
- var len = lstSys.length
- for(var i=0; i < len ; i++) {
- info=lstSys[i].getElementsByTagName( 'a' )[ 0 ].innerHTML;
- lstSysop.push(info);
- }
- liveNS();
- }
- function liveWatch() {
- wpajax.http({url:wgServer + '/wiki/Special:Watchlist/edit',
- onSuccess: getWatch, message: "Pobieranie obserwowanych" });
- }
- function getWatch(xmlreq, data) {
- var doc = gml_XMLParse(xmlreq.responseText);
- var bC = doc.getElementById('bodyContent');
- if (bC == null) bC = doc.getElementById('article')
- 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++) {
- var input = lstLI[i].getElementsByTagName( 'input' )
- if (input.length > 0) {
- info = input[0].value
- lstSuivi.push(info);
- lstSuiviHH.push("--:--");
- }
- }
- }
- liveRC();
- }
- /* function liveWatch() {
- wpajax.http({url:wgServer + wgScriptPath + '/api.php?action=query&list=watchlist&wllimit=500&format=xml',
- onSuccess: getWatch, message: "Pobieranie listy obserwowanych" });
- }
- function getWatch(xmlreq, data) {
- var a=xmlreq.responseText;
- var c=data.message;
- var i;
- // document.getElementById('debug').innerHTML = a+"<br />**************************";
- if(a.indexOf("<error")!=-1) {
- var lvSuivi = document.getElementById( 'liveSuivi' );
- lvSuivi.innerHTML = "<small>Suivi désactivé. (API.php : watchlist)</small>";
- return;
- }
- a=a.split("title=\"");
- var info="";
- for(i=a.length-1; i >= 0 ; i--) {
- info=a[i].substr(0,a[i].indexOf("\" pageid"));
- if (info == "") continue;
- lstSuivi.push(info);
- lstSuiviHH.push("--:--");
- }
- //document.getElementById('debug').innerHTML += lstSuivi;
- } */
- function liveNS() {
- wpajax.http({url: wgServer + wgScriptPath + '/api.php?action=query&meta=siteinfo&siprop=namespaces&format=xml',
- onSuccess: getNS, message: "Pobieranie nazw przestrzeni" });
- }
- function getNS(xmlreq, data) {
- var api = xmlreq.responseXML;
- if (api.firstChild.nodeName == "error") return;
- var nss = api.getElementsByTagName('query')[0].getElementsByTagName('namespaces')[0].getElementsByTagName('ns');
- var len = nss.length;
- var i;
- var id,ns;
- var options = "";
- var lstNs = new Array();
- for (i=0; i<len; i++) {
- id = nss[i].getAttribute('id');
- ns = nss[i].textContent;
- if (id < 0) continue;
- if (id == 0) ns = "Article";
- options += '<option value="' + id + '">' + ns + '</option>';
- lstNs.push(id);
- }
- options = '<option value="' + lstNs.join('|') + '">*</option>' + options;
- document.getElementById('selectNS').innerHTML = '<label for="showNS0">'+lang_menu[0].NAMESP+' </label><select id="showNS0">' + options + '</select>';
- liveWatch();
- }
- /* </source>
- === LiveRC ===
- <source lang="javascript"> */
- function supprLigne(quelLigne) {
- var i,len;
- var tab = document.getElementById('tabRC');
- var els = new Array();
- if (quelLigne == '*')
- els = tab.getElementsByTagName('tr');
- else if (quelLigne == 'd') {
- 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
- els.push(document.getElementById(quelLigne));
- len = els.length;
- for (i=len-1; i>=0; i--)
- if (els[i] != null)
- tab.removeChild(els[i]);
- }
- function changeLigne(quelLigne) {
- var el = document.getElementById(quelLigne);
- var els1 = el.getElementsByTagName('th');
- var els2 = el.getElementsByTagName('td');
- var len = els1.length;
- for (var i=len-1; i>=0; i--)
- if (els1[i] != null)
- els1[i].style.backgroundColor = "#FFFACD";
- var len = els2.length;
- for (var i=len-1; i>=0; i--)
- if (els2[i] != null)
- els2[i].style.backgroundColor = "#FFFFE0";
- }
- function getElementsByClass(searchClass,node,tag) {
- var classElements = new Array();
- if ( node == null )
- node = document;
- if ( tag == null )
- tag = '*';
- var els = node.getElementsByTagName(tag);
- var elsLen = els.length;
- var pattern = new RegExp('(^|\\s)'+searchClass+'(\\s|$)');
- for (i = 0, j = 0; i < elsLen; i++) {
- if (pattern.test(els[i].className) ) {
- classElements[j] = els[i];
- j++;
- }
- }
- return classElements;
- }
- function tsToHhMm(timestamp) {
- var tz;
- var match, regex = new RegExp();
- if (lrcTZ) {
- regex.compile(/^([-+])?(\d?\d):?(\d\d)$/);
- match = regex.exec(lrcTZ);
- if (!match) {
- //livercError(lang_error.TZ);
- return 'xx:xx';
- }
- tz = match[2]*60 + match[3]*1;
- tz = match[1] == '-' ? -tz : tz;
- } else {
- var now = new Date();
- tz = -now.getTimezoneOffset();
- }
- regex.compile(/^\d\d\d\d-\d\d-\d\dT(\d\d):(\d\d):\d\dZ$/);
- match = regex.exec(timestamp);
- if (!match) {
- //livercError(lang_error.timestamp);
- return 'xx:xx';
- }
- var tt = (match[1]*60 + match[2]*1 + tz + 1440) % 1440;
- var mm = tt % 60;
- var hh = (tt - mm) / 60 % 24;
- return hh + ':' + (mm < 10 ? '0' : '') + mm;
- }
- function updateHidden() {
- var tempAr = new Array();
- for (var user in lstHidden) {
- var utilde = user.replace(new RegExp(/\'/g), "\\'");
- var uremove = '<a href="javascript:;" onClick="unhideUser(\''+utilde+'\');" style="color:grey">-</a>';
- var udiscut = '<a href="'+wgServer+'/wiki/User talk:'+encodeURIComponent(user)+'" style="color:seagreen" target="_new">T</a>';
- var ucontrib = '<a href="javascript:;" onClick="liveContrib(\''+utilde+'\');" style="color:#43CD80">C</a>';
- 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="hidden-' + user + '"><small>' + uremove + ' • ' + udiscut + ' • ' + ucontrib + uadmin + ' • </small>' + ueditor + '</span><br />';
- tempAr.push(ligne);
- }
- tempAr.sort();
- var lvHidden = document.getElementById('liveHidden');
- lvHidden.innerHTML = "";
- var len = tempAr.length;
- for (var n=len-1; n>=0; n--)
- lvHidden.innerHTML += tempAr[n];
- }
- function updateFollowContact() {
- var tempAr = new Array();
- for (var user in lstContact) {
- var timestamp = lstContact[user].ts;
- if (timestamp == 0) continue;
- var utilde = user.replace(new RegExp(/\'/g), "\\'");
- var udiscut = '<a href="'+wgServer+'/wiki/User talk:'+encodeURIComponent(user)+'" style="color:seagreen" target="_new">T</a>';
- var ucontrib = '<a href="javascript:;" onClick="liveContrib(\''+utilde+'\');" style="color:#43CD80">C</a>';
- 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);
- }
- tempAr.sort();
- var lvContact = document.getElementById('liveContact');
- lvContact.innerHTML = "";
- var len = tempAr.length;
- for (var n=len-1; n>=0; n--)
- lvContact.innerHTML += tempAr[n];
- }
- function updateFollowRevoc() {
- var tempAr = new Array();
- for (var user in lstRevoc) {
- var timestamp = lstRevoc[user].ts;
- var utilde = user.replace(new RegExp(/\'/g), "\\'");
- var udiscut = '<a href="'+wgServer+'/wiki/User talk:'+encodeURIComponent(user)+'" style="color:seagreen" target="_new">T</a>';
- var ucontrib = '<a href="javascript:;" onClick="liveContrib(\''+utilde+'\');" style="color:#43CD80">C</a>';
- 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);
- }
- tempAr.sort();
- var lvRevoc = document.getElementById('liveRevoc');
- lvRevoc.innerHTML = "";
- var len = tempAr.length;
- for (var n=len-1; n>=0; n--)
- lvRevoc.innerHTML += tempAr[n];
- }
- //function getRevision(xmlreq, data) {
- function getRevision(rc) {
- if (document.getElementById('stopLive').checked) return;
- // var api = xmlreq.responseXML.getElementsByTagName('api')[0];
- //
- // if (api.firstChild.nodeName == "error") return;
- var match, regex = new RegExp();
- // var rc = data.rc
- var title = rc.title;
- var pageid = rc.pageid;
- var revid = rc.revid;
- var oldid = rc.old_revid;
- var user = rc.user;
- var comment = (rc.comment ? rc.comment : "");
- var timestamp = rc.timestamp;
- var ns = rc.ns;
- var state = rc.state;
- regex.compile(/\'/g);
- var escTitle = title.replace(regex, "\\'");
- var escUser = user.replace(regex, "\\'");
- // var revisions = api.getElementsByTagName('query')[0].getElementsByTagName('pages')[0].getElementsByTagName('page')[0].getElementsByTagName('revisions')[0].getElementsByTagName('rev');
- //
- // var oldsize = (state & NEW ? 0 : revisions[1].textContent.length);
- // var newsize = revisions[0].textContent.length
- var oldsize = rc.oldlen
- var newsize = rc.newlen
- var sizediff = newsize - oldsize;
- // INITIALISATION LIGNE RC //
- var tr1 = document.createElement('tr');
- var th0 = document.createElement('th');
- var th1 = document.createElement('th');
- var td2 = document.createElement('td');
- var td3 = document.createElement('td');
- var td4 = document.createElement('td');
- // SUPPR. LIGNE //
- th0.innerHTML = '<a href="javascript:;" onClick="supprLigne(\''+pageid+'_'+revid+'\');" style="color:red">X</a>';
- // ARTICLE //
- var arti = "", artiStyle = "";
- var preArti = "", postArti = "";
- var diff = "";
- var diffClose = "";
- if (lrcAutoCloseDiff == 1)
- diffClose='supprLigne(\''+pageid+'_'+revid+'\');';
- if (state & NEW)
- diff = '<a href="javascript:;" onClick="changeLigne(\''+pageid+'_'+revid+'\');liveArticle(\''+escTitle+'\',\''+user+'\');'+diffClose+'" style="color:green">New</a>';
- else if (state & UPLOAD)
- diff = '<a href="javascript:;" onClick="changeLigne(\''+pageid+'_'+revid+'\');liveLog(\'upload\',\''+escTitle+'\');'+diffClose+'" style="color:darkslateblue">Log</a>';
- else if (state & NEWUSER)
- diff = '<a href="javascript:;" onClick="changeLigne(\''+pageid+'_'+revid+'\');liveLog(\'newusers\',\''+escTitle+'\');'+diffClose+'" style="color:lime">Log</a>';
- else if (state & BLOCK)
- diff = '<a href="javascript:;" onClick="changeLigne(\''+pageid+'_'+revid+'\');liveLog(\'block\',\''+escTitle+'\');'+diffClose+'" style="color:darkgoldenrod">Log</a>';
- else if (state & DELETE)
- diff = '<a href="javascript:;" onClick="changeLigne(\''+pageid+'_'+revid+'\');liveLog(\'delete\',\''+escTitle+'\');'+diffClose+'" style="color: saddlebrown">Log</a>';
- else if (state & MOVE)
- diff = '<a href="javascript:;" onClick="changeLigne(\''+pageid+'_'+revid+'\');liveLog(\'move\',\''+escTitle+'\');'+diffClose+'" style="color:black">Log</a>';
- else if (state & PROTECT)
- diff = '<a href="javascript:;" onClick="changeLigne(\''+pageid+'_'+revid+'\');liveLog(\'protect\',\''+escTitle+'\');'+diffClose+'" style="color: darkslategray">Log</a>';
- else { // simple edit
- diff = '<a href="javascript:;" onClick="changeLigne(\''+pageid+'_'+revid+'\');liveDiff(\''+escTitle+'\','+revid+','+oldid+');'+diffClose+'" style="color:orange">Diff</a>';
- diff += '<sup><a href="' + wgServer + wgScriptPath + '/index.php?title='+encodeURI(escTitle)+'&diff='+revid+'&oldid='+oldid+'" target="_new">+</a></sup>';
- }
-
- var hist = '';
- var edit = '';
- var admin = '';
- // Don't show link for log rows
- if (!(state & UPLOAD) &&
- !(state & NEWUSER) &&
- !(state & BLOCK) &&
- !(state & DELETE) &&
- !(state & PROTECT) &&
- !(state & MOVE))
- {
- hist = '<a href="javascript:;" onClick="liveHist(\''+escTitle+'\');" style="color:darkorange">C</a>';
- edit = '<a href="' + wgServer + wgScriptPath + '/index.php?title='+encodeURI(escTitle)+'&action=edit" target="_new" style="color:tomato">M</a>';
- if (lrcAdmin == true) {
- admin = ' • <a href="' + wgServer + wgScriptPath + '/index.php?title='+encodeURI(escTitle)+'&action=delete" target="_new" style="color:orangered">S</a>';
-
- admin += ' • <a href="' + wgServer + wgScriptPath + '/index.php?title='+encodeURI(escTitle)+'&action=protect" target="_new" style="color: coral">P</a>';
- }
- }
- // Disambig / Homonymie ? ;
- ///////////////////////////
- if (ns == 0 && state & HOMONYMIE) {
- artiStyle = 'color: darkorange; font-weight: bold; font-style: italic;';
- preArti += '<img src="http://upload.wikimedia.org/wikipedia/commons/thumb/7/72/Disambig.svg/16px-Disambig.svg.png" width="16px" alt="Homonymie" /> '
- }
- // Page protégée ? ;
- ////////////////////
- if (state & FULLLOCK)
- preArti += '<img src="http://upload.wikimedia.org/wikipedia/commons/thumb/4/48/Padlock-red.svg/16px-Padlock-red.svg.png" width="16px" alt="Article protégé"/> ';
- if (state & LOCK)
- preArti += '<img src="http://upload.wikimedia.org/wikipedia/commons/thumb/e/e0/Padlock-gold.svg/16px-Padlock-gold.svg.png" width="16px" alt="Article semi-protégé"/> ';
- // Copyright ? ;
- //////////
- if (state & COPYRIGHT)
- preArti += '<img src="http://upload.wikimedia.org/wikipedia/commons/thumb/b/b0/Copyright.svg/16px-Copyright.svg.png" width="16px" alt="Copyright" /> ';
- // PaS ? ;
- //////////////////
- if (state & PAS)
- preArti += '<img src="http://upload.wikimedia.org/wikipedia/commons/thumb/b/b6/Cestino_pieno_architetto_01.svg/11px-Cestino_pieno_architetto_01.svg.png" height="11px" alt="PaS" /> ';
- // Intervention wikipompiers ? ;
- ////////////////////////////////
- if (state & FIRE)
- preArti += '<img src="http://upload.wikimedia.org/wikipedia/commons/thumb/9/99/FireIcon.svg/12px-FireIcon.svg.png" height="12px" alt="Intervention Wikipompiers" /> ';
- // Adq ? ;
- //////////
- if (state & ADQ)
- postArti += '<sup><img src="http://upload.wikimedia.org/wikipedia/commons/thumb/c/c7/Fairytale_bookmark_gold.png/10px-Fairytale_bookmark_gold.png" width="10px" alt="Adq" /></sup>';
- // Bon article ? ;
- //////////////////
- if (state & BA)
- postArti += '<sup><img src="http://upload.wikimedia.org/wikipedia/commons/thumb/8/8a/Fairytale_bookmark_silver_light.png/10px-Fairytale_bookmark_silver_light.png" width="10px" alt="Bon article" /></sup>';
- // Article potentiellement de qualité ? ;
- /////////////////////////////////////////
- if (state & APDQ)
- postArti += '<sup><img src="http://upload.wikimedia.org/wikipedia/commons/thumb/9/9a/Fairytale_bookmark_light.png/10px-Fairytale_bookmark_light.png" width="10px" alt="Article potentiellement de qualité" /></sup>';
- // Article catégorisé ? ;
- /////////////////////////
- var isCategorized = "";
- if (!(state & REDIRECT)
- && !(state & HOMONYMIE)
- && ns == 0
- && !(state & CATEGORIZED))
- postArti += '<sup style="color:crimson">(cat ?)</sup>';
- // Redirect, Log, or simple edit ? ;
- //////////////////
- if (state & MOVE) {
- // artiStyle = 'color: magenta; font-weight: bold; font-style: italic;';
- postArti += ' <img src="http://upload.wikimedia.org/wikipedia/commons/thumb/0/0e/Forward.png/16px-Forward.png" width="16px" alt="Renommage" />';
- postArti += ' <a href="javascript:;" onClick="liveArticle(\''+rc.new_title+'\',\''+user+'\');">'+rc.new_title+'</a>';
- arti = '<a style="'+artiStyle+'" href="javascript:;" onClick="liveArticle(\''+escTitle+'\',\''+user+'\');">'+title+'</a>';
- }
- else if (state & REDIRECT) {
- artiStyle = 'color: green; font-weight: bold; font-style: italic;';
- postArti += ' <img src="http://upload.wikimedia.org/wikipedia/commons/thumb/b/b5/Redirectltr.png/20px-Redirectltr.png" width="20px" alt="Redirect" />';
- postArti += ' <a href="javascript:;" onClick="liveArticle(\''+rc.redirect+'\',\''+user+'\');">'+rc.redirect+'</a>';
- arti = '<a style="'+artiStyle+'" href="javascript:;" onClick="liveArticle(\''+escTitle+'\',\''+user+'\');">'+title+'</a>';
- }
- else if (state & UPLOAD) {
- postArti += ' <img src="http://upload.wikimedia.org/wikipedia/commons/thumb/4/47/Gartoon-Gnome-dev-floppy.png/16px-Gartoon-Gnome-dev-floppy.png" width="16px" alt="Upload" />';
- arti = '<a style="'+artiStyle+'" href="javascript:;" onClick="liveArticle(\''+escTitle+'\',\''+user+'\');" onDblClick="window.open(\''+wgServer+'/wiki/'+encodeURI(title)+'\');">'+title+'</a>';
- }
- else if (state & NEWUSER) {
- postArti += ' <img src="http://upload.wikimedia.org/wikipedia/commons/thumb/c/c1/Crystal_personal.png/16px-Crystal_personal.png" width="16px" alt="Nouvel utilisateur" />';
- arti = '<a style="'+artiStyle+'" href="javascript:;" onClick="liveArticle(\''+escTitle+'\',\''+user+'\');" onDblClick="window.open(\''+wgServer+'/wiki/'+encodeURI(title)+'\');">'+title+'</a>';
- }
- else if (state & BLOCK) {
- // artiStyle = 'color: magenta; font-weight: bold; font-style: italic;';
- postArti += ' <img src="http://upload.wikimedia.org/wikipedia/commons/thumb/6/64/Crystal_Clear_action_lock3.png/16px-Crystal_Clear_action_lock3.png" width="16px" alt="Blocage" />';
- postArti += ' <a href="javascript:;" onClick="liveLog("block",\''+rc.title+'\');">('+rc.duration+')</a>';
- arti = '<a style="'+artiStyle+'" href="javascript:;" onClick="liveArticle(\''+escTitle+'\',\''+user+'\');">'+title+'</a>';
- }
- else if (state & DELETE) {
- postArti += ' <img src="http://upload.wikimedia.org/wikipedia/commons/thumb/e/ef/Editcut.png/16px-Editcut.png" width="16px" alt="Suppression" />';
- arti = '<a style="'+artiStyle+'" href="javascript:;" onClick="liveArticle(\''+escTitle+'\',\''+user+'\');" onDblClick="window.open(\''+wgServer+'/wiki/'+encodeURI(title)+'\');">'+title+'</a>';
- }
- else if (state & PROTECT) {
- postArti += ' <img src="http://upload.wikimedia.org/wikipedia/commons/thumb/7/72/Crystal_Clear_app_agent.png/16px-Crystal_Clear_app_agent.png" width="16px" alt="Protection" />';
- arti = '<a style="'+artiStyle+'" href="javascript:;" onClick="liveArticle(\''+escTitle+'\',\''+user+'\');" onDblClick="window.open(\''+wgServer+'/wiki/'+encodeURI(title)+'\');">'+title+'</a>';
- }
- else {
- arti = '<a style="'+artiStyle+'" href="javascript:;" onClick="liveArticle(\''+escTitle+'\',\''+user+'\');" onDblClick="window.open(\''+wgServer+'/wiki/'+encodeURI(title)+'\');">'+title+'</a>';
- }
- th1.innerHTML = '<small>' + tsToHhMm(timestamp) + ' • ' + diff + ' • ' + hist + ' • ' + edit + admin + ' • </small>'
- + preArti + arti + postArti;
- th1.className="creator-title";
- th1.style.textAlign="left";
- th1.style.border="1px";
- th1.style.width="40%";
- // EDITOR //
- ////////////
- var discut = '<a href="'+wgServer+'/wiki/User talk:'+encodeURIComponent(user)+'" style="color:seagreen" target="_new">T</a>';
- var contrib = '<a href="javascript:;" onClick="liveContrib(\''+escUser+'\');" style="color:#43CD80">C</a>';
- var editor = "", preEditor = "";
- // Bot ? ;
- //////////
- if (state & BOT)
- preEditor += '<img src="http://upload.wikimedia.org/wikipedia/commons/thumb/2/2a/Nuvola_apps_kservices.png/16px-Nuvola_apps_kservices.png" width="16px" /> ';
- // Sysop ? ;
- ////////////
- if (state & SYSOP)
- preEditor += '<img src="http://upload.wikimedia.org/wikipedia/commons/thumb/2/2c/Broom_icon.svg/16px-Broom_icon.svg.png" width="16px" /> ';
- // Reverted ? ;
- /////////////////
- if (state & REVERT)
- preEditor += '<img src="http://upload.wikimedia.org/wikipedia/commons/thumb/2/2c/Nuvola_actions_undo.png/16px-Nuvola_actions_undo.png" width="16px" /> ';
- // TOR potentiel / AOL
- var isTOR = regex.compile(/172\.\d+\.\d+\.\d+/);
- if (isTOR.test(user))
- 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:'+encodeURIComponent(user)+'" target="_new">'+user+'</a>';
- var uadmin = '';
- if (lrcAdmin == true) {
- uadmin = ' • <a href="'+wgServer+'/wiki/Special:Blockip/'+encodeURI(user)+'" target="_new" style="color:seagreen">B</a>';
- }
-
- var uhide = '<a href="javascript:;" onClick="supprLigne(\''+pageid+'_'+revid+'\'); hideUser(\''+ user +'\');" style="color:grey">H</a>'
-
- td2.innerHTML = '<small>' + discut + ' • ' + contrib + ' • ' + uhide + uadmin + ' • </small>'
- + preEditor + editor;
- td2.className="creator-name";
- td2.style.border = "1px";
- td2.style.width = "20%";
- if (lstRevoc[user]) {
- td2.style.border = "2px solid red";
- td2.innerHTML += '<sup style="color:red">(' + lstRevoc[user].nb + ' révoc)</sup>'
- }
- // COMMENT //
- // Remplace lien [[xxx]] par <a> ;
- var wcomment = comment.htmlize();
- regex.compile(/\[\[(([^\]\|]*)(.*?))\]\]/g);
- wcomment = wcomment.replace(regex, "<a href='"+wgServer+wgScriptPath+"/index.php?title=$2&redirect=no' target='_new'>$1</a>");
- regex.compile(/\>[^\]\|<]*\|([^\]\|<]*)</g);
- wcomment = wcomment.replace(regex, ">$1<");
- td3.innerHTML = "<small>" + wcomment + "</small>";
- td3.style.border = "1px";
- td3.style.width = "40%";
- if (state & UPLOAD) {
- th0.style.backgroundColor = "#D1CAFA";
- th1.style.backgroundColor = "#D1CAFA";
- td2.style.backgroundColor = "#D1CAFA";
- td3.style.backgroundColor = "#D1CAFA";
- td4.style.backgroundColor = "#D1CAFA";
- tr1.style.border = "1px solid darkslateblue";
- }
-
- if (state & NEWUSER) {
- th0.style.backgroundColor = "#C6FF6D";
- th1.style.backgroundColor = "#C6FF6D";
- td2.style.backgroundColor = "#C6FF6D";
- td3.style.backgroundColor = "#C6FF6D";
- td4.style.backgroundColor = "#C6FF6D";
- tr1.style.border = "1px solid lime";
- }
-
- if (state & BLOCK) {
- th0.style.backgroundColor = "#EECC84";
- th1.style.backgroundColor = "#EECC84";
- td2.style.backgroundColor = "#EECC84";
- td3.style.backgroundColor = "#EECC84";
- td4.style.backgroundColor = "#EECC84";
- tr1.style.border = "1px solid darkgoldenrod";
- }
-
- if (state & DELETE) {
- th0.style.backgroundColor = "#E7CAA7";
- th1.style.backgroundColor = "#E7CAA7";
- td2.style.backgroundColor = "#E7CAA7";
- td3.style.backgroundColor = "#E7CAA7";
- td4.style.backgroundColor = "#E7CAA7";
- tr1.style.border = "1px solid saddlebrown";
- }
-
- if (state & MOVE) {
- th0.style.backgroundColor = "#FDC5FF";
- th1.style.backgroundColor = "#FDC5FF";
- td2.style.backgroundColor = "#FDC5FF";
- td3.style.backgroundColor = "#FDC5FF";
- td4.style.backgroundColor = "#FDC5FF";
- tr1.style.border = "1px solid magenta";
- }
-
- if (state & PROTECT) {
- th0.style.backgroundColor = "#B2BCC6";
- th1.style.backgroundColor = "#B2BCC6";
- td2.style.backgroundColor = "#B2BCC6";
- td3.style.backgroundColor = "#B2BCC6";
- td4.style.backgroundColor = "#B2BCC6";
- tr1.style.border = "1px solid darkslategray";
- }
- if (state & REVERT) {
- th0.style.backgroundColor = "#FFE4E1";
- th1.style.backgroundColor = "#FFE4E1";
- td2.style.backgroundColor = "#FFE4E1";
- td3.style.backgroundColor = "#FFE4E1";
- td4.style.backgroundColor = "#FFE4E1";
- tr1.style.border = "1px solid crimson";
- }
- if (state & BLANKING || newsize == 0) {
- th0.style.backgroundColor = "white";
- th1.style.backgroundColor = "white";
- td2.style.backgroundColor = "white";
- td3.style.backgroundColor = "white";
- td4.style.backgroundColor = "white";
- tr1.style.border = "2px double crimson";
- }
- if (state & NEW) {
- th0.style.backgroundColor = "#e2f2d2";
- th1.style.backgroundColor = "#e2f2d2";
- td2.style.backgroundColor = "#e2f2d2";
- td3.style.backgroundColor = "#e2f2d2";
- td4.style.backgroundColor = "#e2f2d2";
- tr1.style.border = "1px solid green";
- }
- if (state & IP) {
- td2.style.backgroundColor = "white";
- td3.style.backgroundColor = "white";
- td4.style.backgroundColor = "white";
- }
- if (isTOR.test(user))
- td2.style.backgroundColor = "pink";
- if (state & REPLACED) {
- th0.style.backgroundColor = "pink";
- th1.style.backgroundColor = "pink";
- td2.style.backgroundColor = "pink";
- td3.style.backgroundColor = "pink";
- td4.style.backgroundColor = "pink";
- td4.innerHTML = '<img src="http://upload.wikimedia.org/wikipedia/commons/thumb/9/95/Categorie_III.svg/10px-Categorie_III.svg.png" width="10px" alt="Warning"/>';
- tr1.style.border = "2px solid crimson";
- }
- // CONTACT LIST //
- //////////////////
- if (lstContact[user]) {
- td2.style.border = "2px solid gold";
- td2.style.backgroundColor = "yellow";
- }
- if (user == wgUserName) {
- td2.style.border = "2px solid #A0B0E0";
- td2.style.backgroundColor = "#F0F8FF";
- }
- // DELTA SIZE //
- // delta de modif ;
- ///////////////////
- var txtdiff = "";
- if (sizediff < 0)
- txtdiff = '<sub style="color:red">'+sizediff+'</sub>';
- else if (sizediff == 0)
- txtdiff = '<small style="color:purple">='+sizediff+'</small>';
- else
- txtdiff = '<sup style="color:blue">+'+sizediff+'</sup>';
- td4.innerHTML += txtdiff;
- td4.style.border = "1px";
- td4.style.textAlign = "right";
- // ASSEMBLAGE LIGNE //
- tr1.appendChild(th0);
- tr1.appendChild(th1);
- tr1.appendChild(td2);
- tr1.appendChild(td3);
- tr1.appendChild(td4);
- tr1.id = pageid+"_"+revid;
- var tab = document.getElementById( 'tabRC' );
- var elold = document.getElementById(pageid+"_"+oldid);
- if (tab.firstChild != null)
- tab.insertBefore(tr1, tab.firstChild);
- else
- tab.appendChild(tr1);
- if (elold == null) {
- if (tab.childNodes.length > lrcRCLimit) {
- var idt = tab.lastChild.id;
- supprLigne(idt);
- }
- } else {
- supprLigne(pageid+"_"+oldid);
- }
-
- // Don't show RC if checkbox is not checked
- if ((!document.getElementById('showRC').checked) &&
- (!(state & UPLOAD) &&
- !(state & NEWUSER) &&
- !(state & BLOCK) &&
- !(state & DELETE) &&
- !(state & PROTECT) &&
- !(state & MOVE)))
- supprLigne(pageid+"_"+revid);
-
- // Don't show Log if checkbox is not checked
- if ((!document.getElementById('showLog').checked) &&
- ((state & UPLOAD) ||
- (state & NEWUSER) ||
- (state & BLOCK) ||
- (state & DELETE) ||
- (state & PROTECT) ||
- (state & MOVE)))
- supprLigne(pageid+"_"+revid);
- // MISE A JOUR LISTES //
- var spos = lstSuivi.indexOf(title);
- if(spos != -1) {
- th0.style.border = "2px solid gold";
- th0.style.backgroundColor = "yellow";
- th1.style.border = "2px solid gold";
- th1.style.backgroundColor = "yellow";
- lstSuiviHH[spos] = tsToHhMm(timestamp);
- var tempsAr = new Array();
- var len = lstSuivi.length;
- for (var n = 0; n < len; n++) {
- if(lstSuiviHH[n] == "--:--") continue;
- var cstilde = lstSuivi[n].replace(new RegExp(/\'/g), "\\'");
- var sdiff = '<a href="javascript:;" onClick="liveDiff(\''+cstilde+'\','+revid+','+oldid+');" style="color:orange">Diff</a>';
- var shist = '<a href="javascript:;" onClick="liveHist(\''+cstilde+'\');" style="color:darkorange">H</a>';
- var sarti = '<a href="javascript:;" onClick="liveArticle(\''+cstilde+'\');">'+lstSuivi[n]+'</a>';
- var ligne='<small>' + lstSuiviHH[n] + ' • ' + sdiff + ' • ' + shist + ' • </small>' + sarti +'<br />';
- tempsAr.push(ligne);
- }
- tempsAr.sort();
- len = tempsAr.length;
- var lvSuivi = document.getElementById( 'liveSuivi' );
- lvSuivi.innerHTML = "";
- for (var n=len-1; n >= 0; n--)
- lvSuivi.innerHTML = lvSuivi.innerHTML + tempsAr[n];
- }
- if (lstContact[user]) {
- lstContact[user].ts = timestamp;
- updateFollowContact();
- }
- if (state & REVERT) {
- regex.compile(/\[\[Special:Contributions\/([^\]\|]+)/);
- match = regex.exec(comment);
- if (!match) {
- regex.compile(/\[\[Specjalna:Wk?ad\/([^\]\|]+)/);
- match = regex.exec(comment);
- }
-
- if (match) {
- var userR = match[1];
- if (userR != user && userR != wgUserName) {
- if (!lstRevoc[userR]) lstRevoc[userR] = { ts: 0, nb: 0 };
- lstRevoc[userR].ts = timestamp;
- lstRevoc[userR].nb += 1;
- updateFollowRevoc();
- }
- }
- }
- }
- function getRedirCat(xmlreq, data) {
- if (document.getElementById('stopLive').checked) return;
- var yurik = xmlreq.responseXML.getEle…
Large files files are truncated, but you can click here to view the full file