پرش به محتوا

پودمان:FootballPlayer

از ویکی البرز

توضیحات این پودمان می‌تواند در پودمان:FootballPlayer/توضیحات قرار گیرد.

local frame = mw.getCurrentFrame()

local styles = frame:extensionTag{
    name = "templatestyles",
    args = {
        src = "Module:FootballPlayer/styles.css"
    }
}
local p = {}

local html = mw.html

local function trim(v)
	if not v then
		return ""
	end
	return mw.text.trim(v)
end

local function has(v)
	return trim(v) ~= ""
end

local function td(row,text,class)
	row:tag("td")
		:addClass(class or "")
		:wikitext(text or "")
end

local function th(row,text,class)
	row:tag("th")
		:addClass(class or "")
		:wikitext(text or "")
end

local function addRow(tbl,label,value)

	if not has(value) then
		return
	end

	local row=tbl:tag("tr")

	th(row,label,"football-label")
	td(row,value,"football-data")

end

local function addHeader(tbl,title)

	local row=tbl:tag("tr")

	row:tag("th")
		:attr("colspan","2")
		:addClass("football-header")
		:wikitext(title)

end

local function buildYouth(tbl,args)

	local found=false

	for i=1,10 do

		if has(args["جوانان"..i]) then
			found=true
			break
		end

	end

	if not found then
		return
	end

	addHeader(tbl,"دوران جوانان")

	local row=tbl:tag("tr")

	local cell=row:tag("td")
		:attr("colspan","2")

	local t=html.create("table")
		:addClass("football-subtable")

	local h=t:tag("tr")

	h:tag("th"):wikitext("سال‌ها")
	h:tag("th"):wikitext("باشگاه")

	for i=1,10 do

		local years=args["سال‌های جوانان"..i]
		local club=args["جوانان"..i]

		if has(years) or has(club) then

			local r=t:tag("tr")

			r:tag("td"):wikitext(years or "")
			r:tag("td"):wikitext(club or "")

		end

	end

	cell:node(t)

end
local function buildClubCareer(tbl,args)

	local found=false

	for i=1,20 do

		if has(args["باشگاه"..i]) then
			found=true
			break
		end

	end

	if not found then
		return
	end

	addHeader(tbl,"دوران باشگاهی")

	local row=tbl:tag("tr")

	local cell=row:tag("td")
		:attr("colspan","2")

	local t=html.create("table")
		:addClass("football-subtable")

	local h=t:tag("tr")

	h:tag("th"):wikitext("سال‌ها")
	h:tag("th"):wikitext("باشگاه")
	h:tag("th"):wikitext("بازی")
	h:tag("th"):wikitext("گل")

	for i=1,20 do

		local years=args["سال‌ها"..i]
		local club=args["باشگاه"..i]
		local apps=args["بازی"..i]
		local goals=args["گل"..i]

		if has(years) or has(club) or has(apps) or has(goals) then

			local r=t:tag("tr")

			r:tag("td"):wikitext(years or "")
			r:tag("td"):wikitext(club or "")
			r:tag("td"):wikitext(apps or "")
			r:tag("td"):wikitext(goals or "")

		end

	end

	cell:node(t)

end

local function buildNationalCareer(tbl,args)

	local found=false

	for i=1,10 do

		if has(args["تیم ملی"..i]) then
			found=true
			break
		end

	end

	if not found then
		return
	end

	addHeader(tbl,"تیم ملی")

	local row=tbl:tag("tr")

	local cell=row:tag("td")
		:attr("colspan","2")

	local t=html.create("table")
		:addClass("football-subtable")

	local h=t:tag("tr")

	h:tag("th"):wikitext("سال‌ها")
	h:tag("th"):wikitext("تیم")
	h:tag("th"):wikitext("بازی")
	h:tag("th"):wikitext("گل")

	for i=1,10 do

		local years=args["سال‌های ملی"..i]
		local team=args["تیم ملی"..i]
		local apps=args["بازی ملی"..i]
		local goals=args["گل ملی"..i]

		if has(years) or has(team) or has(apps) or has(goals) then

			local r=t:tag("tr")

			r:tag("td"):wikitext(years or "")
			r:tag("td"):wikitext(team or "")
			r:tag("td"):wikitext(apps or "")
			r:tag("td"):wikitext(goals or "")

		end

	end

	cell:node(t)

end
function p.main(frame)

	local args=frame:getParent().args

	local tbl=html.create("table")
		:addClass("wikitable")
		:addClass("infobox")
		:addClass("football-infobox")
		:css("width","320px")
		:css("float","left")
		:css("margin","0 0 1em 1em")

	local title=tbl:tag("caption")
		:addClass("football-title")

	title:wikitext(
		has(args["نام"]) and args["نام"] or mw.title.getCurrentTitle().text
	)

	if has(args["تصویر"]) then

		local row=tbl:tag("tr")

		local cell=row:tag("td")
			:attr("colspan","2")
			:addClass("football-image")

		local img="[[پرونده:"..args["تصویر"]

		if has(args["اندازه تصویر"]) then
			img=img.."|"..args["اندازه تصویر"]
		else
			img=img.."|250px"
		end

		img=img.."]]"

		cell:wikitext(img)

		if has(args["توضیح تصویر"]) then

			cell:tag("div")
				:addClass("football-caption")
				:wikitext(args["توضیح تصویر"])

		end

	end

	addHeader(tbl,"اطلاعات فردی")

	addRow(tbl,"نام کامل",args["نام کامل"])
	addRow(tbl,"تاریخ تولد",args["تاریخ تولد"])
	addRow(tbl,"محل تولد",args["محل تولد"])
	addRow(tbl,"قد",args["قد"])
	addRow(tbl,"پست",args["پست"])
	addRow(tbl,"ملیت",args["ملیت"])

	addHeader(tbl,"اطلاعات باشگاهی")

	addRow(tbl,"باشگاه کنونی",args["باشگاه کنونی"])
	addRow(tbl,"شماره",args["شماره"])

	buildYouth(tbl,args)

	buildClubCareer(tbl,args)

	buildNationalCareer(tbl,args)

return styles .. tostring(tbl)

end

return p