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 à 02:07 et modifiée en dernier par Od1n (discuter | contributions) (WIP, pour MediaWiki:Talkpageheader (et MediaWiki:Newarticletext), système plus élaboré, notamment pour si le titre de l'article contient un slash (signalé sur DIMS)). Elle peut contenir des erreurs, des inexactitudes ou des contenus vandalisés non présents dans la version actuelle.
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)

 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.prefixedText

    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.*$', '')

    function lien(texte, subpage, listing)

        if subpage and mw.title.new(base..'/'..subpage).exists then
            return '[['..base..'/'..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 id="talkpageheaderlist">'
                   .. '<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