Module:Drapeau
La documentation pour ce module peut être créée à Module:Drapeau/doc
Erreur de script : Erreur Lua : impossible de créer le processus : proc_open n’est pas disponible. Vérifiez la directive de configuration PHP « disable_functions ».
--[[ This module is intended to replace the functionality of {{drapeau2}} and related templates. It provides several methods, including ]] math_mod = require( "Module:Math" ); gdata = require( "Module:Drapeau/Data" ); globalFrame = nil drapeau = {}; domainelist={ defaut = {regexp="[[$main|$name]]" , desc="article sur le pays"} ,drapeau = {regexp="Drapeau $du$name" , desc="label du drapeau"} ,formelongue = {regexp="[[$main|$namelong]]" , desc="lien vers le pays sous la forme longue"} ,football = {regexp="[[Équipe $de$name de football|$name]]" , desc="lien vers la sélection nationale de [[football]] masculin"} ,footballF = {regexp="[[Équipe $de$name de football féminin|$name]]" , desc="lien vers la sélection nationale de [[football]] féminin"} ,football21 = {regexp="[[Équipe $de$name espoirs de football|$name]]" , desc="lien versla sélection nationale de [[football]] espoirs masculin"} ,football17 = {regexp="[[Équipe $de$name de football des moins de 17 ans|$name]]" , desc="lien vers la sélection nationale de [[Coupe du monde de football des moins de 17 ans|football des moins de 17 ans]] masculin"} ,football20 = {regexp="[[Équipe $de$name de football des moins de 20 ans|$name]]" , desc="lien vers la sélection nationale de [[Coupe du monde de football des moins de 20 ans|football des moins de 20 ans]] masculin"} ,basketball = {regexp="[[Équipe $de$name de basket-ball|$name]]" , desc="lien vers la sélection nationale de [[basket-ball]] masculin"} ,basketballF = {regexp="[[Équipe $de$name de basket-ball féminin|$name]]" , desc="lien vers la sélection nationale de [[basket-ball]] féminin"} ,volleyball = {regexp="[[Équipe $de$name de volley-ball|$name]]" , desc="lien vers la sélection nationale de [[volley-ball]] masculin"} ,volleyballF = {regexp="[[Équipe $de$name de volley-ball féminin|$name]]" , desc="lien vers la sélection nationale de [[volley-ball]] féminin"} ,waterpolo = {regexp="[[Équipe $de$name de water-polo masculin|$name]]" , desc="lien vers la sélection nationale de [[water-polo]] masculin"} ,waterpoloF = {regexp="[[Équipe $de$name de water-polo féminin|$name]]" , desc="lien vers la sélection nationale de [[water-polo]] féminin"} ,handball = {regexp="[[Équipe $de$name de handball masculin|$name]]" , desc="lien vers la sélection nationale de [[handball]] masculin"} ,handballF = {regexp="[[Équipe $de$name de handball féminin|$name]]" , desc="lien vers la sélection nationale de [[handball]] féminin"} ,hockeysurglace = {regexp="[[Équipe $de$name de hockey sur glace|$name]]" , desc="lien vers la sélection nationale de [[hockey sur glace]] masculin"} ,hockeysurglaceF = {regexp="[[Équipe $de$name de hockey sur glace féminin|$name]]" , desc="lien vers la sélection nationale de [[hockey sur glace]] féminin"} ,hockeysurgazon = {regexp="[[Équipe $de$name de hockey sur gazon|$name]]" , desc="lien vers la sélection nationale de [[hockey sur gazon]] masculin"} ,hockeysurgazonF = {regexp="[[Équipe $de$name de hockey sur gazon féminin|$name]]" , desc="lien vers la sélection nationale de [[hockey sur gazon]] féminin"} ,beachsoccer = {regexp="[[Équipe $de$name de beach soccer|$name]]" , desc="lien vers la sélection nationale de [[beach soccer]]"} ,cricket = {regexp="[[Équipe $de$name de cricket|$name]]" , desc="lien vers la sélection nationale de [[cricket]]"} ,footballamericain = {regexp="[[Équipe $de$name de football américain|$name]]" , desc="lien vers la sélection nationale de [[football américain]]"} ,footballaustralien = {regexp="[[Équipe $de$name de football américain|$name]]" , desc="lien vers la sélection nationale de [[football australien]]"} ,futsal = {regexp="[[Équipe $de$name de futsal|$name]]" , desc="lien vers la sélection nationale de [[futsal]]"} ,gymnastique = {regexp="[[Équipe $de$name de gymnastique artistique masculine|$name]]" , desc="lien vers la sélection nationale de [[gymnastique artistique]] masculine"} ,gymnastiqueF = {regexp="[[Équipe $de$name de gymnastique artistique féminine|$name]]" , desc="lien vers la sélection nationale de [[gymnastique artistique]] féminine"} ,jo = {regexp="[[$name aux Jeux olympiques|$name]]" , desc="lien vers la délégation olympique"} ,jocio = {regexp="[[$name aux Jeux olympiques|$cio]]" , desc="lien vers la délégation olympique mais label sous forme du code CIO"} ,rugby = {regexp="[[Équipe $de$name de rugby à XV|$name]]" , desc="lien vers la sélection nationale de [[rugby à XV]] masculin"} ,rugbyF = {regexp="[[Équipe $de$name de rugby à XV féminin|$name]]" , desc="lien vers la sélection nationale de [[rugby à XV]] féminin"} ,rugby7 = {regexp="[[Équipe $de$name de rugby à 7|$name]]" , desc="lien versla sélection nationale de [[rugby à 7]] masculin"} ,rugby13 = {regexp="[[Équipe $de$name de rugby à XIII|$name]]" , desc="lien vers la sélection nationale de [[rugby à XIII]] masculin"} ,tennis = {regexp="[[Équipe $de$name de Coupe Davis|$name]]" , desc="lien vers la sélection nationale de [[tennis]] de [[Coupe Davis]]"} ,tennisF = {regexp="[[Équipe $de$name de Fed Cup|$name]]" , desc="lien vers la sélection nationale de [[tennis]] de [[Fed Cup]]"} ,futsal = {regexp="[[Équipe $de$name de futsal|$name]]" , desc="lien vers la sélection nationale de [[futsal]] masculin"} ,futsalF = {regexp="[[Équipe $de$name de futsal féminin|$name]]" , desc="lien vers la sélection nationale de [[futsal]] féminin"} ,cyclismesurpiste = {regexp="[[Équipe $de$name de cyclisme sur piste|$name]]" , desc="lien vers la sélection nationale de [[cyclisme sur piste]] masculin"} ,cyclismesurpisteF = {regexp="[[Équipe $de$name de cyclisme sur piste féminin|$name]]" , desc="lien vers la sélection nationale de [[cyclisme sur piste]] féminin"} ,cyclismesurroute = {regexp="[[Équipe $de$name de cyclisme sur route|$name]]" , desc="lien vers la sélection nationale de [[cyclisme sur route]] masculin"} ,cyclismesurrouteF = {regexp="[[Équipe $de$name de cyclisme sur route féminin|$name]]" , desc="lien vers la sélection nationale de [[cyclisme sur route]] féminin"} ,gentileMS = {regexp="[[$name|$gentileMS]]" , desc="lien vers la nationalité"} ,gentileFS = {regexp="[[$name|$gentileFS]]" , desc="lien vers la nationalité"} ,gentileMP = {regexp="[[$name|$gentileMP]]" , desc="lien vers la nationalité"} ,gentileFP = {regexp="[[$name|$gentileFP]]" , desc="lien vers la nationalité"} } --Aide:Fonction_genre genre={ ms= {le="le " ,du="du " ,de="de " ,au="au " ,en="au "} ,msa= {le="l'" ,du="de l'" ,de="d'" ,au="à l'" ,en="en "} ,msi= {le="" ,du="de " ,de="de " ,au="à " ,en="à "} ,msia={le="" ,du="d'" ,de="d'" ,au="à " ,en="à "} ,fs= {le="la " ,du="de la ",de="de " ,au="à la " ,en="en "} ,fsa= {le="l'" ,du="de l'" ,de="de l'" ,au="à l'" ,en="en "} ,fsi= {le="" ,du="de " ,de="de " ,au="à " ,en="à "} ,fsia={le="" ,du="de l'" ,de="d'" ,au="à " ,en="à "} ,mp= {le="les ",du="des " ,de="des " ,au="aux " ,en="aux "} ,fp= {le="les ",du="des " ,de="des " ,au="aux " ,en="aux "} } --[[ pays Affiche le pays accompagné de son drapeau {{drapeau2}} Usage: {{ Invoke:Drapeau | pays | France }} ]] function printDrapeau(imgsrc,size) local border=''; local alt=''; if imgsrc["flagborder"] ~= "no" then border='border|' end alt=string.gsub(domainelist["drapeau"]["regexp"], "%$(%w+)", genre[imgsrc["genre"]]) alt=string.gsub(alt, "%$(%w+)", imgsrc) alt=string.gsub(alt, "%$(%w+)", imgsrc) --dernière passe pour $name return '<span class="flagicon">' .. '[[Fichier:' .. imgsrc["flag"] .. '|' .. size ..'px|' .. border .. alt ..']]' .. '</span>'; end function printCible(text,domaine) local target=''; if text["main"] ~= nil then target=string.gsub(domainelist[domaine]["regexp"], "%$(%w+)", genre[text["genre"]]) target=string.gsub(target, "%$(%w+)", text) target=string.gsub(target, "%$(%w+)", text) --dernière passe pour $name end return target; end function _latinise(tmparg) --2>--remove case tmparg=mw.ustring.lower(tmparg); --2>--remove acccent tmparg=mw.ustring.gsub(tmparg, "[àáâãäå]", "a"); tmparg=mw.ustring.gsub(tmparg, "[æ]", "ae"); tmparg=mw.ustring.gsub(tmparg, "[ç]", "c"); tmparg=mw.ustring.gsub(tmparg, "[èéêë]", "e"); tmparg=mw.ustring.gsub(tmparg, "[ìíîï]", "i"); tmparg=mw.ustring.gsub(tmparg, "[ñ]", "n"); tmparg=mw.ustring.gsub(tmparg, "[òóôõö]", "o"); tmparg=mw.ustring.gsub(tmparg, "[œ]", "oe"); tmparg=mw.ustring.gsub(tmparg, "[ùúûü]", "u"); tmparg=mw.ustring.gsub(tmparg, "[ýÿ]", "y"); --3>--remove ponct tmparg=mw.ustring.gsub(tmparg, "[' -_]", ""); return tmparg; end function _cletri(tmparg) --2>--remove case tmparg=mw.ustring.lower(tmparg); --2>--remove acccent tmparg=mw.ustring.gsub(tmparg, "[àáâãäå]", "a"); tmparg=mw.ustring.gsub(tmparg, "[æ]", "ae"); tmparg=mw.ustring.gsub(tmparg, "[ç]", "c"); tmparg=mw.ustring.gsub(tmparg, "[èéêë]", "e"); tmparg=mw.ustring.gsub(tmparg, "[ìíîï]", "i"); tmparg=mw.ustring.gsub(tmparg, "[ñ]", "n"); tmparg=mw.ustring.gsub(tmparg, "[òóôõö]", "o"); tmparg=mw.ustring.gsub(tmparg, "[œ]", "oe"); tmparg=mw.ustring.gsub(tmparg, "[ùúûü]", "u"); tmparg=mw.ustring.gsub(tmparg, "[ýÿ]", "y"); --3>--remove ponct tmparg=mw.ustring.gsub(tmparg, "['-_]", " "); --4>--remove forme longue tmparg=mw.ustring.gsub(tmparg, "^republique ", ""); tmparg=mw.ustring.gsub(tmparg, "^iles ", ""); tmparg=mw.ustring.gsub(tmparg, "^de ", ""); tmparg=mw.ustring.gsub(tmparg, "^du ", ""); return '<span class="datasortkey" data-sort-value="'..tmparg..'" style="display:none;">‍</span>'; end function drapeau.list(frame) globalFrame = frame local args = frame.args local res=""; if args[1] == nil then local pFrame = frame:getParent(); args = pFrame.args; for k,v in pairs( frame.args ) do args[k] = v; end end if args[2] == nil then args[2]=142 --France par défaut end if(args[1]=='libelle') then res="{|class='wikitable' \n!code!!descriptif!!exemple "..mw.wikibase.sitelink(gdata.data[142]["qid"] ).."!!exemple "..mw.wikibase.sitelink(gdata.data[31]["qid"] ).."!!exemple "..mw.wikibase.sitelink(gdata.data[30]["qid"] ).."\n|-\n" for k,v in pairs( domainelist ) do res= res .. "|<code>" .. k .. "<\code> ||".. domainelist[k]["desc"] .. "||" ..printCible(gdata.data[142],k) .. "||" ..printCible(gdata.data[31],k) .. "||" ..printCible(gdata.data[30],k) .. "\n|-\n" end res=res .. "|}" end if(args[1]=='pays') then for k,v in pairs( gdata.data ) do res= res .. "*<code>" .. gdata.data[k]["name"] .. "<\code> : "..mw.wikibase.sitelink(gdata.data[k]["qid"] ) .."\n" end end return res; end function drapeau.List(frame) return drapeau.list(frame) end function drapeau.pays(frame) globalFrame = frame local args = frame.args local tmparg; if args[1] == nil then local pFrame = frame:getParent(); args = pFrame.args; for k,v in pairs( frame.args ) do args[k] = v; end end for i=1,10 do if args[i] == nil then args[i] = "" else --1>--remove whitespace args[i]=args[i]:match( '^%s*(.-)%s*$' ); args[i]=_latinise(args[i]); end end --par défaut if (args["taille"] == nil) then args["taille"] = '20x15' end if (args["domaine"] == nil) then args["domaine"] = 'defaut' end if (args["align"] == nil) then args["align"] = 'left' end if (args["lien"] == nil) then args["lien"] = 'oui' end local q=0; local data; if(args["CIO"]~= nil) then q=gdata.idByCIO[args["CIO"]] else q=gdata.idByName[args[1]] end local data=gdata.data[q]; --local data=paysFlag[args[1]]; local res=''; if(args["t"] == '1') then res=res .. _cletri(data["name"]); end if(args["align"] == 'left') then res=res .. printDrapeau(data,args["taille"])..' '; end if(args["cible"] ~= nil) then res=res .. args["cible"] .. ' <span style="font-size:90%;" class="nowrap">('; end if(args["lien"] == 'oui') then res=res ..printCible(data,_latinise(args["domaine"])); end if(args["cible"] ~= nil) then res=res .. ')</span>'; end if(args["align"] == 'right') then res=res .. ' ' .. printDrapeau(data,args["taille"]); end return res; end function drapeau.Pays(frame) return drapeau.pays(frame) end return drapeau