Modul:Benutzerprofil

From Star Citizen Wiki
Dokumentations-Unterseite Diese Dokumentationsseite spiegelt den Inhalt der Seite Modul:Benutzerprofil/Doku wieder.

Modulabhängigkeiten

Dokumentation unvollständig.


local Benutzerprofil = {}

local metatable = {}
local methodtable = {}

metatable.__index = methodtable

-- Extensions
local infobox = require( 'Module:Infobox' )


--- Creates the infobox
function methodtable.getInfoBox( self )
    local box = infobox.create( {
        bodyClass = 'floatright',
        removeEmpty = true,
    } )

    box:addImage( self.frameArgs[ 'image' ] or self.frameArgs[ 'Bild' ] )
    	:addCaption( self.frameArgs[ 'Überschrift' ] )

		:addTitle( self.frameArgs[ 'Name' ] )

    	:addHeader( 'Informationen' )
    	:addRow( 'Geschlecht', self.frameArgs[ 'Geschlecht' ], nil, 'col2' )
    	:addRow( 'Zugehörigkeit', self.frameArgs[ 'Zugehörigkeit' ], nil, 'col2' )
    	:addRow( 'Geboren', self.frameArgs[ 'Geboren' ], nil, 'col2' )
    	:addRow( 'Gestorben', self.frameArgs[ 'Gestorben' ], nil, 'col2' )

		:addHeader( 'Online' )
		if self.frameArgs[ 'Webseite Name'] ~= nil then
			box:addRow( self.frameArgs[ 'Webseite Name' ], self.frameArgs[ 'Webseite' ] )
		else
			box:addRow( 'Webseite', self.frameArgs[ 'Webseite' ] )
		end
	box:addRow( 'GitHub', self.frameArgs[ 'GitHub' ] )
	   :addRow( 'Discord', self.frameArgs[ 'Discord' ] )
	
	if self.frameArgs[ 'Referral Code'] ~= nil then
		box:addHeader( 'Referral Programm' )
		   :addRow( 'Code', string.format( '[https://robertsspaceindustries.com/enlist?referral=%s %s]',  self.frameArgs[ 'Referral Code'], self.frameArgs[ 'Referral Code'] ) )
	end

	box:addHeader( 'Fahrzeuge' )
		:addRow( 'Lieblings Schiff', self.frameArgs[ 'Lieblings Schiff' ] )
		:addRow( 'Lieblings Fahrzeug', self.frameArgs[ 'Lieblings Fahrzeug' ] )


	-- TODO: Make Generic / Move to Modul:Common / Infobox (?)
	for section = 1, 3, 1 do
		if self.frameArgs[ 'Abschnitt ' .. section ] ~= nil then
			box:addHeader( self.frameArgs[ 'Abschnitt ' .. section ] )
	
			for i = 1, 10, 1 do
				if self.frameArgs[ 'Titel ' .. section .. '.' .. i] ~= nil and self.frameArgs[ 'Inhalt ' .. section .. '.' .. i] ~= nil then
					box:addRow( self.frameArgs[ 'Titel ' .. section .. '.' .. i], self.frameArgs[ 'Inhalt ' .. section .. '.' .. i], nil, 'col2' )
				end
			end
		end
	end

    return tostring( box )
end


--- Set the frame and load args
--- @param frame table
function methodtable.setFrame( self, frame )
    self.currentFrame = frame
    self.frameArgs = require( 'Module:Arguments' ).getArgs( frame )
end


--- Template entry
function Benutzerprofil.main( frame )
    local instance = Benutzerprofil:new()
    instance:setFrame( frame )

    return tostring( instance:getInfoBox() )
end


--- New Instance
function Benutzerprofil.new( self )
    local instance = {}

    setmetatable( instance, metatable )

    return instance
end


return Benutzerprofil
Cookies help us deliver our services. By using our services, you agree to our use of cookies.