MediaWiki:Monobook.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./* <pre> <nowiki> */
//============================================================
//
// Info-bulle et touches de raccourci
//
//============================================================
ta = new Object();
ta['pt-userpage'] = new Array('.', 'Ma page utilisateur');
ta['pt-anonuserpage'] = new Array('.', 'La page utilisateur pour l\'adresse IP que vous utilisez');
ta['pt-mytalk'] = new Array('N', 'Ma page de discussion');
ta['pt-anontalk'] = new Array('N', 'La page de discussion pour cette adresse');
ta['pt-preferences'] = new Array('', 'Mes préférences');
ta['pt-watchlist'] = new Array('L', 'La liste des pages que vous suivez');
ta['pt-mycontris'] = new Array('Y', 'La liste de mes contributions');
ta['ca-talk'] = new Array('T', 'Discussion pour cette page');
ta['ca-edit'] = new Array('E', 'Vous pouvez modifier cette page. Merci de prévisualiser avant d\'enregistrer.');
ta['ca-addsection'] = new Array('+', 'Ajouter un commentaire à cette discussion.');
ta['ca-viewsource'] = new Array('E', 'Cette page est protégée. Vous pouvez toutefois en voir le contenu.');
ta['ca-history'] = new Array('H', 'Les auteurs et versions précédentes de cette page.');
ta['ca-protect'] = new Array('=', 'Pour protéger cette page.');
ta['ca-delete'] = new Array('D', 'Pour supprimer cette page.');
ta['ca-undelete'] = new Array('D', 'Pour restaurer cette page.');
ta['ca-move'] = new Array('M', 'Pour déplacer ou renommer cette page.');
ta['ca-watch'] = new Array('W', 'Ajoutez cette page à votre liste de suivi.');
ta['ca-unwatch'] = new Array('W', 'Retirez cette page de votre liste de suivi.');
ta['search'] = new Array('F', 'Pour effectuer une recherche.');
ta['n-mainpage'] = new Array('Z', 'Pour afficher la page principale.');
ta['n-portal'] = new Array('', 'À propos du projet.');
ta['n-currentevents'] = new Array('', 'Trouvez des informations sur les événements récents.');
ta['n-recentchanges'] = new Array('R', 'La liste des modifications récentes.');
ta['n-randompage'] = new Array('X', 'Afficher une page au hasard.');
ta['n-help'] = new Array('', 'Aide.');
ta['n-sitesupport'] = new Array('', 'Pour soutenir le projet.');
ta['t-whatlinkshere'] = new Array('J', 'Liste des pages liées à celle-ci.');
ta['t-recentchangeslinked'] = new Array('K', 'Liste des modifications récentes des pages liées à celle-ci.');
ta['feed-rss'] = new Array('', 'Alimenter le flux RSS pour cette page.');
ta['feed-atom'] = new Array('', 'Alimenter le flux Atom pour cette page.');
ta['t-contributions'] = new Array('', 'Voir la liste des contributions de cet utilisateur.');
ta['t-emailuser'] = new Array('', 'Envoyer un courriel à cet utilisateur.');
ta['t-upload'] = new Array('U', 'Importer une image ou fichier média sur le serveur.');
ta['t-specialpages'] = new Array('Q', 'Liste des pages spéciales.');
ta['ca-nstab-main'] = new Array('C', 'Afficher le contenu de cette page.');
ta['ca-nstab-user'] = new Array('C', 'Afficher la page utilisateur.');
ta['ca-nstab-media'] = new Array('C', 'Afficher la page média.');
ta['ca-nstab-wp'] = new Array('A', 'Afficher la page du projet.');
ta['ca-nstab-image'] = new Array('C', 'Afficher la page de description de l\'image.');
ta['ca-nstab-mediawiki'] = new Array('C', 'Afficher le message système.');
ta['ca-nstab-template'] = new Array('C', 'Afficher le modèle.');
ta['ca-nstab-help'] = new Array('C', 'Afficher la page d\'aide.');
ta['ca-nstab-category'] = new Array('C', 'Afficher la page de catégorie.');
ta['pt-login'] = new Array('', 'Vous êtes encouragé à vous connecter ou à créer un compte.');
ta['pt-logout'] = new Array('', 'Se déconnecter');
//============================================================
//
// Fonctions de gestion
//
//============================================================
/**
* Installation d'une nouvelle fonction de cette façon :
* aOnloadFunctions[aOnloadFunctions.length] = nom_de_la_fonction; // (sans parenthèses)
*/
if (!window.aOnloadFunctions) {
var aOnloadFunctions = new Array();
}
window.onload = function()
{
if (window.aOnloadFunctions) {
for (var _i=0; _i<aOnloadFunctions.length; _i++) {
aOnloadFunctions[_i]();
}
}
}
/**
* Ajouter une nouvelle fonction à excuter au chargement de la page.
*/
function addLoadEvent(func)
{
if (window.addEventListener)
window.addEventListener("load", func, false);
else if (window.attachEvent)
window.attachEvent("onload", func);
}
/*
* insertAfter : insérer un élément dans une page
*/
function insertAfter(parent, node, referenceNode) {
parent.insertBefore(node, referenceNode.nextSibling);
}
/**
* Insérer un javascript d'une page particulière
* Idée de Mickachu
*/
function loadJs(page)
{
document.write('<script type="text/javascript" src="' +
'http://fr.wikipedia.org/w/index.php?title=' + page +
'&action=raw&ctype=text/javascript&dontcountme=s"></script>');
}
function obtenir(name)
{
document.write('<script type="text/javascript" src="' +
'http://fr.wikipedia.org/w/index.php?title=MediaWiki:JSScripts/' + name +
'&action=raw&ctype=text/javascript&dontcountme=s"></script>');
}
//============================================================
//
// Boîtes déroulantes
//
//============================================================
// BEGIN Dynamic Navigation Bars (experimantal)
// set up the words in your language
var NavigationBarHide = '[ Enrouler ]';
var NavigationBarShow = '[ Dérouler ]';
var NavigationBarShowDefault = 0;
// shows and hides content and picture (if available) of navigation bars
// Parameters:
// indexNavigationBar: the index of navigation bar to be toggled
function toggleNavigationBar(indexNavigationBar)
{
var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
if (!NavFrame || !NavToggle) {
return false;
}
// ajout par Dake
// permet de créer un titre en lieu et place du "Dérouler" grâce
// à l'attribut "title" du tag.
var ShowText;
if (NavFrame.title == undefined || NavFrame.title.length == 0 ) {
ShowText = NavigationBarShow;
} else {
ShowText = NavFrame.title;
}
// if shown now
if (NavToggle.firstChild.data == NavigationBarHide) {
for (
var NavChild = NavFrame.firstChild;
NavChild != null;
NavChild = NavChild.nextSibling
) {
if (NavChild.className == 'NavPic') {
NavChild.style.display = 'none';
}
if (NavChild.className == 'NavContent') {
NavChild.style.display = 'none';
}
if (NavChild.className == 'NavToggle') {
NavChild.firstChild.data = ShowText;
}
}
// if hidden now
} else if (NavToggle.firstChild.data == ShowText) {
for (
var NavChild = NavFrame.firstChild;
NavChild != null;
NavChild = NavChild.nextSibling
) {
if (NavChild.className == 'NavPic') {
NavChild.style.display = 'block';
}
if (NavChild.className == 'NavContent') {
NavChild.style.display = 'block';
}
if (NavChild.className == 'NavToggle') {
NavChild.firstChild.data = NavigationBarHide;
}
}
}
}
// adds show/hide-button to navigation bars
function createNavigationBarToggleButton()
{
var indexNavigationBar = 0;
// iterate over all < div >-elements
for(
var i=0;
NavFrame = document.getElementsByTagName("div")[i];
i++
) {
// if found a navigation bar
if (NavFrame.className == "NavFrame") {
indexNavigationBar++;
var NavToggle = document.createElement("a");
NavToggle.className = 'NavToggle';
NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');');
var NavToggleText = document.createTextNode(NavigationBarHide);
NavToggle.appendChild(NavToggleText);
// add NavToggle-Button as first div-element
// in < div class="NavFrame" >
NavFrame.insertBefore(
NavToggle,
NavFrame.firstChild
);
NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
}
}
// if more Navigation Bars found than Default: hide all
if (NavigationBarShowDefault < indexNavigationBar) {
for(
var i=1;
i<=indexNavigationBar;
i++
) {
toggleNavigationBar(i);
}
}
}
addOnloadHook(createNavigationBarToggleButton);
// END Dynamic Navigation Bars
//============================================================
//
// Fonctions de remplissage automatique
//
//============================================================
function InitPaS(page_name)
{
var c1 = "<!-- Sauvegarder la page pour l'initialiser puis suivre les instructions -->";
var c2 = "<!-- N'oubliez pas d'ajouter le lien vers cette page dans la page principale des Pages à supprimer -->";
var tpl = '{{subst:' + 'Initialiser PàS|' + page_name
+ '|~~~~|jour={{subst:CURRENTDAY}}|mois={{subst:CURRENTMONTH}}}}';
return c1 + '\n' + tpl + '\n' + c2;
}
function InitPaV(page_name)
{
var c1 = "<!-- Sauvegarder la page pour l'initialiser puis suivre les instructions -->";
var c2 = "<!-- N'oubliez pas d'ajouter le lien vers cette page dans la page principale des Pages à vérifier -->";
var tpl = '{{subst:' + 'Initialiser PàV|' + page_name + '|~~~~}}';
return c1 + '\n' + tpl + '\n' + c2;
}
function InitLANN(page_name)
{
var c1 = "<!-- Sauvegarder la page pour l'initialiser puis suivre les instructions -->";
var c2 = "<!-- N'oubliez pas d'ajouter le lien vers cette page dans la page principale des articles non neutres -->";
var tpl = '{{subst:' + 'Initialiser LANN|' + page_name + '|~~~~}}';
return c1 + '\n' + tpl + '\n' + c2;
}
function InitIaS(page_name)
{
var c1 = "<!-- Sauvegarder la page pour l'initialiser puis suivre les instructions -->";
var c2 = "<!-- N'oubliez pas d'ajouter le lien vers cette page dans la page principale des Images à supprimer -->";
var tpl = '{{subst:' + 'Initialiser IàS|' + page_name + '|~~~~|jour={{subst:CURRENTDAY}}|mois={{subst:CURRENTMONTH}}}}';
return c1 + '\n' + tpl + '\n' + c2;
}
function InitPAdQ(page_name)
{
var c1 = "<!--\n À la création de la page, suivez les consignes ci-dessous pour proposer l'article.\n\n ATTENTION : Veuillez ne rien effacer !\n-->";
var tpl = '{{subst:' + 'Initialiser PAdQ|' + page_name
+ '|~~~~|jour={{subst:CURRENTDAY}}|mois={{subst:CURRENTMONTH}}}}';
var c2 = "| 1. Indiquez sur la ligne ci-dessous la raison pour laquelle vous proposez cet article. Vous n'avez pas besoin de signer/dater, ni de voter par la suite : votre proposition tient lieu de vote 'Pour'. |";
var tpl2 = "Je propose cet article car... (votre motivation)";
var c3 = "| 2. Sauvegardez cette page et créez un lien vers elle dans Wikipédia:Proposition articles de qualité.";
var c4 = "Pour cela, choisissez une thématique dans la page, modifiez-la et ajoutez un lien sous la forme :";
var c5 = "** [[/" + page_name + "]] proposé le ~~~~~ ";
var c6 = "Vous devez créer cette référence dans la section 'Phase I' de la thématique choisie (suivez les autres exemples).";
return c1 + '\n\n' + tpl + '\n' + c2 + '\n' + tpl2 + '\n\n' + c3 + '\n\n' + c4 + '\n' + c5 + '\n' + c6 + '}}\n';
}
function InitIaA(page_name)
{
var c1 = "<!-- Sauvegarder la page pour l'initialiser puis suivre les instructions -->";
return c1 + '\n{{subst:Amélioration image}}';
}
function InitPCP(page_name)
{
var c1 = "<!-- Sauvegarder la page pour l'initialiser puis suivre les instructions -->";
var c2 = "<!-- N'oubliez pas d'ajouter le lien vers cette page dans la page principale des articles soupçonnées de violation de copyright -->";
var tpl = '{{subst:' + 'Initialiser PCP|' + page_name + '|~~~~}}';
return c1 + '\n' + tpl + '\n' + c2;
}
function InitArbReq(page_name)
{
var c1 = "<" + "!-- Remplissez les champs (???) puis sauvegardez --" + ">\n";
var c2 = "[[Catégorie:Arbitrage en cours|{{SUBPAGENAME}}]]\n{" + "{Page d'arbitrage}}\n\nArbitre coordinateur :\n\n";
var c3 = "Arbitres participant à cet arbitrage :\n\n";
var c4 = "== Description du conflit ==\n\n'''Demande déposée par''' : [[Utilisateur:X|X]] le ??? à ???\n\n";
var c5 = "''Parties concernées par le conflit'' : ??? et [[Utilisateur:???|]] (et [[Utilisateur:???|]]).\n\n";
var c6 = "''Nature du conflit'' : ???\n\n";
var c7 = "''Recevabilité'' :\n\n''Décision'' :\n\n";
var c8 = "== Arguments de ??? ==\n{" + "{CAr limite des arguments}}\n\n";
var c9 = c8;
var c10 = "== Recevabilité ==\n\n== Mesures conservatoires ==\n<" + "!-- Mesures telles que protection de page, interdiction d'édition ou blocage, décidée par le coordinateur, avec justification. Les autres arbitres y réagissent ici. --" + ">\n\n== Discussion sur le fond ==\n\n=== Commentaires des arbitres ===\n\n";
var c11 = "=== Propositions ===\n\n==== Proposition 1 ====\n\n<u>Proposition :</u>\n\n<u>Vote :</u>";
return c1 + c2 + c3 + c4 + c5 + c6 + c7 + c8 + c9 + c10 + c11;
}
function InitProjetTraduction(page_name)
{
var mustSkip=wgPageName.indexOf('Projet:Traduction/*/');
if (mustSkip == -1) {
var c1 = "{{subst:Initialiser la page de traduction|" + "{{subst:SUBPAGENAME}}" + "|~~~~|\n";
c1 += "<!-- À la création de la page, suivez les consignes ci-dessous pour proposer l'article. \n";
c1 += " ATTENTION : Veuillez ne rien effacer ! -->\n";
c1 += "1. Indiquez ci-dessous la langue de l'article à traduire (ex: en de es it pt...)\n";
c1 += "|en|\n";
c1 += "2. Indiquez ci-dessous le nom de l'article original (ex: Frankreich)\n";
c1 += "|Nom original ici| \n";
c1 += "3. Indiquez ci-dessous en une phrase l'intérêt de la traduction\n";
c1 += "|article très bien|\n";
c1 += "4. Ajoutez éventuellement un court commentaire \n";
c1 += "|commentaire très intéressant ici|\n";
c1 += "| 5. C'est fini, vous pouvez désormais sauvegarder cette page.\n";
c1 += "}}";
return c1;
} else {
return "";
}
}
var init_if_empty = new Array(
new Array('Wikip%C3%A9dia:Pages_%C3%A0_supprimer/', InitPaS),
new Array('Wikip%C3%A9dia:Pages_%C3%A0_v%C3%A9rifier/', InitPaV),
new Array('Wikip%C3%A9dia:Liste_des_articles_non_neutres/', InitLANN),
new Array('Wikip%C3%A9dia:Images_%C3%A0_supprimer/', InitIaS),
new Array('Wikip%C3%A9dia:Proposition_articles_de_qualit%C3%A9/', InitPAdQ),
new Array('Wikip%C3%A9dia:Pages_soup%C3%A7onn%C3%A9es_de_violation_de_copyright/', InitPCP),
new Array('Wikip%C3%A9dia:Comit%C3%A9_d%27arbitrage/Arbitrage/', InitArbReq),
new Array('Projet:Traduction/', InitProjetTraduction)
);
/**
* Remplit la zone d'édition si elle est vide avec le texte retourné par
* un pointeur de fonction sélectionné par le nom de la page.
*/
function InitPage()
{
// TODO, il faut tester l'existence de l'edit box et la longueur
// du texte en dehors de la boucle
ugly_url = 'http://fr.wikipedia.org/w/index.php?title=';
for (var i = 0; i < init_if_empty.length; ++i) {
var page_name = document.URL;
var page_match = init_if_empty[i][0];
var index = page_name.indexOf(ugly_url + page_match);
if (index != -1) {
var text_area = document.editform.wpTextbox1;
if (text_area.value.length == 0) {
page_name = page_name.slice((ugly_url + page_match).length);
page_name = page_name.split('&')[0];
page_name = decodeURI(page_name);
page_name = page_name.replace(/_/g, ' ')
text_area.value = init_if_empty[i][1](page_name);
break;
}
}
}
}
addOnloadHook(InitPage);
//============================================================
//
// Caractères spéciaux
//
//============================================================
/**
* Ajoutez le menu pour choisir des sous-ensembles de caractères spéciaux
* @note L'ordre de cette liste doit correspondre a celui de MediaWiki:Edittools !
*/
function addCharSubsetMenu() {
var specialchars = document.getElementById('specialchars');
if (specialchars) {
var menu = "<select style=\"display:inline\" onChange=\"chooseCharSubset(selectedIndex)\">";
menu += "<option>Wiki</option>";
menu += "<option>Mathématiques</option>";
menu += "<option>API</option>";
menu += "<option>Latin/Romain</option>";
menu += "<option>Grec</option>";
menu += "<option>Cyrillique</option>";
menu += "<option>AHD</option>";
menu += "<option>Allemand</option>";
menu += "<option>Arabe</option>";
menu += "<option>Catalan</option>";
menu += "<option>Croate</option>";
menu += "<option>Espagnol</option>";
menu += "<option>Espéranto</option>";
menu += "<option>Estonien</option>";
menu += "<option>Gallois</option>";
menu += "<option>Hawaien</option>";
menu += "<option>Hébreu</option>";
menu += "<option>Hiéroglyphe</option>";
menu += "<option>Hollandais</option>";
menu += "<option>Hongrois</option>";
menu += "<option>Indo-européen</option>";
menu += "<option>Irlandais</option>";
menu += "<option>Islandais</option>";
menu += "<option>Italien</option>";
menu += "<option>Letton</option>";
menu += "<option>Lituanien</option>";
menu += "<option>Maltais</option>";
menu += "<option>Navajo & Apache</option>";
menu += "<option>Pinyin</option>";
menu += "<option>Polonais</option>";
menu += "<option>Portugais</option>";
menu += "<option>Rōmaji</option>";
menu += "<option>Roumain</option>";
menu += "<option>Scandinave</option>";
menu += "<option>Serbe</option>";
menu += "<option>Tchèque</option>";
menu += "<option>Turc</option>";
menu += "<option>Vieil anglais</option>";
menu += "<option>Vietnamien</option>";
menu += "<option>Yiddish</option>";
menu += "</select>";
specialchars.innerHTML = menu + specialchars.innerHTML;
/* default subset - try to use a cookie some day */
chooseCharSubset(0);
}
}
/* select subsection of special characters */
function chooseCharSubset(s) {
var l = document.getElementById('specialchars').getElementsByTagName('p');
for (var i = 0; i < l.length ; i++) {
l[i].style.display = i == s ? 'inline' : 'none';
l[i].style.visibility = i == s ? 'visible' : 'hidden';
}
}
addOnloadHook(addCharSubsetMenu);
//============================================================
//
// Choix de l'affichage des références
//
//============================================================
/**
* Choix du mode d'affichage des références.
* @note L'ordre de cette liste doit correspondre a celui de Modèle:Édition !
*/
function addBibSubsetMenu()
{
var specialBib = document.getElementById('specialBib');
if (specialBib)
{
specialBib.style.display = 'block';
var menu = "<select style=\"display:inline;\" onChange=\"chooseBibSubset(selectedIndex)\">";
menu += "<option>Liste</option>";
menu += "<option>WikiNorme</option>";
menu += "<option>BibTeX</option>";
menu += "<option>ISBD</option>";
menu += "<option>ISO690</option>";
menu += "</select>";
specialBib.innerHTML = specialBib.innerHTML + menu;
}
/* default subset - try to use a cookie some day */
chooseBibSubset(0);
}
/* select subsection of special characters */
function chooseBibSubset(s)
{
var l = document.getElementsByTagName('div');
for (var i = 0; i < l.length ; i++)
{
if(l[i].className == 'BibList') l[i].style.display = s == 0 ? 'block' : 'none';
else if(l[i].className == 'WikiNorme') l[i].style.display = s == 1 ? 'block' : 'none';
else if(l[i].className == 'BibTeX') l[i].style.display = s == 2 ? 'block' : 'none';
else if(l[i].className == 'ISBD') l[i].style.display = s == 3 ? 'block' : 'none';
else if(l[i].className == 'ISO690') l[i].style.display = s == 4 ? 'block' : 'none';
}
}
addOnloadHook(addBibSubsetMenu);
//============================================================
//
// Barre d'outil
//
//============================================================
//============================================================
// Générateur de tableaux
//============================================================
/**
*
* English: Generate an array using Mediawiki syntax
*
* @author: fr:user:dake
* @version: 0.1
*/
function generateTableau(nbCol, nbRow, border, styleHeader, styleLine)
{
var code = "\n";
if (styleHeader==1) {
code += '{{entête tableau charte}}\n';
} else {
code += '{| border="' + border + '"\n';
code += '|+ Titre du tableau\n';
}
for (var i=0; i<nbCol; i++) code += '! en-tête ' + i + '\n';
for (var j=0; j<nbRow; j++) {
if ((j+1)%2==0 && styleLine==1) {
code += '|-{'+'{ligne grise}'+'}\n';
} else {
code += '|-----\n';
}
for (var i=0; i<nbCol; i++) code += '| élément\n';
}
code += '|}';
insertTags('','', code);
}
/**
*
* English: Open a popup with parameters to generate an array.
* The number of rows/columns can be modified. Some additional
* parameters are related to templates available on :fr
*
* @author: fr:user:dake
* @version: 0.1
*/
function popupTableau()
{
var popup = window.open('','name','height=400,width=500');
javaCode = '<script type="text\/javascript">function insertCode(){';
javaCode += 'var row = parseInt(document.paramForm.inputRow.value); ';
javaCode += 'var col = parseInt(document.paramForm.inputCol.value); ';
javaCode += 'var bord = parseInt(document.paramForm.inputBorder.value); ';
javaCode += 'var styleHeader = document.paramForm.inputHeader.checked; ';
javaCode += 'var styleLine = document.paramForm.inputLine.checked; ';
javaCode += 'window.opener.generateTableau(col,row,bord,styleHeader,styleLine); ';
javaCode += '}<\/script>';
popup.document.write('<html><head><title>Paramètres du tableau</title>');
popup.document.write('<script type="text\/javascript" src="\/skins-1.5\/common\/wikibits.js"><!-- wikibits js --><\/script>');
popup.document.write('<style type="text\/css" media="screen,projection">/*<![CDATA[*/ @import "\/skins-1.5\/monobook\/main.css?5"; /*]]>*/<\/style>');
popup.document.write(javaCode);
popup.document.write('</head><body>');
popup.document.write('<p>Veuillez entrer les paramètres du tableau : </p>');
popup.document.write('<form name="paramForm">');
popup.document.write('Nombre de lignes : <input type="text" name="inputRow" value="3" ><p>');
popup.document.write('Nombre de colonnes : <input type="text" name="inputCol" value="3" ><p>');
popup.document.write('Largeur de la bordure : <input type="text" name="inputBorder" value="1" ><p>');
popup.document.write('En-tête en gris (style « charte graphique ») : <input type="checkbox" name="inputHeader" checked="1" ><p>');
popup.document.write('Lignes grises alternées (style « charte graphique ») : <input type="checkbox" name="inputLine" checked="1" ><p>');
popup.document.write('</form">');
popup.document.write('<p><a href="javascript:insertCode()"> Insérer le code dans la fenêtre d\'édition</a></p>');
popup.document.write('<p><a href="javascript:self.close()"> Fermer</a></p>');
popup.document.write('</body></html>');
popup.document.close();
}
//============================================================
// Insertion de nouveaux boutons dans la barre d'outil
//============================================================
//Remplit la variable mwCustomEditButtons (voir /skins-1.5/commons/wikibits.js) pour ajouter des boutons à la barre d'outils
function addCustomButton(imageFile, speedTip, tagOpen, tagClose, sampleText)
{
mwCustomEditButtons[mwCustomEditButtons.length] =
{"imageFile": imageFile,
"speedTip": speedTip,
"tagOpen": tagOpen,
"tagClose": tagClose,
"sampleText": sampleText};
}
addCustomButton('http://upload.wikimedia.org/wikipedia/commons/3/30/Btn_toolbar_rayer.png','Rayer',"<s>","</s>",'');
addCustomButton('http://upload.wikimedia.org/wikipedia/commons/8/88/Btn_toolbar_enum.png','Énumération',"\\n# élément 1\\n# élément 2\\n# élément 3","",'');
addCustomButton('http://upload.wikimedia.org/wikipedia/commons/1/11/Btn_toolbar_liste.png','Liste',"\\n* élément A\\n* élément B\\n* élément C","",'');
addCustomButton('http://upload.wikimedia.org/wikipedia/commons/9/9e/Btn_toolbar_gallery.png','Galerie d\'images',"\\n<gallery>\\nImage:M63.jpg|[[M63]]\\nImage:Mona Lisa.jpg|[[La Joconde]]\\nImage:Truite arc-en-ciel.jpg|Une [[truite]]\\n</gallery>","",'');
addCustomButton('http://upload.wikimedia.org/wikipedia/commons/3/37/Btn_toolbar_commentaire.png','Commentaire',"<!--","-->",'');
addCustomButton('http://upload.wikimedia.org/wikipedia/commons/c/c8/Button_redirect.png','Redirection',"#REDIRECT [[","]]",'nom de la destination');
addCustomButton('http://upload.wikimedia.org/wikipedia/commons/b/b4/Button_category03.png','Catégorie',"[[Catégorie:","]]",'nom de la catégorie');
//Ressemble à la fonction de /skins-1.5/commons/wikibits.js pour insérer un autre lien que insertTags
function marque_tab()
{
var toolbar = document.getElementById('toolbar');
if (!toolbar) return false;
var textbox = document.getElementById('wpTextbox1');
if (!textbox) return false;
if (!document.selection && textbox.selectionStart == null)
return false;
var image = document.createElement("img");
image.width = 23;
image.height = 22;
image.src = 'http://upload.wikimedia.org/wikipedia/commons/0/04/Button_array.png';
image.border = 0;
image.alt = 'Tableau';
image.title = 'Tableau';
image.style.cursor = "pointer";
image.onclick = function() {
popupTableau();
return false;
}
toolbar.appendChild(image);
}
addOnloadHook(marque_tab);
//============================================================
//
// Divers
//
//============================================================
/**
* Transformer les pages du Bistro en page de discussion
*/
function DiscussionBistro()
{
if( (document.title.search("Wikipédia:Le Bistro") != -1)
|| (document.title.search("Wikipédia:Bulletin des administrateurs") != -1))
document.body.className = "ns-1";
}
addOnloadHook(DiscussionBistro);
/**
* Transformer certaines pages en page de discussion avec le modèle {{page de discussion}}
*/
function TransformeEnDiscussion()
{
var transformeEnPDD = document.getElementById("transformeEnPageDeDiscussion");
if(transformeEnPDD)
document.body.className = "ns-1";
}
addOnloadHook(TransformeEnDiscussion);
/**
* Ajout d'un style particulier aux liens interlangues vers des articles de qualités
*/
function LienAdQ()
{
var lang = document.getElementById("p-lang"); // fin language link list
if(lang)
{
var span = document.getElementsByTagName("span");
for(i=0; i<span.length; i++) // iterate over all <span>-elements
{
// if found a AdQ span
if(span[i].className == "AdQ") {
var li = lang.getElementsByTagName("li");
for(j=0; j<li.length; j++) {
if(li[j].className == "interwiki-" + span[i].id) { // if found a AdQ link
li[j].style.padding = "0 0 0 16px";
li[j].style.backgroundImage = "url('http://upload.wikimedia.org/wikipedia/fr/3/36/Icone_etoile.png')";
li[j].style.backgroundRepeat = "no-repeat";
li[j].title = "Lien vers un article de qualité";
}
}
}
}
}
}
addOnloadHook(LienAdQ);
/*
* VraiTitre : Ajout du titre réel d'un article pour lequel MediaWiki n'affiche pas correctement
*/
function VraiTitre()
{
var balise = document.getElementById("vrai_titre");
if (!balise) return;
vrai_titre = balise.childNodes[0].nodeValue;
var titre = document.getElementsByTagName("H1")[0];
rectificatif = titre.appendChild(document.createElement("span"));
rectificatif.setAttribute ("style","color:#AAAAAA; font-size:0.7em; font-style:italic; display:inline;");
rectificatif.appendChild(document.createTextNode(" ("+ vrai_titre +")"));
}
addOnloadHook(VraiTitre);
/****************************************/
function mwInsertEditButton(parent, item) {
var image = document.createElement("img");
image.width = 23;
image.height = 22;
image.src = item.imageFile;
image.border = 0;
image.style.cursor = "pointer";
var ref = document.createElement("a");
ref.setAttribute("href", "javascript:insertTags(\"" + item.tagOpen + "\",\"" + item.tagClose + "\",\"" + item.sampleText + "\");");
ref.setAttribute("title", item.speedTip);
ref.appendChild(image);
parent.appendChild(ref);
}
/************
* IconesDeTitre : fait en sorte que le modèle {{Icône de titre}} puisse être utilisé plusieurs fois
*/
function IconesDeTitre(){
var icones = document.getElementsByTagName ("div");
var icones2= new Array();
var j = 0;
var i = 0;
for (i = 0; i < icones.length ; i++) {
if (icones[i].className == "icone de titre"){
icones2[j++] = icones[i];
}
}
for (i=0 ; i < icones2.length ; i++) {
icones2[i].style.right= (50*i+10)+"px";
}
}
addOnloadHook(IconesDeTitre);
// * Déplacement des [modifier]
// * Correction des titres qui s'affichent mal en raison de limitations dues à MediaWiki.
//
// Copyright 2006, Marc Mongenet
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// See http://www.gnu.org/licenses/gpl.html
// The function looks for <span class="editsection">, and move them
// at the end of their parent and display them inline in small font.
// var oldEditsectionLinks=true disables the function.
setModifySectionStyle = function()
{
try {
if (!(typeof oldEditsectionLinks == 'undefined' || oldEditsectionLinks == false)) return;
var spans = document.getElementsByTagName("span");
for (var s = 0; s < spans.length; ++s) {
var span = spans[s];
if (span.className == "editsection") {
span.style.fontSize = "xx-small";
span.style.fontWeight = "normal";
span.style.cssFloat = span.style.styleFloat = "none";
span.parentNode.appendChild(document.createTextNode(" "));
span.parentNode.appendChild(span);
}
}
} catch (e) { /* something went wrong */ }
}
addOnloadHook(setModifySectionStyle);
// The function looks for a banner like that:
// <div id="RealTitleBanner">Div that is hidden
// <span id="RealTitle">title</span>
// </div>
// An element with id=DisableRealTitle disables the function.
rewritePageH1 = function() {
try {
var realTitleBanner = document.getElementById("RealTitleBanner");
if (realTitleBanner) {
if (!document.getElementById("DisableRealTitle")) {
var realTitle = document.getElementById("RealTitle");
var h1 = document.getElementsByTagName("h1")[0];
if (realTitle && h1) {
h1.innerHTML = realTitle.innerHTML;
realTitleBanner.style.display = "none";
}
}
}
} catch (e) {
/* Something went wrong. */
}
}
addOnloadHook(rewritePageH1);
// Amélioration de la page de recherche
// Auteur : Dake
// Sous licence GFDL.
function SpecialSearchEnhanced()
{
if (wgPageName == "Special:Search") {
var mainNode = document.getElementsByTagName("form");
if (!mainNode) return;
var searchValue = document.getElementById("lsearchbox").value;
var firstForm = mainNode[0];
var node = document.createElement('center');
// thanks Brion
var safeSearchValue = searchValue.replace("&", "&").replace("<", "<").replace(">", ">").replace('"', """);
var googleSearch = '<hr /><p /><FORM method=GET action="http://www.google.fr/search">';
googleSearch += '<TABLE bgcolor="#FFFFFF"><tr><td>';
googleSearch += '<A HREF="http://www.google.fr">';
googleSearch += '<IMG SRC="http://www.google.com/logos/Logo_25wht.gif" border="0" ';
googleSearch += 'ALT="Google" align="absmiddle"></A> ';
googleSearch += '<INPUT TYPE=text name=q size=31 maxlength=255 value="' + safeSearchValue + '">';
googleSearch += '<INPUT TYPE=hidden name=hl value=fr>';
googleSearch += '<INPUT TYPE=hidden name=as_sitesearch value=fr.wikipedia.org>';
googleSearch += '<INPUT type=submit name=btnG VALUE="Rechercher sur fr.wikipedia.org">';
googleSearch += '</td></tr></TABLE>';
googleSearch += '</FORM>';
var yahooSearch = '<FORM method=GET action="http://fr.search.yahoo.com/search">';
yahooSearch += '<TABLE bgcolor="#FFFFFF"><tr><td>';
yahooSearch += '<A HREF="http://fr.yahoo.com">';
yahooSearch += '<IMG SRC="http://us.yimg.com/i/yahootogo/y88red2.gif" alt="Yahoo!" border="0" ';
yahooSearch += 'align="absmiddle"></A> ';
yahooSearch += '<INPUT TYPE=text name=p size=31 maxlength=255 value="' + safeSearchValue + '">';
yahooSearch += '<INPUT TYPE=hidden name=vs value=fr.wikipedia.org>';
yahooSearch += '<INPUT type=submit name=btnG VALUE="Rechercher sur fr.wikipedia.org">';
yahooSearch += '</td></tr></TABLE>';
yahooSearch += '</FORM>';
node.innerHTML = node.innerHTML + '<div id="enhancedSearch">' + googleSearch + yahooSearch + '</div>';
firstForm.parentNode.insertBefore(node, firstForm.nextSibling);
}
}
addOnloadHook(SpecialSearchEnhanced);
// ============================================================
// BEGIN pageview counter
// Please talk to User:LeonWeber before changing anything or
// if there are any issues with that.
// this should be adjusted to a good value.
// BE CAREFULL, you will break zedler if it's too low!
// And then DaB. will kill Leon :-(
var disable_counter = 0;
var counter_factor = 900;
function pgcounter_setup()
{
if(disable_counter == 0)
{
var url = window.location.href;
if(Math.floor(Math.random()*counter_factor)==42) // the probability thing
{
if(wgIsArticle==true) // do not count history pages etc.
{
var pgcountNs = wgCanonicalNamespace;
if(wgCanonicalNamespace=="")
{
pgcountNs = "0";
}
var cnt_url = "http://pgcount.wikimedia.de/index.png?ns=" + pgcountNs + "&title=" + encodeURI(wgTitle) + "&factor=" + counter_factor + "&wiki=frwiki";
var img = new Image();
img.src = cnt_url;
}
}
}
}
// Do not use aOnloadFunctions[aOnloadFunctions.length] = pgcounter_setup;, some browsers don't like that.
pgcounter_setup();
// END pageview counter
// ============================================================
// Suppression du titre sur la page d'accueil
var mpTitle = "Accueil";
var isMainPage = (/(title=|\/wiki\/)([Dd]iscussion:|)[Aa]ccueil/.test(document.location));
var isMainPageFront = (document.title.substr(0, document.title.lastIndexOf(" - ")) == mpTitle);
var isDiff = (document.location.search && (document.location.search.indexOf("diff=") != -1 || document.location.search.indexOf("oldid=") != -1));
if (isMainPage)
{
if (isMainPageFront && !isDiff)
{
document.write('<style type="text/css">/*<![CDATA[*/ #lastmod, #siteSub, #contentSub, h1.firstHeading { display: none !important; } /*]]>*/</style>');
}
var mpSmallEnabled;
var mpMinWidth = 700;
function mainPageTransform()
{
if (isMainPage && document.getElementById('ca-nstab-main'))
{document.getElementById('ca-nstab-main').firstChild.innerHTML = 'Accueil';}
if (((isMainPageFront && !isDiff) || /[\/=:]Main_Page/.test(document.location)) && document.getElementById('ca-nstab-main'))
var mpContentEl = document.getElementById("bodyContent");
var mpBrowseEl = document.getElementById("EnWpMpBrowse");
var mpContainEl = document.getElementById("EnWpMpBrowseContainer");
var mpMarginEl = document.getElementById("EnWpMpMargin");
var mpEl = document.getElementById("EnWpMainPage");
if (!mpContentEl || !mpBrowseEl || !mpContainEl || !mpMarginEl || !mpEl)
return;
if (!mpSmallEnabled && mpContentEl.offsetWidth < mpMinWidth)
{
mpContainEl.insertBefore(mpBrowseEl, mpContainEl.firstChild);
mpBrowseEl.className = "EnWpMpBrowseBottom";
mpMarginEl.style.marginRight = 0;
mpSmallEnabled = true;
}
else if (mpSmallEnabled && mpContentEl.offsetWidth > mpMinWidth)
{
mpEl.insertBefore(mpBrowseEl, mpEl.firstChild);
mpBrowseEl.className = "EnWpMpBrowseRight";
mpMarginEl.style.marginRight = "13.8em";
mpSmallEnabled = false;
}
}
var onloadFuncts = [ mainPageTransform ];
if (window.addEventListener)
window.addEventListener("resize", mainPageTransform, false);
else if (window.attachEvent)
window.attachEvent("onresize", mainPageTransform);
}
/**
* Changer le lien d'import en lien vers la page [[Aide:Importer un fichier]]
*/
function LienUpload()
{
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="t-upload2" title="http://fr.wikipedia.org/wiki/Aide:Importer_un_fichier">'
+ '<a href="http://fr.wikipedia.org/wiki/Aide:Importer_un_fichier">'
+ 'Importer une image ou un son</a></span> </li>'
}
}
}
addOnloadHook(LienUpload);
// </nowiki></pre>
/* </nowiki> </pre> */