Utilisateur:Chphe/YouGotAReply.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./**
* Présentation : [[Discussion Projet:JavaScript/2008-2009#Guilde]]
* Auteur : Chphe
* {{Catégorisation JS|YouGotAReply}}
*/
function YGAR_youGotAReply()
// <nowiki> nowiki pour empêcher MediaWiki d'interpréter les caractères spéciaux
{
var list_h2 = document.getElementById('bodyContent').getElementsByTagName('h2');
for(var i=0; i<list_h2.length; i++)
{
if(mw.config.get('wgPageName') == "Wikipédia:Guilde_des_Guides")
{
var cur = list_h2[i].lastChild;
if (!cur || cur.className != 'editsection' || cur.childNodes.length<2) continue;
cur = cur.childNodes[1];
if(cur.nodeName != "A" || !cur.title) continue;
var tab = /title=([^&]+)&/.exec(cur.href);
if(!tab || tab.length != 2) continue;
var sectionGdG = tab[1]+"#";
}
else
{
var sectionGdG = mw.config.get('wgPageName')+"#";
}
var cur = list_h2[i].firstChild
if(!cur) continue;
cur = cur.nextSibling;
if(!cur || cur.nodeName != "SPAN") continue;
sectionGdG += cur.id;
cur = list_h2[i].nextSibling.nextSibling.nextSibling.nextSibling.firstChild;
if(cur.innerHTML != "Demandeur") continue;
cur = cur.nextSibling;
if(!cur) continue;
cur = cur.nextSibling;
if(cur && cur.nodeName=="A" && cur.title)
{
var link_talk = document.createElement("a");
var tmp = cur.title.replace(/ \(page inexistante\)$/, "");
tab = /^(Spécial:Contributions\/|Utilisateur:)(.+)$/.exec(tmp);
if(!tab || tab.length != 3) continue;
var link_ref = mw.config.get('wgScript')+'?title=Discussion_utilisateur:'+encodeURIComponent(tab[2])+
'&action=edit§ion=new§ionGdG='+encodeURIComponent(sectionGdG);
link_talk.href = link_ref;
function f_tmp(x) { return function(){ window.open(x);return false;}; }
link_talk.onclick = f_tmp(link_ref)
link_talk.innerHTML = "<small>(Avertir d'une réponse)</small>";
cur.parentNode.appendChild(document.createTextNode(" "));
cur.parentNode.appendChild(link_talk);
}
}
}
function YGAR_message(sectionGdG)
{
document.getElementById('wpSummary').value = 'Question posée à la [[Wikipédia:Guilde des Guides|Guilde des Guides]]';
document.getElementById('wpTextbox1').value = "Bonjour,<br/>\nUn utilisateur a répondu à votre question : [["+sectionGdG+"]].<br/>\nCordialement, ~~~~";
}
if(mw.config.get('wgPageName').match("Wikipédia:Guilde_des_Guides") && mw.config.get('wgAction')=="view") addOnloadHook(YGAR_youGotAReply);
else if(mw.config.get('wgNamespaceNumber')==3 && mw.config.get('wgAction')=="edit")
{
var tab = /sectionGdG=(.+)$/.exec(location.href);
if(tab && tab.length == 2) addOnloadHook(function() { YGAR_message(decodeURIComponent(tab[1])); } )
}
// </nowiki>