Module:Redirection de modèle
[voir] [modifier] [historique] [purger]
Utilisation
Fonctions exportables :
genererBandeau(frame)
– Arguments pris en charge (frame.args) : type, obsolète, à conserver, message, nocat. Voir Modèle:Redirection de modèle pour la descriptions des paramètres.
Autres fonctions :
estObsolete( arguments )
– Détermine si la redirection est obsolète. Prend en paramètre la liste des arguments fournis au module. Retourne un booléen.obtenirCategories( paramType, obsolete )
– 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.
Modules externes et autres éléments dont ce module a besoin pour fonctionner :
mw.language
– Bibliothèque utilisée pour les fonctionslcfirst
etucfirst
.mw.title
– Bibliothèque utilisée pour tester l'existence d'une page, obtenir le titre de la page courante et générer des url.Module:Bandeau
– Module utilisé pour générer le bandeau affiché.
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 (créer).
Voir les statistiques d'appel depuis le wikicode sur l'outil wstat et les appels depuis d'autres modules.
local p = { }
local lang = mw.language.new( 'fr' )
-- 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 = '[[Catégorie:Redirection de modèle obsolète]]'
end
if paramType ~= nil then
lcParamType = lang:lcfirst(paramType)
local cat = mw.title.new( 'Catégorie:Redirection de modèle - '..lcParamType )
if cat.exists then
categories = categories..'[[Catégorie:Redirection de modèle - '..lcParamType..']]'
else
categorie = categories..'[[Catégorie:Redirection de modèle]]'
end
else
categorie = categories..'[[Catégorie:Redirection de modèle]]'
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 = 'Cette redirection '
if obsolete then
pTitre = pTitre..'est obsolète.'
else
pTitre = pTitre..'doit être conservée.'
end
-- Génération du paramètre 'texte'
local pTexte = 'La [[Aide:Redirection|redirection]] \'\'\''..titreCourant.text..'\'\'\''
if obsolete then
pTexte = pTexte..' est obsolète et ne pourra être supprimée qu\'une fois son remplacement achevé'
else
pTexte = pTexte..' est utile et ne doit pas être supprimée'
end
local pageSpeciale = mw.title.new( 'Spécial:Pages liées/'..titreCourant.fullText )
pTexte = pTexte..' <small>(['..pageSpeciale:fullUrl('hidetrans=0&hidelinks=1&hideredirs=0&hideimages=1')..' vérifier son utilisation])</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 : (à compléter).'
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