Utilisateur:Stef48/message.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. // Calcule la date pour la Guilde des Guides
function getGDGDate() {
var today = new Date();
var year = today.getFullYear();
var newYear = new Date(year, 0, 1);
var modDay = newYear.getDay();
if(modDay == 0) {
modDay = 6;
}
else {
modDay--;
}
var daynum = ((Date.UTC(year, today.getMonth(), today.getDate(), 0, 0, 0) - Date.UTC(year, 0, 1, 0, 0, 0)) /1000/60/60/24) + 1;
if(modDay < 4 ) {
var weeknum = Math.floor((daynum + modDay - 1) / 7) + 1;
}
else {
var weeknum = Math.floor((daynum + modDay - 1) / 7);
if(weeknum == 0) {
year--;
var prevNewYear = new Date(year, 0, 1);
var prevmodDay = prevNewYear.getDay();
if(prevmodDay == 0) {
prevmodDay = 6;
}
else {
prevmodDay--;
}
if(prevmodDay < 4) {
weeknum = 53;
}
else {
weeknum = 52;
}
}
}
return('semaine ' + weeknum + ' ' + today.getFullYear());
}
// Merci à user:GôTô pour le script et la rapidité
// 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:Questions techniques/' + 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] + "&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 *****************/