Utilisateur:Sapindnoel/Gadget-webChat.js

Note : après avoir enregistré la page, vous devrez forcer le rechargement complet du cache de votre navigateur pour voir les changements.

Mozilla / Firefox / Konqueror / Safari : maintenez la touche Majuscule (Shift) en cliquant sur le bouton Actualiser (Reload) ou pressez Maj-Ctrl-R (Cmd-R sur Apple Mac) ;

Chrome / Internet Explorer / Opera : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5.
/*
 * Gadget "WebChat en iframe"
 * Ajoute un webchat irc sur une page.
 * Licence : Domaine publique
 * Inspiré du gadget de Romainhk
 */
function webChat(src_iframe, id_emplacement) {
    var ifr = document.createElement('iframe');
    ifr.src = src_iframe;
 
    var bc = document.getElementById(id_emplacement);
    if (bc.hasChildNodes()) {
        return null;
    }
    bc.appendChild(ifr);
    return ifr;
}
 
// Ajax qui va récupérer le nombre de connectés calculé par le bot IRC
function recup_connectes(cible) {
    var R = new XMLHttpRequest();
    R.onreadystatechange = function() {
        if( !(R.readyState == 4) ) return; 
        //alert('ok:'+R.responseText);
        cible.innerHTML = R.responseText.substring(0,1);
    }
    R.open("GET", "http://toolserver.org/~romainhk/chan_adl", true);
    R.send(null);
}
 
if (mw.config.get('wgPageName').match(/Wikipédia:Atelier_de_lecture\/IRC/)) {
    var ifr = webChat(
            "http://webchat.freenode.net?nick="
            +mw.config.get('wgUserName').replace(/ /,"_")
            +"&channels=ADL&uio=Mj10cnVlJjQ9dHJ1ZSY5PXRydWUmMTE9MzEb0", 
            "webchat");
    if (ifr) {
        ifr.style.width = '95%';
        ifr.style.height = '300px';
        ifr.style.marginBottom = '1ex';
        ifr.style.marginRight = '1em';
    }
    // Nombre de connectés 
    var div = document.createElement('div');
    div.setAttribute("style", 'float:left;');
    div.style.width = '1em';
    div.style.height = '300px';
    recup_connectes(div);
    ifr.parentNode.appendChild(div);
}
if (mw.config.get('wgPageName').match(/Utilisateur:Sapindnoel\/Bac_à_sable_5/)) {
    var ifr = webChat(
            "http://webchat.freenode.net?nick="
            +mw.config.get('wgUserName').replace(/ /,"_")
            +"&channels=wikimag&uio=Mj10cnVlJjQ9dHJ1ZSY5PXRydWUmMTE9MzEb0", 
            "webchat");
    if (ifr) {
        ifr.style.width = '95%';
        ifr.style.height = '300px';
        ifr.style.marginBottom = '1ex';
        ifr.style.marginRight = '1em';
    }
    // Nombre de connectés 
    var div = document.createElement('div');
    div.setAttribute("style", 'float:left;');
    div.style.width = '1em';
    div.style.height = '300px';
    recup_connectes(div);
    ifr.parentNode.appendChild(div);
}