Utilisateur:Stef48/message.js
De Wikipedia, l'encyclopédie encyclopedia
// 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>');
// 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()); }
}
//---------------------------------------------------------------------------------------------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 *****************/