Documentation for this module may be created at Module:PlayerRosterGallery/doc
local util_args = require('Module:ArgsUtil')
local util_cargo = require("Module:CargoUtil")
local util_html = require("Module:HtmlUtil")
local util_map = require('Module:MapUtil')
local util_table = require("Module:TableUtil")
local util_text = require("Module:TextUtil")
local util_vars = require("Module:VarsUtil")
local i18n = require("Module:I18nUtil")
local lang = mw.getLanguage('en')
local Gallery = require('Module:GalleryClass')
local h = {}
local p = {}
function p.main(frame)
local args = util_args.merge()
local images = h.makeAndRunQuery(args)
return Gallery(images):run()
end
function p.showContent(args)
local query = h.getQuery(args)
if #util_cargo.queryAndCast(query) == 0 then
SHOW_CONTENT = 'No'
else
SHOW_CONTENT = 'Yes'
end
return SHOW_CONTENT
end
function h.makeAndRunQuery(args)
local query = h.getQuery(args)
return util_cargo.queryAndCast(query)
end
function h.getQuery(args)
local query = {
tables = {
'PlayerRedirects=PR',
'TeamRosterPhotosPlayer=TRPP',
'TeamRosterPhotos=TRP',
'Tournaments=T',
},
join = {
'PR.AllName=TRPP.Player',
'TRPP.FileName=TRP.FileName',
'TRP.Tournament=T.OverviewPage',
},
where = h.getWhere(args),
fields = { 'TRP.FileName', 'TRP.Caption' },
orderBy = 'COALESCE(TRP.SortDate, T.DateStart, T.Date)',
}
util_cargo.logQuery(query)
return query
end
function h.getWhere(args)
local where = {
('PR._pageName="%s"'):format(args.player),
('TRP._pageName IS NOT NULL'),
}
return where
end
return p