Module:Transfers: Difference between revisions

From TwogPedia
(Created page with "local getArgs = require('Module:Arguments').getArgs 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' local cargoArgs = { where = '_pageName LIKE "' .. args.game .. '%"', orderBy = 'joindate DESC, leavedate DESC' } local result...")
 
No edit summary
Line 1: Line 1:
local getArgs = require('Module:Arguments').getArgs
local getArgs = require('Module:Arguments').getArgs
local Flags = require('Module:Flags')
local cargo = mw.ext.cargo
local cargo = mw.ext.cargo


Line 9: Line 10:
if args.game ~= nil then
if args.game ~= nil then
local tables = 'Transfers'
local tables = 'Transfers'
local fields = '_pageName, id, joindate, leavedate, inactivedate, newteam, flag'
local fields = '_pageName, id, joindate, leavedate, inactivedate, newteam, flag, joinref, leaveref, joinrefname, leaverefname'
local cargoArgs = {
local cargoArgs = {
where = '_pageName LIKE "' .. args.game .. '%"',
where = '_pageName LIKE "' .. args.game .. '%"',
Line 15: Line 16:
}
}
local results = cargo.query(tables, fields, cargoArgs)
local results = cargo.query(tables, fields, cargoArgs)
mw.logObject(results)
-- mw.logObject(results)
if #results > 0 then
if #results > 0 then
for r = 1, #results do
for r = 1, #results do
local result = results[r]
local result = results[r]
mw.logObject(result)
local gameCategory = mw.text.split(result._pageName, '/')[1]
local transfer = mw.html.create('div')
local transfer = mw.html.create('div')
:wikitext('[[' .. result.id .. ']]')
: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)
parent:node(transfer)

Revision as of 10:11, 23 December 2022

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