Module:Redirection de modèle
La documentation pour ce module peut être créée à Module:Redirection de modèle/doc
local p = { }
local lang = mw.language.new( 'ht' )
-- Détermine si la redirection est obsolète.
-- Prend en paramètre la liste des arguments fournis au module.
-- Retourne un booléen.
local function estObsolete( arguments )
local paramType = arguments['type']
local paramObsolete = arguments['obsolète']
local paramConserver = arguments['à conserver']
if paramObsolete ~= nil then
return true
elseif paramConserver ~= nil then
return false
else
if paramType ~= nil then
if paramType == 'palette' then
return true
elseif paramType == 'utilisateur' then
return true
elseif paramType == 'infobox' then
return true
else
return false
end
else
return false
end
end
end
-- Génère la catégorisation.
-- Prend en paramètre la valeur du paramètre 'type' fournie au module
-- et l'information sur le fait que la redirection est obsolète ou non.
-- Retourne du wikicode contenant les catégories.
local function obtenirCategories( paramType, obsolete )
local categories = ''
if obsolete then
categories = '[[Kategori:Redireksyon modèl obsolète]]'
end
if paramType ~= nil then
lcParamType = lang:lcfirst(paramType)
local cat = mw.title.new( 'Kategori:Redirksyon modèl - '..lcParamType )
if cat.exists then
categories = categories..'[[Kategori:Redirksyon modèl - '..lcParamType..']]'
else
categorie = categories..'[[Kategori:Redirksyon modèl]]'
end
else
categorie = categories..'[[Kategori:Redirksyon modèl]]'
end
return categories
end
-- Fonction principale
function p.genererBandeau( frame )
local arguments = frame:getParent().args
local obsolete = estObsolete( arguments )
local titreCourant = mw.title.getCurrentTitle()
-- Génération du paramètre 'niveau'
local pNiveau = 'information'
-- Génération du paramètre 'icône'
local pIcone = 'Redirect arrow without text.svg'
-- Génération du paramètre 'titre'
local pTitre = 'Redireksyon sa a '
if obsolete then
pTitre = pTitre..' obsolète.'
else
pTitre = pTitre..' dwe konsève.'
end
-- Génération du paramètre 'texte'
local pTexte = '[[Èd:Redireksyon|redireksyon]] \'\'\''..titreCourant.text..'\'\'\''
if obsolete then
pTexte = pTexte..' obsolète epi li p ap la efase toutotan sa k ap raplase l la poko pare'
else
pTexte = pTexte..' itil epi li pa dwe efase'
end
local pageSpeciale = mw.title.new( 'Espesyal:SakLye/'..titreCourant.fullText )
pTexte = pTexte..' <small>(['..pageSpeciale:fullUrl('hidetrans=0&hidelinks=1&hideredirs=0&hideimages=1')..' verifye itilizasyon l])</small>.'
if arguments['type'] ~= nil and arguments['type'] ~= '' then
pTexte = pTexte..'<br>Motif : '..lang:ucfirst(arguments['type'])..'.'
else
if not obsolete then
pTexte = pTexte..'<br>Motif : (pou konplete).'
end
end
if arguments['message'] ~= nil then
pTexte = pTexte..' '..arguments['message']
end
local module = require( 'Module:Bandeau' )
local args = { }
args['niveau'] = pNiveau
args['icône'] = pIcone
args['titre'] = pTitre
args['texte'] = pTexte
local chaine = module._bandeauAvertissement( args )
-- Ajout des catégories
if arguments['nocat'] == nil then
local categories = obtenirCategories( arguments['type'], obsolete )
chaine = chaine..categories
end
-- Fin
return chaine
end
return p