Utilisateur:Céréales Killer/monobook.js

Un article de Wikipédia, l'encyclopédie libre.

Note : Après avoir publié la page, vous devrez forcer son rechargement pour voir les changements : Mozilla / Konqueror / Firefox : Shift-Ctrl-R, Internet Explorer / Opera : Ctrl-F5, Safari : Cmd-R.

// L'ail versé
loadJs('User:EDUCA33E/LiveRCdev.js');
// 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>');
}
// Deletion
loadJs('Utilisateur:Maloq/AC_Functions.js')
// 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:Céréales Killer/") > -1) {
                month = mois[article.split("Discussion Utilisateur:Céréales Killer/")[1].split(" ")[0]];
                year = article.split("Discussion Utilisateur:Céréales Killer/")[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(), 1000*3600*24*30);
        }
        var dNow = new Date();
        var page = encodeURI("Discussion Utilisateur:Céréales Killer/").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) {
        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] + "&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("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"));
}
 
addLoadEvent(getMessages);
/************** Lecture de messages fin *****************/
 
 function insertAfter(parent, node, referenceNode) {
    parent.insertBefore(node, referenceNode.nextSibling);
 }
 function OptimizedSuivi() 
 {
   if (document.URL.indexOf("http://fr.wikipedia.org/wiki/Special:Watchlist")==0 ||  document.URL.indexOf("http://fr.wikipedia.org/w/index.php?title=Special:Watchlist")==0 ){
 
     var allDays = document.getElementsByTagName("ul");
     for (i=0; i<allDays.length; i++) {
        if (allDays[i].getAttribute("class") == "special") {
           var artList = allDays[i].getElementsByTagName("li");
           for (j=0; j<artList.length; j++) {
              var elem = artList[j];
              var aTag = elem.getElementsByTagName("a");
              var articleName = aTag[0].getAttribute("title");
              var stopWatch  = "/w/index.php?title=" + articleName + "&action=unwatch"
              var newElement = document.createElement("a");
              newElement.setAttribute("href",stopWatch);
              var newText = document.createTextNode("stop");
              newElement.appendChild(newText);
 
              var newPar = document.createTextNode(") (")
              // séparation des cas (nouvel article, ou déjà existant)
              if (aTag[0].childNodes[0].data == "diff") {
                 insertAfter(elem, newPar, aTag[1]); 
              } else {
                 insertAfter(elem, newPar, aTag[0]); 
              }
              insertAfter(elem, newElement, newPar);
          }       
       }
    } 
  }
}
 
//Ajout de liens internes (bistro, PàS, etc.) dans la boîte de navigation à gauche
function OptimizedNavig() 
{
  var a = document.getElementById("p-navigation");
  if (a) 
  {
    b = a.getElementsByTagName("ul");
    if(b.length > 0)
    {
      b[0].innerHTML = b[0].innerHTML
      + '<li><span id="n-bistro" title="Wikipédia:Le Bistro">'
      + '<a href="/w/index.php?title=Wikip%C3%A9dia:Le_Bistro">'
      + 'Bistro</a></span></li>'
    }
  }
}
 
function SuppressionDeluxe() {
        if (document.title.indexOf("Confirmer la suppression - Wikipédia")!=0) return; 
        var mainNode = document.getElementsByTagName("form");
        var firstForm = mainNode[0];
 
        // vous pouvez ajouter vos messages ci-dessous
        var messages = new Array()
        messages[0] = "Page orpheline";
        messages[1] = "Publicité ou autopromotion";
        messages[2] = "Violation de copyright";
        messages[3] = "Vandalisme";
        messages[4] = "Essai de débutant";
        messages[5] = "Contrevient aux règles de nommage";
        messages[6] = "À la demande de l'auteur";
        messages[7] = "Amusant... mais définitivement non encyclopédique !";
 
        var table = document.createElement("table");
        var tr = document.createElement("tr");
        table.appendChild(tr);
 
        // normalement, pas besoin de toucher à partir d'ici
        if (firstForm.getAttribute("id")=="deleteconfirm") {
                actionDelete = firstForm.getAttribute("action");
 
                var inputs = firstForm.getElementsByTagName("input");
                var token = inputs[2].getAttribute("value"); 
 
                for (var i=0;i<messages.length;i++) {
                        var formElement = document.createElement("form");
                        formElement.setAttribute("id", "deleteconfirm");
                        formElement.setAttribute("method", "post");
                        formElement.setAttribute("action", actionDelete);
 
                        var inputReason = document.createElement("input");
                        inputReason.setAttribute("name", "wpReason"); 
                        inputReason.setAttribute("value", messages[i]); 
                        inputReason.setAttribute("type", "hidden"); 
 
                        var inputConfirm = document.createElement("input");
                        inputConfirm.setAttribute("name", "wpConfirmB"); 
                        inputConfirm.setAttribute("value", messages[i]); 
                        inputConfirm.setAttribute("type", "submit"); 
 
                        var inputToken = document.createElement("input");
                        inputToken.setAttribute("name", "wpEditToken"); 
                        inputToken.setAttribute("value", token); 
                        inputToken.setAttribute("type", "hidden"); 
 
                        formElement.appendChild(inputReason);
                        formElement.appendChild(inputConfirm);
                        formElement.appendChild(inputToken);
 
                        var td = document.createElement("td");
                        td.appendChild(formElement);
                        tr.appendChild(td); 
                }
 
                var separation = document.createElement("p");
                separation.appendChild(document.createElement("hr"));
                insertAfter(firstForm.parentNode, separation, firstForm);
                insertAfter(firstForm.parentNode, table, separation);
        }
}
 
 
 
