Dieses Modul benötigt Modul:Infobox
Dieses Modul benötigt Modul:Arguments
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