Utilisateur:شادي/vector.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.
// fonction d'import de page, sur fr, en, ou autre (exemple sur en: importWikiPage('User:Lupin/popups.js', 'en'))
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>');
}
// objets Ajax et cookies pour lecture des messages
importWikiPage('Utilisateur:GôTô/objects.js')
function getArticleName()
{
       var strOut = document.title
       // case search
       if (strOut == "Rechercher - Wikipédia")
               return document.getElementById("lsearchbox").value
       // case article being modified
       strOut = strOut.replace("modification de ", "").replace(" - Modifier", "")

       strOut = strOut.replace(" - Prévisualiser", "").replace(" - Wikipédia", "")
       return strOut
}
/***************** Lecture de messages ****************/
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 mois = new Array("janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre");
        mois["janvier"] = 0; mois["février"] = 1; mois["mars"] = 2; mois["avril"] = 3; mois["mai"] = 4; mois["juin"] = 5; mois["juillet"] = 6; mois["août"] = 7; mois["septembre"] = 8; mois["octobre"] = 9; mois["novembre"] = 10; mois["décembre"] = 11;
        var article = getArticleName();
        var month = -1;
        var year = -1;
        if (article.indexOf("Discussion utilisateur:TON_PSEUDO_ICI/") > -1) {
                month = mois[article.split("Discussion utilisateur:TON_PSEUDO_ICI/")[1].split(" ")[0]];
                year = article.split("Discussion utilisateur:TON_PSEUDO_ICI/")[1].split(" ")[1];
                //first case: we are on a talk page of ours: we read and save the ''oldid'' in a cookie
                cookies.set("lastViewedMsg" + mois[month], getCurrentId(), 30*86400*1000);
        }
        var dNow = new Date();
        var page = encodeURI("Discussion utilisateur:TON_PSEUDO_ICI/").replace(/%20/g, "_") + encodeURI(mois[dNow.getMonth()]) + "_" + dNow.getFullYear() + "||" + encodeURI(mois[dNow.getMonth()]);
        //check the page of the current month
        if (month != dNow.getMonth() || year != dNow.getFullYear())
                checkPageForMessages(page);
        var prevMonth = dNow.getMonth() -1;
        var prevMonthYear = dNow.getFullYear();
        if (prevMonth == -1) {
                prevMonth = 11;
                prevMonthYear--;
                page = page.replace(dNow.getFullYear(), prevMonthYear);
        }
        page = page.replace(new RegExp(encodeURI(mois[dNow.getMonth()]), "g"), encodeURI(mois[prevMonth]));
        //check the page of the previous month
        if (month != prevMonth || year != prevMonthYear)
                checkPageForMessages(page);
}

function checkPageForMessages(page) {
		if (typeof objAJAX === 'undefined') {
			return;
		}
        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" + decodeURI(ajaxObj.page.split("||")[1])) ? cookies.get("lastViewedMsg" + decodeURI(ajaxObj.page.split("||")[1])) : 0);
                                        var currentId = ajaxObj.conn.responseText.split(ajaxObj.page.split("||")[0] + "&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("Vous avez de nouveaux messages: ");
        var aDiff = document.createElement("a");
        aDiff.href = "/w/index.php?title=" + page.split("||")[0] + "&diff=cur";
        aDiff.innerHTML = "différences (" + decodeURI(page.split("||")[1]) + ")";
        div.appendChild(txt);
        div.appendChild(aDiff);
        div.appendChild(document.createElement("br"));
}

$(getMessages);
/************** Lecture de messages fin *****************/
importScript('Utilisateur:Dr Brains/Remplace.js')