Module:Redirection de modèle
From CryptoWiki
Documentation for this module may be created at Module:Redirection de modèle/doc
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