انتقل إلى المحتوى

وحدة:wiktionary2025/ملعب

من ويكاموس، القاموس الحر
local lang = mw.language.new( 'ar' )

local function titles(frame)
	local jsonpage = frame:getParent().args[1] or frame.args[1]   or 'wiktionary2025/data.json'
    local data = mw.loadJsonData('module:'.. jsonpage)
    local ret = '{| class="wikitable competition-titles" data-source="' .. jsonpage .. '"\n!المفردة!!المستخدم!!تاريخ الحجز!!الحالة\n'
    for k, v in ipairs(data) do
        local status = v.status
        if status == nil then
        	status = -1
        	if  v.user then
	        	local created = mw.title.new(v.verb,0).exists
	        	status = v.user and  created and  0 or -1
        	end
    	end
        ret = ret .. '|-\n| data-create="' .. v.cat1 .. '-' .. v.root 
            .. (v.cat2 and  ('-'.. v.cat2) or '') .. '" | [[' .. v.verb .. ']] || ' .. (v.user or '') .. ' || ' .. (v.date and lang:formatDate('j/ n/ Y' , v.date) or '') 
            .. '\n| data-value="' .. status .. '" | '  .. '\n'
    end
    return ret .. '|}\n'
end

local function users(frame)
	local jsonpages = {}
	local i = 1
	while frame:getParent().args[i] or frame.args[i] do
		table.insert(jsonpages, frame:getParent().args[i] or frame.args[i])
		i=i+1
	end
    if (#jsonpages==0) then
    	table.insert(jsonpages, 'wiktionary2025/data.json')
	end
	local users_t = {}
	
    local ret = '{| class="wikitable sortable"\n!المتسابق!!المفردات!!العدد\n'
	for _,jsonpage in ipairs(jsonpages) do
    	local data = mw.loadJsonData('module:'.. jsonpage)
	    for k, v in ipairs(data) do
	        if v.user and v.status and v.status==1 then
	        	if not users_t[v.user] then
	        		users_t[v.user] = {}
	        	end
				table.insert(users_t[v.user], v.verb)
			end
	    end
    end
    for user, verbs in pairs(users_t) do
    	local status = #verbs
        ret = ret .. '|-\n| data-user="' .. user .. '" | {{مس|' .. user .. '}} || [[' 
        	.. table.concat(verbs, ']]، [[') .. ']] || ' .. status .. '\n'
    end
    return frame:preprocess(ret .. '|}\n')
end
return {titles = titles,
	users=users
}