Utilisateur:Rififi/common.js

Aller à la navigation Aller à la recherche

Note : après avoir enregistré tes préférences, tu devras forcer le rechargement complet du cache de ton navigateur pour voir les changements. Mozilla Firefox / Safari : maintiens la touche Majuscule (Shift) en cliquant sur le bouton Actualiser (Reload) ou presse Maj-Ctrl-R (Maj-Cmd-R sur Apple Mac) ; Internet Explorer / Opera : maintiens la touche Ctrl en cliquant sur le bouton Actualiser ou presse Ctrl-F5.

// Tout code mis ci-dessous et dont j'ai les droits est mis sous licence CC0.
// Autrement dit utilisez-le comme bon vous semble (inutile de me citer si votre pays ne l'oblige pas), gardez
// simplement les credits vers les autres personnes que j'y ai mis. Gardez aussi à l'esprit que je ne garanti pas que ce code
// soit juste ou sécurisé.
// <nowiki>
mw.loader.using("mediawiki.util", (function(){
	// Pour regrouper les fonctions qui doivent être globales au même endroit
	window.MyTools = {};

	// SECTION -- Ajout de liens utiles
	// Fonction permettant de purger la page courante
	window.MyTools.Purge = function(pageName) {
		// Bonzour l'API ! Je veux parler avec toi.
		var Api = new mw.Api();

		// Je t'envoie une requête POST : je te met des données te disant quoi
		// faire. En l'occurence, purger les pages demandées.
		Api.post({
			titles: pageName,
			format: "json",
			action: "purge"
		}).then(function(){
			// Merci, tu as fait ton taff ! Je peux recharger la page :-)
			location.reload();
		});
	};

	// Raccourci contenant le début de l'URL pour les articles.
	// Le / au début indique qu'on veut utiliser la racine de l'URL courante,
	// c'est-à-dire "https://fr.vikidia.org" (si vous êtes sur fr.vikidia.org).
	var ArticleFullPath = "/wiki/";

	// Raccourci contenant le début de l'URL pour les pages nécessitant l'accès
	// direct à index.php
	var ScriptFullPath = "/w/index.php";

	/* Fonction permettant d'ajouter un lien utile dans le menu souhaité.
	 * Le menu est indiqué en donnant le numéro de l'index désiré dans la liste
	 * pos (qui contient les ids des différents menus), via la paramètre where.
	 * Inspirée à l'origine du common.js d'Eliastik,
	 * "possibilité de reprendre le code".
	 *  http://www.pokepedia.fr/Utilisateur:Eliastik
	 */
	function AddLink(href, text, where) {
		var pos = ["p-Contribuer", "p-personal", "p-tb"];
		return mw.util.addPortletLink(pos[where], href, text);
	}

	AddLink(ArticleFullPath + "Vikidia:Demandes_aux_administrateurs", "Demandes aux administrateurs", 0);
	AddLink(ArticleFullPath + "Vikidia:Demandes_aux_bureaucrates", "Demandes aux bureaucrates", 0);

	// Un lien un peu spécial : il appelle la fonction Purge définie plus haut
	// et purge la page ! Il est à noter que cette méthode est sale. Ici, on
	// l'utilise car c'est un petit script qui se met en surcouche, et c'est
	// plus simple. De manière plus professionnelle, il faudrait créer l'élément
	// et y attacher un évènement ensuite.
	// Le mw.util.wikiUrlencode est très important autrement on peut injecter du JavaScript
	var purgeBtnLinkElt = AddLink("#", "Purger", 1);
	if (purgeBtnLinkElt !== null) {
		purgeBtnLinkElt.addEventListener("click", function(e) {
			window.MyTools.Purge (  mw.config.get('wgPageName') );
			e.returnValue = false;
			e.preventDefault();
		});
	}
	AddLink(ArticleFullPath + 'Utilisateur:Rififi/common.js', 'Common.js', 1);
	AddLink(ArticleFullPath + 'Utilisateur:Rififi/Bac_à_sable 2', 'Bac à sable 2', 1);

	// Lister les sous pages : on utilise un lien "index.php", et une variable
	// qui renvoie la page actuelle.
	AddLink(ScriptFullPath + "?title=Sp%C3%A9cial%3AIndex&prefix=" + mw.util.wikiUrlencode ( mw.config.get('wgPageName') ) + "/","Sous-pages", 2);
	// FIN SECTION - Ajout de liens utiles
})());
//</nowiki>