وحدة:Wikidata2/template
يمكن إنشاء صفحة توثيق الوحدة في وحدة:Wikidata2/template/شرح
local p = {}
local wl = require('وحدة:ص.م')
local track = require('وحدة:Wikidata/تتبع').makecategory1
function string.ends(String,End)
return End=='' or string.sub(String,-string.len(End))==End
end
function template ( args )
local rows = mw.html.create( 'tr' )
local years = args[1] .. "–" .. args[2]
local goals;
if args[4] and args[4] ~="" then
goals = "(" .. args[4] .. ")"
end
rows:attr('colspan', 4)
--head:css('background-color', '#E1E1E1')
rows:tag('td'):tag("span"):addClass('nowrap'):wikitext(years)
rows:tag('td'):wikitext(args[3])
rows:tag('td'):tag("span"):addClass('nowrap'):wikitext(args[2] or "-")
rows:tag('td'):tag("span"):addClass('nowrap'):wikitext(goals)
return tostring(rows)
end
function p.football( statement , options)
Args = {}
op = options
op.enbarten = 'true'
if statement then
if statement.type then
if statement.type == 'statement' then
local value = statement.mainsnak.datavalue.value
local entit = getEntityIdFromValue( value )
local s = formatSnak( statement.mainsnak, options ).value
if s then
if statement.references then
if options.reff and options.reff ~= '' then
reff = formatReferences( statement, options )
s = s..reff
end
end
local entit = getEntityIdFromValue( value )
if statement.qualifiers
then
function tato(number , Q_n)
if Q_n then
op["property"] = Q_n
Args[number] = formatStatements({
property = Q_n , firstvalue= "t",
illwd2= options.illwd2,
enlabelcate= options.enlabelcate,
}, statement.qualifiers) or ''
end
end
tato(0 , options.Q0)
Args[1] = s
tato(2 , options.Q1)
tato(3 , options.Q2)
tato(4 , options.Q3)
tato(5 , options.Q4)
tato(6 , options.Q5)
tato(7 , options.Q6)
tato(8 , options.Q7)
tato(9 , options.Q8)
tato(10 , options.Q9)
tato(11 , options.Q10)
end
s = Args
end
end
end
end
return Args
end
function p.foot( claims , options)
local icon = track({property="P54", id= options.entityId or "",category= "[[تصنيف:فرق لاعب كرة من ويكي بيانات]][[تصنيف:فرق لاعب من ويكي بيانات]]"})
local Other = {}
for i, statement in pairs( claims ) do
options.num = i
local stat = p.football( statement, options )
table.insert( Other, stat )
end
Labs = {}
lenth = 0
function make_lab(numb , q)
val = options[q]
if options[val] and options[val] ~= "" then Labs[numb] = options[val] elseif val and val ~= "" then Labs[numb] = mw.wikibase.label( val ) end
if val and val ~= "" then lenth = lenth + 1 end
end
make_lab(0 , "Q0" )
Labs[1] = options.Q1_lab or "value"
make_lab(2 , "Q1" )
make_lab(3 , "Q2" )
make_lab(4 , "Q3" )
make_lab(5 , "Q4" )
make_lab(6 , "Q5" )
make_lab(7 , "Q6" )
make_lab(8 , "Q7" )
make_lab(9 , "Q8" )
make_lab(10 , "Q9" )
make_lab(11 , "Q10" )
local fs = {}
class=""
local tab = mw.html.create( 'table' )
tab:addClass('wikitable sortable')
local head = tab:tag('tr')
head:attr('colspan', lenth )
i = 0
while true do
if Labs[i] then head:tag('th'):wikitext( Labs[i] ) end
i = i + 1
if i == 11 then break end
end
for _, v in ipairs(Other) do
ii = 0
if v[0] then
ca = tab:tag('tr')
while true do
if Labs[ii] and v[ii] then
ca:tag('td'):wikitext( v[ii] )
end
ii = ii + 1
if ii == 11 then break end
end
end
end
local content = mw.getCurrentFrame():expandTemplate{ title = "صندوق معلومات سيرة كرة قدم/تعديل ويكي بيانات", args ={id = options.entityId or ""} }
if #fs > 0 then
local edit_at_wd = tab:tag('tr')
:tag('td')
:attr('scope', 'col')
:css('background-color', '#F9F9F9')
:css('color', '#000000')
:css('text-align', "left")
:attr('colspan', lenth)
:wikitext(content)
:done()
--table.insert( fs, tostring(edit_at_wd) )
end
--if tot == '' then tot = nil end
--return tot
return tab --table.concat(fs)
end
return p