PC Gaming Shelter
An archive dedicated to preserving PC Gaming history and more

Module:Universe: Difference between revisions

From PC Gaming Shelter
No edit summary
No edit summary
Line 20: Line 20:


function p.Mods(frame)
function p.Mods(frame)
local data = getCurrentGame()
local data     = getCurrentGame()
local game = data.game
local game     = data.game
local resource = data.resource
local resource = data.resource
local query = {
local query = {
'[[Category:Mods||Maps||Skins||Utilities]][[Related game::' .. game .. ']]'
'[[Category:Mods||Maps||Skins||Utilities]][[Related game::' .. game .. ']]'
}
}
local data = mw.smw.ask(query)
local content = mw.smw.ask(query)
local forminput = frame:callParserFunction({ name = '#forminput', '', args = {
local forminput = frame:callParserFunction({ name = '#forminput', '', args = {
Line 35: Line 35:
}})  
}})  


local html = mw.html.create()
setDisplayTitle(frame, string.format('%s %s', game, resource))
setDisplayTitle(frame, string.format('%s %s', game, resource))
Line 43: Line 41:


function p.Players()
function p.Players()
local data    = getCurrentGame()
local game    = data.game
local resource = data.resource
local query = {
local query = {
'[[Category:Players]][[Plays game::' .. getCurrentGame() .. ']]'
'[[Category:Players]][[Plays game::' .. getCurrentGame() .. ']]'
}
}
return mw.smw.ask(query)
local content = mw.smw.ask(query)
local forminput = frame:callParserFunction({ name = '#forminput', '', args = {
'form=Player',
'query string=Player[Plays game]=' .. game,
'button text=Create or Edit Player Entry',
'autocomplete on category=Players',
'autofocus=no'
}})
 
setDisplayTitle(frame, string.format('%s %s', game, resource))
 
return forminput
end
end


function p.Clans()
function p.Clans()
local data    = getCurrentGame()
local game    = data.game
local resource = data.resource
local query = {
local query = {
'[[Category:Communities]][[Related game::' .. getCurrentGame() .. ']]'
'[[Category:Communities]][[Related game::' .. getCurrentGame() .. ']]'
}
}
return mw.smw.ask(query)
local content = mw.smw.ask(query)
local forminput = frame:callParserFunction({ name = '#forminput', '', args = {
'form=Community',
'query string=Community[Related game]=' .. game,
'button text=Create or Edit Community Entry',
'autocomplete on category=Communities',
'autofocus=no'
}})
 
setDisplayTitle(frame, string.format('%s %s', game, resource))
 
return forminput
end
end


return p
return p

Revision as of 10:07, 31 July 2026

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

local utils = require( 'Module:Utils' )

local p = {}

local function getCurrentGame()
	local title = mw.title.getCurrentTitle()
	local game  = title.rootText
	local resource = title.subpageText
	local data = {
		['game'] = game,
		['resource'] = resource,
	}
	return data
end

local function setDisplayTitle(frame, title)
	local displayTitle = frame:preprocess(string.format('{{DISPLAYTITLE:%s|noreplace, noerror}}', title))
	return displayTitle
end

function p.Mods(frame)
	local data     = getCurrentGame()
	local game     = data.game
	local resource = data.resource
	local query = {
		'[[Category:Mods||Maps||Skins||Utilities]][[Related game::' .. game .. ']]'		
	}
	local content = mw.smw.ask(query)
	
	local forminput = frame:callParserFunction({ name = '#forminput', '', args = {
		'form=Mod',
		'query string=Mod[Related game]=' .. game,
		'button text=Create or Edit Mod',
		'autofocus=no'
	}}) 

	setDisplayTitle(frame, string.format('%s %s', game, resource))
	
	return forminput 
end

function p.Players()
	local data     = getCurrentGame()
	local game     = data.game
	local resource = data.resource
	
	local query = {
		'[[Category:Players]][[Plays game::' .. getCurrentGame() .. ']]'		
	}
	
	local content = mw.smw.ask(query)
	
	local forminput = frame:callParserFunction({ name = '#forminput', '', args = {
		'form=Player',
		'query string=Player[Plays game]=' .. game,
		'button text=Create or Edit Player Entry',
		'autocomplete on category=Players',
		'autofocus=no'
	}})

	setDisplayTitle(frame, string.format('%s %s', game, resource))

	return forminput
end

function p.Clans()
	local data     = getCurrentGame()
	local game     = data.game
	local resource = data.resource
	
	local query = {
		'[[Category:Communities]][[Related game::' .. getCurrentGame() .. ']]'		
	}
	
	local content = mw.smw.ask(query)
	
	local forminput = frame:callParserFunction({ name = '#forminput', '', args = {
		'form=Community',
		'query string=Community[Related game]=' .. game,
		'button text=Create or Edit Community Entry',
		'autocomplete on category=Communities',
		'autofocus=no'
	}})

	setDisplayTitle(frame, string.format('%s %s', game, resource))

	return forminput
end

return p