Module:Mention
Apparence
La documentation de ce module est générée par le modèle {{Documentation module}}.
Les éditeurs peuvent travailler dans le bac à sable (créer).
Voir les statistiques d'appel depuis le wikicode sur l'outil wstat et les appels depuis d'autres modules.
-- {{Semi-protection étendue}}
local p = {}
function p.mention(frame)
-- Nombre maximum de notifs autorisées par appel
local NB_MAX_MENTION = 10
local result = ""
-- Récupération des paramètres passés au modèle invoquant ce module
local args = frame:getParent().args
-- S'il y a des paramètres non nommés (usage standard)
if args[1] then
-- On écrit déjà le premier utilisateur
result = '[[User:' .. args[1] .. '|' .. args[1] .. ']]'
local i = 2
-- S'il y a d'autres paramètres
if args[2] then
-- Tant qu'on est pas arrivés au dernier paramètre, ou à la limite fixée par NB_MAX_MENTION, on inscrit tous les noms
while args[i+1] and i < NB_MAX_MENTION do
result = result .. ', [[User:' .. args[i] .. '|' .. args[i] .. ']]'
i = i+1
end
-- Et on s'occupe du dernier utilisateur à part (on utilise "et" au lieu d'une virgule)
result = result .. ' et [[User:' .. args[i] .. '|' .. args[i] .. ']]'
end
-- Le modèle Mention fut utilisé à un moment en utilisant des paramètres nommés, le bloc suivant fait la même chose que ce qui précède dans le cas de paramètres nommés
elseif args['texte1'] then
result = '[[User:' .. args['texte1'] .. '|' .. args['texte1'] .. ']]'
local i = 2
if args['texte2'] then
while args['texte' .. tonumber(i+1)] and i < NB_MAX_MENTION do
result = result .. ', [[User:' .. args['texte' .. tonumber(i)] .. '|' .. args['texte' .. tonumber(i)] .. ']]'
i = i+1
end
result = result .. ' et [[User:' .. args['texte' .. tonumber(i)] .. '|' .. args['texte' .. tonumber(i)] .. ']]'
end
end
-- Et finalement on retourne la chaîne de caractères qu'on vient de construire
return result
end
return p