وحدة:wiktionary2025/ملعب
المظهر
| هذه صفحة ملعب الوحدة لصفحة وحدة: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
}