FANDOM


local Lien = { }
 
local Outils = require "Module:Outils"
local Wikidata = require "Module:Interface Wikidata".fromLua
local Langue = require "Module:Langue"
 
local function caterreur(param)
	if mw.title.getCurrentTitle().namespace == 0 then
		return '[[Catégorie:Page du modèle Site officiel comportant une erreur|' .. string.upper(param or '?') .. ']]'
	else
		return ''
	end
end
 
function Lien.siteOfficiel( frame )
	local oldargs = Outils.extractArgs( frame )
	local args = {}
	for i, j in pairs(oldargs) do
		if j ~= '' then args[i] = j end
	end
 
	local titre = args['titre'] or args['title'] or 'Site officiel'
	local langue = args['langue'] or args['lang']
	local url = args['url'] or args[2] or args[1]
	local erreurs = '' -- les messages d'erreurs sont ajoutés ici
 
	if (not langue) and (args[2]) then
		langue = args[1]
	end
 
	-- si pas d'URL, essayer Wikidata
	if not url and (args.wikidata ~= '-') then
		local links = Wikidata.getClaims{property = 'P856'}
		if links and (#links > 1) then
			titre = 'Sites officiels'
		end
		return Wikidata.formatAndCat{claims = links, property = 'P856', displayformat = 'weblink', showlang = true, text = titre}
	end
 
	-- si toujours pas, ajouter les catégories d'erreur et sortir
	if not url then
		erreurs = erreurs .. caterreur('url')
		return erreurs
	end
 
	-- nettoyage de l'URL
	url = string.gsub ( string.gsub ( url, '%[', '%%5B' ), '%]', '%%5D' )
	if not ( string.match( url, '^http' ) or string.match( url, '^//' ) ) then
			url = 'http://' .. url
	end
 
	-- formatage de la langue
	local indicLangue = ''  -- langue telle qu'affichée dans le rendu final
	if langue then
		indicLangue = Langue.indicationMultilingue{ langue } .. ' '
	end
 
	return indicLangue .. '[' .. url .. ' ' .. titre .. ']' .. erreurs
end
 
return Lien

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.