Aller au contenu

Utilisateur:Pic-Sou/messages.js

Une page de Wikipédia, l'encyclopédie libre.
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.
// import
function importWikiPage(page, lng) {
        langue = (lng ? lng : 'fr')
        document.write('<script type="text/javascript" src="' 
             + 'http://' + langue + '.wikipedia.org/w/index.php?title=' + page
             + '&action=raw&ctype=text/javascript&dontcountme=s"></script>');
}
 
//---------------------------------------------------------------------------------------------Sous pages perso
importWikiPage('Utilisateur:GôTô/objects.js')
importWikiPage('Utilisateur:GôTô/ufunctions.js')
 
/***************** Lecture de messages ****************/
var pagesSuivies = ['Wikipédia:Atelier graphique/Images à ameliorer/' + getGDGDate() + ''];
['Discussion Portail:Transport en commun/Votes' + getGDGDate() + ''];
['Discussion Portail:Transport en commun/' + getGDGDate() + ''];
 
function getCurrentId(page) {
        var li = document.getElementById("t-permalink");
        if (li)
                return (li.getElementsByTagName("a")[0].href.split("oldid=")[1].split("&")[0]);
}
 
function getMessages() {
        var article = getArticleName();
        for (var cpt = 0; cpt < pagesSuivies.length; cpt++) {
                if (article.indexOf(pagesSuivies[cpt]) > -1)
                        cookies.set("lastViewedMsg" + cpt, getCurrentId(), 1000*3600*24*30);
                else
                        checkPageForMessages(encodeURI(pagesSuivies[cpt].replace(/ /g, '_')) + '||' + cpt);
        }
}
 
function checkPageForMessages(page) {
        var ajaxObj = new objAJAX();
        ajaxObj.page = page;
        ajaxObj.conn.onreadystatechange = function () {
                        if (ajaxObj.conn.readyState == 4) {
                                if (ajaxObj.conn.status == 200) {
                                        var lastViewedId = (cookies.get("lastViewedMsg" + ajaxObj.page.split("||")[1]) ? cookies.get("lastViewedMsg" + ajaxObj.page.split("||")[1]) : 0);
                                        var currentId = ajaxObj.conn.responseText.split(ajaxObj.page.split("||")[0] + "&amp;oldid=")[1].split('"')[0];
                                        if (parseInt(currentId, 10) > parseInt(lastViewedId, 10))
                                                alertMessage(ajaxObj.page);
                                }
                        }
                }
        return(ajaxObj.sendRequest("/w/index.php?title=" + page.split("||")[0] + "&limit=1&action=history", "GET", true));
}
 
function alertMessage(page) {
        var div = document.getElementById("nouveauMessage");
        if (!div) {
                div = document.createElement("div");
                div.className = "usermessage";
                div.id = "nouveauMessage";
                var cont = document.getElementById("content");
                cont.insertBefore(div, document.getElementById("bodyContent"));
        }
        var txt = document.createTextNode("Une nouvelle question sur : ");
        var aDiff = document.createElement("a");
        aDiff.href = "/w/index.php?title=" + page.split("||")[0] + "&diff=cur";
        aDiff.innerHTML = "différences (" + decodeURI(page.split("||")[0]) + ")";
        div.appendChild(txt);
        div.appendChild(aDiff);
        div.appendChild(document.createElement("br"));
}
 
$(getMessages);
/************** Lecture de messages fin *****************/