Module:Transfers

From TwogPedia
Revision as of 10:11, 23 December 2022 by Couchor (talk | contribs)

Documentation for this module may be created at Module:Transfers/doc

local getArgs = require('Module:Arguments').getArgs
local Flags = require('Module:Flags')
local cargo = mw.ext.cargo

local Transfers = {}

function Transfers.main(frame)
	local args = getArgs(frame)
	local parent = mw.html.create('div')
	if args.game ~= nil then
		local tables = 'Transfers'
		local fields = '_pageName, id, joindate, leavedate, inactivedate, newteam, flag, joinref, leaveref, joinrefname, leaverefname'
		local cargoArgs = {
			where = '_pageName LIKE "' .. args.game .. '%"',
			orderBy = 'joindate DESC, leavedate DESC'
		}
		local results = cargo.query(tables, fields, cargoArgs)
		-- mw.logObject(results)
		if #results > 0 then
			for r = 1, #results do
				local result = results[r]
				mw.logObject(result)
				local gameCategory = mw.text.split(result._pageName, '/')[1]
				local transfer = mw.html.create('div')
					:addClass('transferItem')
				
				local game = mw.html.create('div')
					:wikitext('[[File:' .. gameCategory .. '_logo.png]]')
				
				transfer:node(game)
				
				if result.leavedate then
					local leavedate = mw.html.create('div')
						:wikitext(result.leavedate)
					transfer:node(leavedate)
				elseif result.joindate then
					mw.logObject(result.joindate)
					mw.log(result.joindate)
					mw.logObject(result)
					local joindate = mw.html.create('div')
						:wikitext(result.joindate)
					transfer:node(joindate)
				end
				
				local player = mw.html.create('div'):addClass('flag')
				-- local id = mw.html.create('td')
				-- 	:addClass('linkID')
				-- 	:node(flagDiv)
				if ( result.flag ) then
					local flag = Flags.icon(result.flag, gameCategory)
					player:wikitext(flag)
				end
				
				transfer:node(player:wikitext('[[' .. result.id .. ']]'))
				
				if result.joinref or result.joinrefname then
		        	local refName = result.joinrefname or ''
		        	local ref = result.joinref or ''
		        	transfer:wikitext(frame:preprocess('<ref name='.. refName .. '>' ..ref .. '</ref>'))
				end
	        
	        	if result.leaveref or result.leaverefname then
		        	local refName = result.leaverefname or ''
		        	local ref = result.leaveref or ''
		        	transfer:wikitext(frame:preprocess('<ref name='.. refName .. '>' ..ref .. '</ref>'))
		        end
					
				parent:node(transfer)
			end
		end
	else 
		
	end
	return parent
end

return Transfers