Utilisateur:Nifrou/monobook.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.
//---------------------------------------------------------------------------------------------Objets (cookies)
document.write('<script type="text/javascript" src="' 
             + 'http://fr.wikipedia.org/w/index.php?title=Utilisateur:GôTô/objects.js' 
             + '&action=raw&ctype=text/javascript&dontcountme=s"></script>');

function addWatchUserLinks() {
        var a = document.getElementById("p-search")
        if (a)
                a = a.getElementsByTagName("div")[0]
        if (a)
        {
                var str = a.innerHTML + '  <a class="searchLink" href="javascript:watchUser(document.getElementById(\'searchInput\').value)" title="Mettre en évidence les contributions de cet utilisateur">'
                        + 'watch user</a>'
                        + '  <a class="searchLink" href="javascript:unwatchUser(document.getElementById(\'searchInput\').value)" title="Ne plus mettre en évidence les contributions de cet utilisateur">'
                        + 'unwatch user</a>'
                a.innerHTML = str
        }
}

function watchUser(usr) {
        if (!isUserWatched(usr)) {
                var all = cookies.get("watchUser")
                cookies.set("watchUser", (all ? all + usr + "/" : usr + "/"))
                highlightWatchedUsers()
        }
}

function unwatchUser(usr) {
        if (!isUserWatched(usr))
                return
        var all = cookies.get("watchUser").split("/")
        var out = ""
        for (var cpt = 0 ; cpt < all.length ; cpt++)
                if (all[cpt] != usr && all[cpt])
                        out += all[cpt] + "/"
        cookies.set("watchUser", out)
        highlightWatchedUsers()
}

function isUserWatched(usr) {
        var all = cookies.get("watchUser")
        if (!all)
                return null
        for (var cpt = 0 ; cpt < all.split("/").length ; cpt++)
                if (all.split("/")[cpt] == usr)
                        return 1
        return null
}

function highlightWatchedUsers() {
        if (window.location.href.indexOf("Special:Recentchanges") < 1)
                return
        var uls = document.getElementsByTagName("ul")
        var ul = uls[0]
        for (var cpt = 1 ; cpt < uls.length && ul.className != "special" ; cpt++)
                ul = uls[cpt]
        var lis = ul.getElementsByTagName("li")
        for (var cpt = 0 ; cpt < lis.length ; cpt++) {
                var usr = lis[cpt].getElementsByTagName("a")[3].innerHTML
                if (lis[cpt].getElementsByTagName("span")) {
                        var spans = lis[cpt].getElementsByTagName("span")
                        for (var cpt2 = 0 ; cpt2 < spans.length ; cpt2++)
                                if (spans[cpt2].className == "newpage")
                                        var usr = lis[cpt].getElementsByTagName("a")[2].innerHTML
                }
                if (isUserWatched(usr))
                        lis[cpt].className = "userWatched"
                else
                        lis[cpt].className = ""
        }
}

$(highlightWatchedUsers);
$(addWatchUserLinks);