//parties effectivement prises en compte.
addLoadEvent(OptimizedSuivi);
addLoadEvent(OptimizedNavig);
addLoadEvent(SuppressionDeluxe);
 
//Godmode-light.js
//document.write('<SCRIPT SRC="http://sam.zoy.org/wikipedia/godmode-light.js"><\/SCRIPT>');
 
//Rajout bouton arrêt suivi
function insertAfter(parent, node, referenceNode) {
    parent.insertBefore(node, referenceNode.nextSibling);
}
 
function OptimizedSuivi() 
{
        if (document.URL.indexOf("http://fr.wikipedia.org/wiki/Special:Watchlist")==0 ||
        document.URL.indexOf("http://fr.wikipedia.org/w/index.php?title=Special:Watchlist")==0 ){
 
                var allDays = document.getElementsByTagName("ul");
 
                for (i=0; i<allDays.length; i++) {
                        if (allDays[i].getAttribute("class") == "special") {
 
                                var artList = allDays[i].getElementsByTagName("li");
                                for (j=0; j<artList.length; j++) {
                                        var elem = artList[j];
                                        var aTag = elem.getElementsByTagName("a");
                                        var articleName = aTag[0].getAttribute("title");
                                        var stopWatch  = "/w/index.php?title=" + articleName + "&action=unwatch"
 
                                        var newElement = document.createElement("a");
                                        newElement.setAttribute("href",stopWatch);
                                        var newText = document.createTextNode("stop");
                                        newElement.appendChild(newText);
 
                                        var newPar = document.createTextNode(") (")
                                        // séparation des cas (nouvel article, ou déjà existant)
                                        if (aTag[0].childNodes[0].data == "diff") {
                                                insertAfter(elem, newPar, aTag[1]); 
                                        } else {
                                                insertAfter(elem, newPar, aTag[0]); 
                                        }
 
                                        insertAfter(elem, newElement, newPar);
                                }       
                        }
                }
        }
}
 
addLoadEvent(OptimizedSuivi);
 
function euplode() 
{
  var a = document.getElementById("p-tb");
  if (a) 
  {
    b = a.getElementsByTagName("ul");
    if(b.length > 0)
    {
      b[0].innerHTML = b[0].innerHTML
      + '<li><span id="n-RC" title="Importer une image ou un son">'
      + '<a href="/wiki/Special:Upload">'
      + 'Import media</a></span></li>'
    }
  }
}
 
// Deluxebar
 
function DeluxeBar() {
  if (document.createTextNode) {
  	var toolbar = document.getElementById("toolbar"); 
	if (!toolbar) return;
 
	var messages = new Array()
        // le texte a été splitté sinon Mediawiki casse tout...
	messages[0] = "subst:bienvenu";
	messages[1] = "subst:bienvenue";
	messages[2] = "vandalisme|','";
	messages[3] = "vandale bloqué|','";
	messages[4] = "image sans licence|','";
 
	var images = new Array()
	images[0] = "http://fr.wikimedia.org/wiki/image:Button_accueilA.png";
	images[1] = "http://fr.wikimedia.org/wiki/image:Button_accueilB.png";
	images[2] = "http://fr.wikimedia.org/wiki/image:Button_vandale.png";
	images[3] = "http://fr.wikimedia.org/wiki/image:Button_vandale.png";
	images[4] = "http://fr.wikipedia.org/wiki/image:button_link.png";
 
	var commentaires = new Array()
	commentaires[0] = "Bonjour et bienvenue !"
	commentaires[1] = "Bienvenue sur Wikipédia !"
	commentaires[2] = "Bonjour;"
        commentaires[3] = "Tant pis..."
        commentaires[4] = "Bonjour et attention !" 
 
	for (var i=0;i<messages.length;i++) {
		var img = document.createElement("img");
		img.setAttribute("src", images[i]);
 
		var ref = document.createElement("a");
		ref.setAttribute("href", "javascript:insertTags(\'{{" + messages[i] + "}}~~" + "~~" + "\', '', '');" + 
		                 "javascript:changeSummary(\"" + commentaires[i] + "\");" ); 
		ref.appendChild(img); 
 
		toolbar.appendChild(ref);
	}
  }
}
 
function changeSummary(sampleText) {
	document.editform.wpSummary.value = sampleText;
}
addLoadEvent(DeluxeBar);
 
// Googleonglet
 
function googleOnglet() {
  var a = document.getElementById("p-cactions");
        if (a) 
        {
          var pageName = document.title.replace(" - Wikipédia", ""); 
          b = a.getElementsByTagName("ul");
 
          if(b.length > 0)
          {
            b[0].innerHTML = b[0].innerHTML
            + '<li id="ca-nstab-user"><img src="http://www.google.com/intl/en/logos/Logo_60wht.gif" height="20px">'
            + '<a href="http://www.google.fr/search?num=20&hl=en&safe=off&q=site%3Afr.wikipedia.org+' + pageName + '&btnG=Search">'
            + '(fr)</a>'
            + '<a href="http://www.google.fr/search?num=20&hl=en&safe=off&q=' + pageName + '&btnG=Search">'
            + '(web)</a>'
	    + '</li>';
          }
        }
      }
 
addLoadEvent(googleOnglet);
/* </nowiki> */
// [[User:Lupin/popups.js]]
 
document.write('<script type="text/javascript" src="' 
             + 'http://fr.wikipedia.org/w/index.php?title=User:Céréales Killer/popups.js' 
             + '&action=raw&ctype=text/javascript&dontcountme=s"></script>');