Prijeđi na sadržaj

Modul:Infookvir tracking

Izvor: Wikipedija
Inačica 6444089 od 15. kolovoza 2022. u 00:00 koju je unio Ivi104 (razgovor | doprinosi) (ispr.)


local p = {}

local function isblank(val) return (val == nil) or val:match('^[%s]*$') end

local function nema(args, extArgs, maincats)
    for k, v in pairs(args) do
        if k ~= "okvir" and k ~= "smjer" then
            local sinonimi = mw.text.split(v, "@", true)
            local sinonimiSize = 0
            local countNema = 0
            for tk, tv in pairs(sinonimi) do
                sinonimiSize = sinonimiSize + 1
                if (isblank(extArgs[tv])) then 
                	countNema = countNema + 1 
                end
            end
            if sinonimiSize == countNema then
                maincats = maincats .. '[[Kategorija:Stranice koje koriste ' ..
                               args['okvir']:lower() .. ' bez parametra ' ..
                               sinonimi[1] .. ']]'
            end
        end
    end
    return maincats
end

local function ima(args, extArgs, maincats)
    for k, v in pairs(args) do
        if k ~= "okvir" and k ~= "smjer" then
            local sinonimi = mw.text.split(v, "@", true)
            for tk, tv in pairs(sinonimi) do
                if (not isblank(extArgs[tv])) then
                    maincats =
                        maincats .. '[[Kategorija:Stranice koje koriste ' ..
                            args['okvir']:lower() .. ' s parametrom ' ..
                            sinonimi[1] .. ']]'
                end
            end
        end
    end
    return maincats
end

function p.tracking(frame)

    local cats = ''
    local maincats = ''
    local extArgs = frame:getParent().args
    local args = frame.args
    local warnmsg = {}

    -- smjer: ima, nema ili oba
    if args["smjer"] == "nema" or isblank(args["smjer"]) then
        maincats = nema(args, extArgs, maincats)
    else
        if args["smjer"] == "ima" then
            maincats = ima(args, extArgs, maincats)
        else
            if args["smjer"] == "oba" then
                maincats = ima(args, extArgs, maincats)
                maincats = nema(args, extArgs, maincats)
            end
        end
    end

    if #warnmsg > 0 then
        cats = require('Module:If preview')._warning({
            table.concat(warnmsg, '<br>') .. '<br>(' .. args['okvir']:lower() ..
                ').'
        }) .. cats
    end

    if maincats ~= '' and mw.title.getCurrentTitle().namespace == 0 then
        cats = cats .. maincats
    end

    return cats
end

return p