Aller au contenu

Module:Pagesincat

De Vouiquipèdia, l’enciclopèdia abada.

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

-- module reproduisant le comportement de {{PAGESINCATEGORY}}
-- sans le bug

local p = {}

-- génère une erreur
function p.fota(texto)
    return '<span class="fota">' .. (texto or "''gins de fôta endicâye''") .. "</span>"
end


-- pour tester la fonctionnalité "pageincategory"
function p.pagesincat(frame)
    -- le nom de la catégorie
    local args = ( frame.getParent and frame:getParent().args ) or frame        -- préparation pour appel par modèle ou direct.
    local cat = args[1]
    -- le type de demande
    local arg = (frame.args and frame.args["tipo"]) or args["tipo"]
    -- mise en forme des nombres ?
    local mef = args["mês’en fôrma"] or args["mês’en_fôrme"]

    local sel  -- la sélection

    -- en l'absence de nom de catégorie on utilise la page courante
    if (cat == nil or cat == "") then
        local titro = mw.title.getCurrentTitle()
        -- on vérifie qu'on est une catégorie
        if (titro.namespace ~= 14) then
            return p.fota("Pas de nom de pâge endicâ et la pâge corenta est pas na catègoria")
        end
        -- on utilise le titre de la page courante
        cat = mw.title.getCurrentTitle().text
    end
 
    -- on regarde le paramètre
    if (arg == "tôs" or arg == nil or arg == "*") then
        sel = "all"
    elseif (arg == "cats") then
        sel = "subcats"
    elseif (arg == "fichiérs") then
        sel = "files"
    elseif (arg == "pâges") then
        sel = "pages"
    else
        return p.fota("paramètro '" .. (arg or "<nil>") .. "' pas recognu")
    end
 
    local res = mw.site.stats.pagesInCategory(cat, sel)
    if (res == nil) then
        return p.fota("fôta de rècupèracion de les enformacions")
    end
    -- si mise en forme on applique
    if (mef ~= nil) then
        return mw.getContentLanguage():formatNum(res)
    else
        return tostring(res)
    end
end

return p