Module:Notification

De Wikirouge
Aller à la navigation Aller à la recherche

La documentation pour ce module peut être créée à Module:Notification/doc

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