Module:Infobox/Bilan sportif

 Documentation[voir] [modifier] [historique] [purger]

Cette page définit un module d'infobox. Pour les conseils sur l'usage de ce module, voyez Modèle:Infobox Bilan sportif.


local general = require "Module:Infobox/Fonctions"
local wd = require "Module:Wikidata"
local localdata = require "Module:Infobox/Localdata"

local chartes = {
	--{icône carte, icône entete, couleur titre, couleur sous-titre, couleur texte)
	-- {titre charte, élément wikidata, couleur titre, couleur sous-titre, couleur texte, pictogramme}
	{'Duchère', '', '#FFFF00', '#FFFF00', '#FF0000', ''}, -- Lyon Duchère
	{'ESTunis', '', 'yellow', 'yellow', 'red', ''}, -- ES Tunis
	{'FCNantes', '', '#FFEC00', '#FFEC00', '#005827', ''}, -- FC Nantes
	{'Football', 'Q2736', '#99cc99', '#B3D9B3', '#000000', 'football'}, -- Football
	{'Football américain', 'Q41323', '#E5E5E5', '#E5E5E5', '#192F6B', ''}, -- Football américain
	{'Fréjus', '', '#000000', '#000000', '#FFFFFF', ''}, -- EFC Fréjus
	{'JSKabylie', '', 'yellow', '#74CC66', '#000000', ''}, -- Jeunesse sportive de Kabylie
	{'Louhans', '', '#DF0915', '#DF0915', '#FEF000', ''}, -- Louhans Cuiseaux FC
	{'MCOran', '', 'red', 'red', 'white', ''}, -- MC Oran
	{'Strasbourg', '', '#10A3D4', '#10A3D4', '#FFFFFF', ''}, -- Racing Club de Strasbourg
	{'defaut', '', '#E1E1E1', '#E1E1E1', '#000000', 'defaut'}, -- Défaut
}

local function setformat()
	local instanceof = wd.getIds(localdata.item, {property = 'P31'})

	if not instanceof then
		return  {'Q', '', '#E1E1E1', '#E1E1E1', '#000000', 'defaut'}
	end
	instanceof = wd.addVals(instanceof, {property = 'P279'}, 2)
	for i, j in pairs(instanceof) do
		for k, l in pairs(chartes) do
			if l[2] == j then
				return l
			end
		end
	end
	return {'Q', '', '#E1E1E1', '#E1E1E1', '#000000', 'defaut'}
end

local function setcharte()
	local charte = localdata['charte']
	if charte then
		for i, j in pairs(chartes) do
			if j[1] == charte then
				return j
			end
		end
	end
	return setformat()
end

local displayformat = setcharte()

-- Titres paramétrables
local function participations() -- Participations à la compétition
	local value = localdata['titre_participations']
		if not value then
		return "Participations à la compétitions"
	else
		return localdata['titre_participations']
		end
end

local function saisonencours() -- Permet d'ajouter un lien vers la saison en cours
	if localdata['saison en cours'] then
	return '[[Fichier:Crystal Clear app kworldclock.png|left|37px]]' .. "Pour la compétition en cours, voir :<br>"..localdata['saison en cours']
	else
		return nil
	end
end

localdata['affichsaison'] = saisonencours()

local function affichsaison()
		local rows = {}	
		do
			table.insert (rows, {
			type = 'row',
		value = 'affichsaison'
		})
	end
	return rows
end

local function maj()
	return localdata['màj']
end

localdata['affichupdate'] = maj()

local function affichupdate()
		local rows = {}	
		do
			table.insert (rows, {
			type = 'row',
		value = 'affichupdate'
		})
	end
	return rows
end

local function chrono() -- Chronologie (avec 'nil' par défaut pour empêcher l'affichage intempestif du titre en l'absence de données)
	local value = localdata['chronologie']
		if not value then
		return nil
	else
		return "Chronologie"
		end
end

-- Partie principale

