Utilisateur:CreatixEA/Forum/Script
Apparence
/*
*/ function addToLoad(func) { addEvent(window, 'load', func); } function addEvent(obj, event, func) { if (obj.addEventListener) { obj.addEventListener(event, func, false); } else if (obj.attachEvent) { obj.attachEvent('on' + event, func); } } var avant; var apres; var reponseAvant; var reponseApres; var ta; var msg; var forum; var decalage; function parseForum() { ta = document.getElementById('wpTextbox1'); if (ta == null) { return; } var reg = new RegExp('([\?&])([a-z0-9]+)=([^=&]+)', 'gi'); var tmp2 = reg.exec(document.URL); while (tmp2 != null) { if (tmp2[2] == 'forum') { forum = tmp2[3]; } else if (tmp2[2] == 'msg') { msg = tmp2[3]; } else if (tmp2[2] == 'decalage') { decalage = tmp2[3]; } else if (tmp2[2] == 'tmp') { tmp = tmp2[3]; } tmp2 = reg.exec(document.URL); } if (forum == 'repondre') { forum2 = 'previsualiser'; decalage++; } else if (forum == 'previsualiser') { forum2 = 'previsualiser'; } else if (forum == 'nouveau') { ta.innerHTML = ta.innerHTML.replace(new RegExp('wgUserName', 'gi'), wgUserName); return; } else { return; } document.getElementById('editform').action += '&forum=' + forum2 + '&msg=' + msg + '&decalage=' + decalage; reponseAvant = '{{' + '/Reponse|' + decalage + '|'; reponseApres = '|[[Utilisateur:' + wgUserName + '|]] <small>[[Discussion Utilisateur:' + wgUserName + '|Discuter]]</small>|~~' + '~~' + '~|{{subst:' + '#time: U}}}}'; if (forum == 'repondre') { var str = new String('|' + msg + '}}'); var pos = ta.innerHTML.lastIndexOf(str); if (decalage > 1) { pos += str.length; } avant = ta.innerHTML.substring(0, pos); apres = ta.innerHTML.substring(pos); ta.innerHTML = ''; } else if (forum == 'previsualiser') { var str = reponseAvant + decodeURI(tmp) + reponseApres; var txt = decodeText(ta.value); var pos = txt.lastIndexOf(str); avant = txt.substring(0, pos); apres = txt.substring(pos + str.length); ta.innerHTML = decodeURI(tmp); } addEvent(document.getElementById('wpPreview'), 'click', validateForumPreview); addEvent(document.getElementById('wpSave'), 'click', validateForum); } addToLoad(parseForum); function validateForumPreview() { validateForum(true); } function validateForum(preview) { ta = document.getElementById('wpTextbox1'); tmp = ta.value; if (decalage == 1) { rl1 = ''; rl2 = '\n'; } else if (decalage > 1) { rl1 = '\n'; rl2 = ''; } ta.value = decodeText(avant) + rl1 + decodeText(reponseAvant) + tmp + decodeText(reponseApres) + rl2 + decodeText(apres); if (preview) { document.getElementById('editform').action += '&tmp=' + tmp; } } function decodeText(txt) { txt = txt.replace(/</g, '<'); txt = txt.replace(/>/g, '>'); txt = txt.replace(/&/g, '&'); return txt; } /*
*/