As part of the Unified Community Platform project, your wiki will be migrated to the new platform in the next few weeks. Read more here.

Module:SubpageAfter

From PUBG Esports Wiki
Jump to: navigation, search

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

local util_form = require('Module:FormUtil')
local util_cargo = require('Module:CargoUtil')

-- this module is to be wiki-specific

local p = {}
function p.after(frame, fulltitle, tabstype)
	local titletbl = mw.text.split(fulltitle, '/')
	local text = {}
	if tabstype == 'Player' then
		p.after_player(text, frame, titletbl)
	elseif tabstype == 'Team' then
		p.after_team(text, frame, titletbl)
	end
	if not mw.title.makeTitle('',titletbl[1]).exists then
		text[#text+1] = '[[Category:Player Secondary Pages Without Primary Pages]]'
	end
	local output = table.concat(text)
	return output
end

function p.after_player(text, frame, titletbl)
	if titletbl[2] == 'Statistics' and titletbl[3] then
		text[#text+1] = p.playerConcept(titletbl) or ''
	end
	if titletbl[2] then
		if p.doWeLowercase('Players', titletbl[1]) then
			text[#text+1] = frame:expandTemplate({ title = 'lowercase' })
		end
	end
	return
end

function p.playerConcept(titletbl)
	local player = titletbl[1]
	local year = titletbl[3]
	local concept = mw.title.makeTitle('Concept', player .. '/Games')
	if not concept.exists then
		return nil
	end
	local formlink = util_form.fullURL('CareerPlayerStats', 'CPS', {player = player, year = year})
	return string.format("\n:''To see all stats for %s not separated by tournament, <span class=\"plainlinks\">[%s Click Here]</span>.",
		year,
		formlink
		)
end

function p.after_team(text, frame, titletbl)
	if titletbl[2] then
		if p.doWeLowercase('Teams', titletbl[1]) then
			text[#text+1] = frame:expandTemplate({ title = 'lowercase' })
		end
	end
	return
end

function p.doWeLowercase(tbl, title)
	local query = {
		tables = tbl,
		fields = 'IsLowercase',
		where = string.format('_pageName="%s"',title),
		types = { IsLowercase = 'boolean' }
	}
	return util_cargo.getOneResult(query)
end
return p