Module:Redirection de modèle
De Didaquest
Aller à la navigationAller à la rechercheUtilisation
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é.
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