Aller au contenu

Module:Talkpageheader

Cette page fait l’objet d’une mesure de semi-protection étendue.
Une page de Wikipédia, l'encyclopédie libre.
Ceci est une version archivée de cette page, en date du 19 novembre 2017 à 13:50 et modifiée en dernier par Od1n (discuter | contributions) (corrige namespace qui était à tort présent). Elle peut contenir des erreurs, des inexactitudes ou des contenus vandalisés non présents dans la version actuelle.

 Documentation[voir] [modifier] [historique] [purger]

Ce module est utilisé par plusieurs messages système.

Liste non exhaustive :

local p = {}

function p.main()

    local page = mw.title.getCurrentTitle()

    if not page:inNamespaces('Talk', 'Template talk', 'Category talk', 101) then
        return ''
    end

    local base = page.text

    base = mw.ustring.gsub(base, '/Suppression$', '')
    base = mw.ustring.gsub(base, '/Neutralité$', '')
    base = mw.ustring.gsub(base, '/Droit d\'auteur$', '')
    base = mw.ustring.gsub(base, '/Article de qualité$', '')
    base = mw.ustring.gsub(base, '/Bon article$', '')
    base = mw.ustring.gsub(base, '/Lumière sur$', '')
    base = mw.ustring.gsub(base, '/À faire$', '')
    base = mw.ustring.gsub(base, '/[Aa]rchive.*$', '')

    local prefixedBase = page.nsText .. base

    function lien(texte, subpage, listing)

        if subpage and mw.title.new(prefixedBase..'/'..subpage).exists then
            return '[['..prefixedBase..'/'..subpage..'|'..texte..']]'

        elseif listing and mw.title.new('Wikipédia:'..listing..'/'..base).exists then
            return '[[Wikipédia:'..listing..'/'..base..'|'..texte..']]'

        else
            return '<span title="Cette page n\'existe pas">'..texte..'</span>'
        end
    end

    return '<div id="talkpageheader">'
               .. '<div id="talkpageheadertitle">'
                   .. '<span id="talkpageheadertitletext">Autres discussions [[Spécial:Index/'..base..'/|[liste]]]</span>'
               .. '</div>'
               .. '<ul>'
                   .. '<li>' .. lien('Suppression'       , 'Suppression'       , 'Pages à supprimer'                          ) .. ' -</li>'
                   .. '<li>' .. lien('Neutralité'        , 'Neutralité'        , 'Liste des articles non neutres'             ) .. ' -</li>'
                   .. '<li>' .. lien('Droit d\'auteur'   , 'Droit d\'auteur'   , 'Pages soupçonnées de violation de copyright') .. ' -</li>'
                   .. '<li>' .. lien('Article de qualité', 'Article de qualité', 'Proposition articles de qualité'            ) .. ' -</li>'
                   .. '<li>' .. lien('Bon article'       , 'Bon article'       , 'Proposition bons articles'                  ) .. ' -</li>'
                   .. '<li>' .. lien('Lumière sur'       , false               , 'Lumière sur'                                ) .. ' -</li>'
                   .. '<li>' .. lien('À faire'           , 'À faire'           , false                                        ) .. ' -</li>'
                   .. '<li>' .. lien('Archives'          , 'Archives'          , false                                        ) .. '</li>'
               .. '</ul>'
           .. '</div>'
end

return p