Module:Sponsored teams: Difference between revisions

From TwogPedia
No edit summary
No edit summary
Line 7: Line 7:
:addClass('sponsored')
:addClass('sponsored')
local currentTitle = mw.title.getCurrentTitle().text
local currentTitle = mw.title.getCurrentTitle().text
-- Look up Cargo table teams with current page as sponsor
-- Look up Cargo table teams with current page as sponsor
local tables = 'Sponsors, Teams'
local tables = 'Sponsors, Teams'
local fields = 'Sponsors._pageName'
local fields = 'Sponsors._pageName=sponsorPage, Teams._pageName=teamPage, Teams.org=org'


local cargoArgs = {
local cargoArgs = {
join = 'Sponsors._pageName=Teams._pageName, Sponsors._pageName=Teams.org',
join = 'Sponsors._pageName=Teams.org',
where = 'Sponsors.id= "' ..currentTitle .. '" OR Teams.org="' .. currentTitle .. '"',
where = 'Sponsors.id= "' ..currentTitle .. '"',
limit=10,
limit=10,
orderBy='Sponsors.start'
orderBy='Sponsors.start'
}
}
local results = cargo.query(tables, fields, cargoArgs)
local results = cargo.query(tables, fields, cargoArgs)
mw.logObject(results)
local ul = mw.html.create('ul')
if #results > 0 then
if #results > 0 then
local ul = mw.html.create('ul')
for r = 1, #results do
for r = 1, #results do
mw.log(results[r])
mw.log(results[r].org == nil and #mw.text.split(results[r].sponsorPage, '/'))
mw.logObject(results[r])
if ( results[r].org or ( results[r].org == nil and #mw.text.split(results[r].sponsorPage, '/') ~= 1)) then
        local result = results[r]
mw.log(results[r])
        local li = mw.html.create('li')
mw.logObject(results[r])
        :wikitext('[[' .. result._pageName .. ']]')
        ul:node(li)
        local result = results[r]
        mw.log(result.sponsorPage)
        mw.log(type(result.sponsorPage))
mw.logObject(result.sponsorPage)
        local li = mw.html.create('li')
        :wikitext('[[' .. result.sponsorPage .. ']]')
        ul:node(li)
        end
    end
    end
else  
else  
return nil
return nil
end
end
mw.log(ul)
mw.logObject(ul)
return container:node(ul)
return container:node(ul)

Revision as of 18:42, 22 September 2022

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

local cargo = mw.ext.cargo

local Sponsored = {}

function Sponsored.get(frame)
	local container = mw.html.create('div')
		:addClass('sponsored')
	local currentTitle = mw.title.getCurrentTitle().text

	-- Look up Cargo table teams with current page as sponsor
	local tables = 'Sponsors, Teams'
	local fields = 'Sponsors._pageName=sponsorPage, Teams._pageName=teamPage, Teams.org=org'

	local cargoArgs = {
		join = 'Sponsors._pageName=Teams.org',
		where = 'Sponsors.id= "' ..currentTitle .. '"',
		limit=10,
		orderBy='Sponsors.start'
	}
	local results = cargo.query(tables, fields, cargoArgs)
	mw.logObject(results)
	local ul = mw.html.create('ul')
	if #results > 0 then
		for r = 1, #results do
			mw.log(results[r].org == nil and #mw.text.split(results[r].sponsorPage, '/'))
			if ( results[r].org or ( results[r].org == nil and #mw.text.split(results[r].sponsorPage, '/') ~= 1)) then
				mw.log(results[r])
				mw.logObject(results[r])
				
		        local result = results[r]
		        mw.log(result.sponsorPage)
		         mw.log(type(result.sponsorPage))
				mw.logObject(result.sponsorPage)
		        local li = mw.html.create('li')
		        	:wikitext('[[' .. result.sponsorPage .. ']]')
		        ul:node(li)
	        end
	    end
	else 
		return nil
	end
	mw.log(ul)
	mw.logObject(ul)
	
	return container:node(ul)
end

return Sponsored