SMITE Esports Wiki
Advertisement
To edit the documentation or categories for this module, click here.
-- CurrentLeagueParticipantNavbox
local Team = require('Module:Team').team
local util_navbox = require('Module:NavboxUtil')
local p = {}

function p.formatTeam(teams, teamrow, suffix)
	if util_navbox.doesSuffixExist(teamrow.teamlink, suffix) then
		teams[#teams+1] = Team{ teamrow.teamlink, "rightmediumlinked", suffix = suffix }
	else
		teams[#teams+1] = string.format('<span class="no-subpage">%s</span>',
			Team{ teamrow.teamlink, "rightmediumlinked" }
			)
	end
	return
end

function p.CLPNavbox(frame)
	local args = frame
	if frame == mw.getCurrentFrame() then
		args = require( 'Module:ProcessArgs' ).merge( true )
	else
		frame = mw.getCurrentFrame()
	end
	
	local text = {}
	
	local title = mw.title.getCurrentTitle()
	
	local thisteam = Team{args[1] or title.baseText,"teamlinkname"}
	
	local suffix = (args.suffix == 'Yes') and util_navbox.getSuffix(args, title)
	
	local result = mw.ext.cargo.query("CCCurrentLeagues, TournamentRosters",
		"CONCAT(CCCurrentLeagues.Page)=Page,CCCurrentLeagues.Event=Event",
		{
			where = 'TournamentRosters.TeamLink="' .. thisteam .. '" AND CCCurrentLeagues.Page IS NOT NULL',
			groupBy = "CCCurrentLeagues.Page",
			join = "TournamentRosters._pageName = CCCurrentLeagues.Page"
		})
		
	for _, row in ipairs(result) do
		
		lineresult = mw.ext.cargo.query("TournamentRosters","TeamLink=teamlink", {
			where = '_pageName = "' .. row.Page .. '"',
			groupBy = "TeamLink"
		})
		
		teams = {}
		
		for _, teamrow in ipairs(lineresult) do
			p.formatTeam(teams, teamrow, suffix)
		end
		
		
		text[#text+1] = frame:expandTemplate{ title = "Navbox", args = {
			name = "CurrentLeagueParticipantNavbox",
			title = "[[" .. row.Page .. "|" .. row.Event .. "]] Participants",
			state = "mw-collapsible",
			list1 = table.concat(teams, "&ensp;")
		}}
	
		frame:callParserFunction('#vardefine','navbox','true')
	
	end
	
	output = table.concat(text,"")
	
	return output
	
end

return p
Advertisement