Prijeđi na sadržaj

Modul:Infookvir tracking

Izvor: Wikipedija
Inačica 6444020 od 14. kolovoza 2022. u 21:36 koju je unio Ivi104 (razgovor | doprinosi) (test novog pristupa)


local p = {}

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

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

local function ima(v, okvir, extArgs, maincats)
    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 ' ..
                    okvir:lower() .. ' s parametrom ' ..
                    sinonimi[1] .. ']]'
        end
    end
    return maincats
end

function p.tracking(frame)

    local cats = ''
    local maincats = ''
    local extArgs = frame:getParent().args
    local args = frame.args
    local warnmsg = {}
	local okvir = args["okvir"]
    -- smjer: ima, nema ili oba
    for k, v in pairs(args) do
        if k ~= "okvir" and k~= "smjer" then
    
		    if args["smjer"] == "nema" or isblank(args["smjer"]) then
		        maincats = nema(v, okvir, extArgs, maincats)
		    else
		        if args["smjer"] == "ima" then
		            maincats = ima(v, okvir, extArgs, maincats)
		        else
		            if args["smjer"] == "oba" then
		                maincats = ima(args, extArgs, maincats)
		                maincats = nema(v, okvir, extArgs, maincats)
		            end
		        end
		    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