Ouvrir le menu principal

 Documentation[modifier] [purger]

Module utilisé par {{Mention}}, {{Notif}}, {{Notif discret}} et {{Notif invisible}}, ainsi que {{Bonjour}}, {{Bonsoir}}, {{Salut}} et {{Merci}}.

local p = {}

function p.main( frame )
    local parentArgs = frame:getParent().args
    local trimFunc = mw.text.trim -- cache accès global

    -- utilisé par Modèle:Mention
    local prefixe = frame.args.prefixe or ''

    local indexMax = 20
    local depasseMax = false

    local items = {}

    for i, v in ipairs( parentArgs ) do
        if i <= indexMax then
            local username = trimFunc( v )
            if username ~= '' then
                local texte = username
                if parentArgs['texte' .. i] and parentArgs['texte' .. i] ~= '' then
                    texte = parentArgs['texte' .. i]
                end
                items[#items + 1] = prefixe .. '[[Utilisateur:' .. username .. '|' .. texte .. ']]'
            end
        else
            depasseMax = true
        end
    end

    if #items == 0 then
        return '<span class="error">vous devez spécifier au moins un utilisateur</span>'
    end

    local result = mw.text.listToText( items )

    if depasseMax then
        result = result .. '<span class="error">trop d\'utilisateurs : maximum ' .. indexMax .. '</span>'
    end

    return result
end

return p