return 
	{
	maincolor = displayformat[3],
	secondcolor = displayformat[4],
	thirdcolor = displayformat[5],
	parts =
    	{
	general.title(displayformat[6], nil, 'nom local', nil),
	general.mainimage('Article à illustrer Sport', 'Defaut 2.svg'),
	
-- Finales
	{type = 'table', title = 'Finales',
		rows = 	{
			{type = 'row', label = "Jouées", value = "finales jouées"},
			{type = 'row', label = "Gagnées", value = "finales gagnées"},
			{type = 'row', label = "Première", value = "première finale"},
			{type = 'row', label = "Dernière", value = "dernière finale"},
			}
		},

-- Généralités (football américain)
	{type = 'table', title = 'Généralités',
		rows = 	{
			{type = 'row', label = "N° 1 pré-saison", value = "n° 1 pré-saison"},
			{type = 'row', label = "Champion final", value = "champion final"},
			}
		},
	
--Paramètres pour le football américain		
	{type = 'table', title = "Conférence la mieux représentée <small>(nbre d'équipes)</small>",
		rows = {
			{type = 'row', label = 'CFP Poll', value = 'cfp poll'},
			{type = 'row', label = 'AP Poll', value = 'ap poll'},
			{type = 'row', label = "Coaches' Poll", value = 'coaches poll'},
		}
		},
	
--Paramètres pour les coupes de football françaises	
	{type = 'table', title = "Participation",
		rows = {
			{type = 'row', label = 'Coupe de France', value = 'coupe_france'},
			{type = 'row', label = 'Coupe de la Ligue', value = 'coupe_ligue'},
			{type = 'row', label = "Coupe de la Ligue ancienne formule", value = 'coupe_ligue_old'},
			{type = 'row', label = 'Coupe Charles Drago', value = 'drago'},
			{type = 'row', label = 'Trophée des champions', value = 'trophée_champions'},
			{type = 'row', label = "Coupe d'Allemagne", value = 'coupe_allemagne'},
		}
		},
	
-- Paramètres pour les parcours internationaux en Afrique (football)
{type = 'table', title = "Matchs en coupes africaines",
		rows = {
			{type = 'row', label = '[[Ligue des champions de la CAF|C1 <small>(Ligue des champions de la CAF)</small>]]', value = 'caf_c1'},
			{type = 'row', label = 'Années', value = 'années_caf_c1'},
			{type = 'row', label = "[[Coupe d'Afrique des vainqueurs de coupe de football|C2 <small>(Coupe d'Afrique des vainqueurs de coupe)</small>]]", value = 'caf_c2'},
			{type = 'row', label = 'Années', value = 'années_caf_c2'},
			{type = 'row', label = '[[Coupe de la confédération|C3 <small>(Coupe de la confédération)</small>]]', value = 'caf_c3'},
			{type = 'row', label = 'Années', value = 'années_caf_c3'},
			{type = 'row', label = '[[Supercoupe de la CAF|Supercoupe]]', value = 'caf_super'},
			{type = 'row', label = 'Années', value = 'années_caf_super'},
			{type = 'row', label = '[[Coupe afro-asiatique des clubs de football|Afro-asiatique]]', value = 'caf_asi'},
			{type = 'row', label = 'Années', value = 'années_caf_asi'},
			}
		},
	
-- Paramètres pour les parcours internationaux en Coupes Arabes (football)
{type = 'table', title = "Matchs en coupes Arabes",
		rows = {
			{type = 'row', label = '[[Championnat arabe des clubs|C1 <small>(Championnat arabe des clubs)</small>]]', value = 'car_c1'},
			{type = 'row', label = 'Années', value = 'années_car_c1'},
			{type = 'row', label = "[[Coupe arabe des vainqueurs de coupe de football|C2 <small>(Coupe arabe des vainqueurs de coupe)</small>]]", value = 'car_c2'},
			{type = 'row', label = 'Années', value = 'années_car_c2'},
			{type = 'row', label = '[[Supercoupe arabe de football|Supercoupe]]', value = 'car_super'},
			{type = 'row', label = 'Années', value = 'années_car_super'},
			}
		},

-- Paramètres pour les parcours internationaux en Coupes d'Afriqus du Nord (football)
{type = 'table', title = "Matchs en coupes nord-africaines",
		rows = {
			{type = 'row', label = '[[Coupe du Maghreb des clubs champions|C1 <small>(Coupe du Maghreb des clubs champions)</small>]]', value = 'can_c1'},
			{type = 'row', label = 'Années', value = 'années_can_c1'},
			{type = 'row', label = "[[Coupe du Maghreb des vainqueurs de coupe|C2 <small>(Coupe du Maghreb des clubs vainqueurs de coupes)</small>]]", value = 'can_c2'},
			{type = 'row', label = 'Années', value = 'années_can_c2'},
						{type = 'row', label = "[[Coupe nord-africaine des clubs champions|C3 <small>(Coupe nord-africaine des clubs champions)</small>]]", value = 'can_c3'},
			{type = 'row', label = 'Années', value = 'années_can_c3'},
			}
		},

--Bilans Saison par saison (Football)
	{type = 'table', title = participations(), 
		rows = {
			{type = 'row', label = 'Éditions disputées', value = 'éditions disputées'},
			{type = 'row', label = 'Première participation', value = 'première participation'},
		}
	},
	{type = 'table', title = 'Palmarès et résultats notables', 
		rows = {
			{type = 'row', label = 'Meilleur résultat', value = 'meilleur résultat'},
			{type = 'row', label = 'Joueur le plus capé ', value = 'joueur le plus capé'},
			{type = 'row', label = 'Meilleur buteur', value = 'meilleur buteur'},
		}
	},

--Saison en cours
	{type = 'table', rows = affichsaison(), style = {['text-align'] = 'center', ['border-top']  = '2px solid'.. displayformat[3],}},
	{type = 'table', rows = affichupdate(), style = {['text-align'] = 'center', ['border-bottom']  = '2px solid'.. displayformat[3]}},

-- Navigateur			
		{type = 'table', title = chrono(), rows = {
			{type = 'navigator',
			previousval = "précédé par",
			previouswikidata = {property = 'P155'},
			nextval = "suivi par",
			nextwikidata = {property = 'P156'},
			inner = true,
			class = 'bordered'
			}
			}},

	}
}