« Module:Site officiel » : différence entre les versions
Contenu supprimé Contenu ajouté
corr mineures, et supprime le gros message d'erreur rouge en cas d'absence de paramètre url (pas idéal avec Wikidata et la cat tracker devrait suffire) |
petite correction, apparemment les espaces Lua sont par défaut des " ? |
||
Ligne 58 : | Ligne 58 : | ||
end |
end |
||
return indicLangue .. ' |
return indicLangue .. ' [' .. url .. ' ' .. titre .. ']' .. erreurs |
||
end |
end |
||
Version du 2 novembre 2014 à 07:25
[voir] [modifier] [historique] [purger]
Ce module est utilisé par le modèle {{Site officiel}}.
La documentation de ce module est générée par le modèle {{Documentation module}}.
Elle est incluse depuis sa sous-page de documentation. Veuillez placer les catégories sur cette page-là.
Les éditeurs peuvent travailler dans le bac à sable (modifier).
Voir les statistiques d'appel depuis le wikicode sur l'outil wstat et les appels depuis d'autres modules.
local Lien = { }
local Outils = require( 'Module:Outils' )
local Wikidata = require( 'Module:Wikidata' )
local Commun = require( 'Module:Biblio/Commun' )
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']
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 ~= 'non' then
local val = Wikidata.formatAndCat{property = 'P856', displayformat = 'weblink', showntext = titre, showlang=true}
if val then
return val
end
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, codeLangue, erreurLangue = '', nil, nil -- langue telle qu'affichée dans le rendu final
if langue then
indicLangue, codeLangue, erreurLangue = Commun.indicationDeLangue2 ( args, validArg, langue )
if erreurLangue then
erreurs = erreurs .. caterreur('langue')
end
end
return indicLangue .. ' [' .. url .. ' ' .. titre .. ']' .. erreurs
end
return Lien