وحدة:ب.ص.م/بطاقة/ملعب رياضي

من ويكيبيديا، الموسوعة الحرة
اذهب إلى التنقل اذهب إلى البحث

هذه الصفحة شرح لوحدة من وحدات البطاقات المبنية اعتمادا على وحدة:ب.ص.م. وتستعمل في {{بطاقة ملعب رياضي}}.

local building = require "وحدة:ب.ص.م/أدوات/مبنى"
local general = require "وحدة:ب.ص.م/أدوات"
local address = require "وحدة:ب.ص.م/بيانات/عنوان"
local localdata = require( 'وحدة:ب.ص.م/بيانات' )
local wd = require "Module:Wikidata/fr"

local formats = {
	--{icône carte, icône entete, couleur titre, couleur sous-titre, couleur texte)
	Q37025296 = {'pitch', nil, '#D7877B', 'defaut', 'defaut', 'defaut'}, -- stade d'athlétisme
	Q595452 = {'كرة السلة', nil, '#408080', 'defaut', '#FFFFFF', 'defaut'}, -- stade de baseball
	Q37985280 = {'america-football', nil, '#BFD33C', 'defaut', 'defaut', 'defaut'}, -- stade de football américain
	Q1154710 = {'كرة القدم', nil, '#99CC99', 'defaut', 'defaut', 'defaut'}, -- stade de football
	Q741118 = {'كرة المضرب', 'tennis', '#FFAA77', 'defaut', 'defaut', 'defaut'}, -- court de tennis
	default = {nil, nil, '#EFEFEF', 'defaut', 'defaut', 'defaut'}
}

local function wdformat() --retourne une table contenant la couleur principale de l'infobox et l'icône de titre
	local wtypes = wd.stringTable{ -- récupère les Qid des professions
		entity = localdata.item,
		property = 'P31',
		displayformat = 'raw',
		excludespecial = true
	}
	local default = formats.default
	wtypes = wd.addVals(wtypes or {}, {property = 'P279'}, 1) -- on utilise en plus les sous-classe
	for i, item in pairs(wtypes or {}) do
		if formats[item] then
			return formats[item]
		end
	end
	return default
end
local function setcharte()
	if localdata['charte'] then
		charte = localdata['charte']
		for i, j in pairs(formats) do
			if j[2] == charte then
				return j
			end
		end
	end
	return wdformat()
end

local displayformat = setcharte()

return 
	{
	maincolor = displayformat[3],
	secondcolor = displayformat[4],
	thirdcolor = displayformat[5],
	parts = {
		
		general.title(),
		general.logo(),
		building.mainimage('مقالة عن ملعب'),
		{type = 'table', title = 'معلومات عامة', rows = {
			{type = 'mixed', label = 'أسماء سابقة', value = {'أسماء سابقة','اسم سابق','الأسماء_السابقة','former names'}},
			{type = 'mixed', label = 'لقب', value = {'لقب','اللقب','اسم_الشهرة','nickname'}},
			{type = 'mixed', label = 'الاسم الكامل', value ={'اسم كامل','الاسم_الكامل','fullname'} },
			building.usage(),
			{type = 'mixed', label = 'العنوان', value = {'عنوان','العنوان','الموقع','location'}, wikidata = function ( item ) return address.fullAddress(item) end}
		}},
	
		{type = 'table', title = "التشييد والافتتاح", rows = {
			building.construction(),
			building.opening(),
					
			building.creator(),
			{type = 'mixed', label = 'مهندس الخدمات', value = {'مهندس الخدمات','مهندس_الخدمات'}},
			{type = 'mixed', label = 'المقاول الرئيسي', value = {'المقاول الرئيسي','المقاول_الرئيسي'}, property = 'P137'},
			{type = 'mixed', label = 'المتعهد العام', value = {'مهندس الخدمات','المتعهد_العام','المتعهد العام'}},
			{type = 'mixed', label = 'مدير المشروع', value = {'مدير_المشروع','مدير المشروع','project_manager','project manager'}},
			{type = 'mixed', label = 'المتعهد الرئيسي', value = {'المتعهد_الرئيسي','المتعهد الرئيسي','main contractors','main_contractors'}},
			
			building.renovation(),
			{type = 'mixed', label = 'كلفة التشييد', value ={'كلفة_الإنشاء','كلفة','construction_cost','construction cost'} , property = 'P2130'},
			building.material(),
			building.closure(),
			building.demolition(),
		}},
	
		{type = 'table', title = 'الاستعمال', rows = {
			{type = 'mixed', label = 'المستضيف', value = {'فرق','مستضيف','tenants'}, property = 'P466'},
			{type = 'mixed', label = 'المالك', value = 'مالك', property = 'P127'},
			{type = 'mixed', label = 'الإدارة', value = 'إدارة', property = 'P137'},
		}},
	
		{type = 'table', title = 'معلومات أخرى', rows = {
			--{type = 'mixed', label = 'المساحة', value = 'مساحة'},
			{type = 'mixed', label = 'الطاقة الاستيعابية', value = {'سعة','عدد_المقاعد','capacity','seating_capacity'} , 
				wikidata={property = 'P1083' ,showqualifiers='P641', showdate=true, conjtype='new line'}}, --mais voir les qualificatifs à utiliser pour éviter les trucs bizarres
			{type = 'mixed', label = 'الأرضية', value = {'أرضية','الأرضية','surface'}, property = 'P765'},
			{type = 'mixed', label = 'حضور قياسي ', value = 'حضور_قياسي'},
			{type = 'mixed', label = 'الأبعاد', value = {'أبعاد','الأبعاد'}},
			building.dimensions(),
			building.protection(),
			building.transport(),
			{type = 'mixed', label = 'الجوائز', value = {'جوائز','الجوائز'}, property = 'P166'},
		}},
	
		{type = 'table', title = 'الموقع الجغرافي', rows = {
			building.coordinates(),
		}},
	
		building.geoloc({marker=displayformat[1], default_zoom=11}),
	}
}