Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
WikiTech
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
Module:InfoCaseta
Module
Discussion
English
Read
Edit source
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit source
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
local getArgs = require('Modul:Arguments').getArgs local infoboxBio = require('Modul:InfoboxBiography') local TableTools = require('Modul:TableTools') local wikidata = require('Modul:Wikidata') local editAtWd = require('Modul:EditAtWikidata').displayMessage local StringUtils = require('Modul:StringUtils') local p = {} local argscnt = 1 local function addLabel(ibargs, label) ibargs['label' .. tostring(argscnt)] = label end local function addHeader(ibargs, header) ibargs['header' .. tostring(argscnt)] = header argscnt = argscnt + 1 end local function addData(ibargs, data) ibargs['data' .. tostring(argscnt)] = data argscnt = argscnt + 1 end local function fromArray(args) local ibargs = {['culoare cadru'] = 'CCBBEE', ['culoare text'] = '000', aboveclass = 'regalitate', wikidata = 'y', doc = args['caller'] or 'Infocaseta Regalitate', default_title = 'Domnia' } local origargs = TableTools.shallowClone(args) local numberedargs = TableTools.numData(origargs, true) local unnumberedargs = nil if origargs['succesiune'] or origargs['domnie'] then unnumberedargs = { succesiune = origargs['succesiune'], domnie = origargs['domnie'], ['încoronare'] = origargs['încoronare'] or origargs['incoronare'], predecesor = origargs['predecesor'], succesor = origargs['succesor'], regent = origargs['regent'] } table.insert(numberedargs, 1, unnumberedargs) end ibargs['subheader1'] = origargs['titlu'] ibargs['subheaderstyle'] = 'background-color:#dedede;' ibargs['name'] = origargs['nume'] ibargs['image'] = origargs['image'] or origargs['imagine'] ibargs['image_size'] = origargs['image_size'] or origargs['mărime'] ibargs['caption'] = origargs['descriere'] ibargs['spouse'] = origargs['soț'] or origargs['casatorit cu'] or origargs['căsătorit cu'] ibargs['spouse-type'] = origargs['spouse-type'] ibargs['children'] = origargs['urmași'] ibargs['birth_name'] = origargs['nume complet'] ibargs['father'] = origargs['tată'] or origargs['tatal'] ibargs['mother'] = origargs['mamă'] or origargs['mama'] if ibargs['father'] or ibargs['mother'] then ibargs['parents'] = table.concat(TableTools.compressSparseArray({ibargs['father'], ibargs['mother']}), tostring(mw.html.create('br'))) end ibargs['siblings'] = origargs['frați'] ibargs['birth_date'] = origargs['data nașterii'] or origargs['data nasterii'] ibargs['death_date'] = origargs['data decesului'] or origargs['data mortii'] or origargs['data morții'] ibargs['birth_place'] = origargs['locul nașterii'] or origargs['locul nasterii'] ibargs['death_place'] = origargs['locul decesului'] or origargs['locul mortii'] or origargs['locul morții'] ibargs['burial_place'] = origargs['locul înmormântării'] or origargs['înmormântat'] ibargs['burial_date'] = origargs['data înmormântării'] ibargs['occupation'] = origargs['ocupație'] ibargs['religion'] = origargs['religie'] ibargs['signature'] = origargs['semnătură'] or origargs['semnatura'] local capitalizeTitlesInList = function(list) local capitalizedList = {} if list then for _,eachElement in ipairs(list) do table.insert(capitalizedList, StringUtils._capitalize({eachElement})) end end return capitalizedList end local royalTitle = origargs['titluri'] or origargs['altetitulaturi'] or table.concat(capitalizeTitlesInList(wikidata.getTimestampedValueList(nil, 'P97')), tostring(mw.html.create('br'))) local royalFamily = origargs['casa'] or origargs['casa regala'] or origargs['casă regală'] or origargs['casa regală'] or table.concat(capitalizeTitlesInList(wikidata.getTimestampedValueList(nil, 'P53')), tostring(mw.html.create('br'))) local royalAnthem = origargs['imn regal'] or wikidata.findOneValue('P85') local heirApparent = origargs['moștenitor'] or origargs['mostenitor'] if royalTitle or royalFamily or royalAnthem then addHeader(ibargs, 'Apartenență nobiliară') if royalTitle then addLabel(ibargs, 'Titluri') addData(ibargs, royalTitle) end if royalFamily then addLabel(ibargs, 'Familie nobiliară') addData(ibargs, royalFamily) end if royalAnthem then addLabel(ibargs, 'Imn regal') addData(ibargs, royalAnthem) end if heirApparent then addLabel(ibargs, 'Moștenitor') addData(ibargs, heirApparent) end end local fem = args['f'] or args['femeie'] or wikidata.isFemale() if not numberedargs or #numberedargs == 0 then local wdPositionClaims = wikidata.findClaimsForProperty(nil, 'P39') or {} for _,eachClaim in ipairs(wdPositionClaims) do if eachClaim.mainsnak.snaktype == 'value' then local positionQid = eachClaim.mainsnak.datavalue.value['numeric-id'] local linktoPosition = wikidata.findLinkToItem('Q' .. tostring(positionQid), true, fem, false) .. ' ' .. editAtWd('P39') addHeader(ibargs, linktoPosition) local reignTimes = {} if eachClaim.qualifiers then if eachClaim.qualifiers['P580'] and eachClaim.qualifiers['P580'][1] then if eachClaim.qualifiers['P580'][1].snaktype == 'value' then table.insert(reignTimes, wikidata.printSnak(eachClaim.qualifiers['P580'][1])) elseif eachClaim.qualifiers['P580'][1].snaktype == 'unknownvalue' then table.insert(reignTimes, '?') end end if eachClaim.qualifiers['P582'] and eachClaim.qualifiers['P582'][1] then if eachClaim.qualifiers['P582'][1].snaktype == 'value' then table.insert(reignTimes, wikidata.printSnak(eachClaim.qualifiers['P582'][1])) elseif eachClaim.qualifiers['P582'][1].snaktype == 'unknownvalue' then table.insert(reignTimes, '?') end end if #reignTimes == 0 and eachClaim.qualifiers['P585'] and eachClaim.qualifiers['P585'][1] then if eachClaim.qualifiers['P585'].snaktype == 'value' then table.insert(reignTimes, wikidata.printSnak(eachClaim.qualifiers['P585'][1])) elseif eachClaim.qualifiers['P585'].snaktype == 'unknownvalue' then table.insert(reignTimes, '?') end end if #reignTimes > 0 then addLabel(ibargs, 'Domnie') addData(ibargs, table.concat(reignTimes, mw.text.decode(' – ', true))) end if eachClaim.qualifiers['P1365'] and eachClaim.qualifiers['P1365'][1] then addLabel(ibargs, 'Predecesor') if eachClaim.qualifiers['P1365'][1].snaktype == 'value' then addData(ibargs, wikidata.printSnak(eachClaim.qualifiers['P1365'][1])) elseif eachClaim.qualifiers['P1365'][1].snaktype == 'novalue' then addData(ibargs, 'nimeni') else addData(ibargs, '?') end end if eachClaim.qualifiers['P1366'] and eachClaim.qualifiers['P1366'][1] then addLabel(ibargs, 'Succesor') if eachClaim.qualifiers['P1366'][1].snaktype == 'value' then addData(ibargs, wikidata.printSnak(eachClaim.qualifiers['P1366'][1])) elseif eachClaim.qualifiers['P1366'][1].snaktype == 'novalue' then addData(ibargs, 'nimeni') else addData(ibargs, '?') end end end end end else if not numberedargs[1].succesiune then addHeader(ibargs, 'Domnie') end for _,eachReign in ipairs(numberedargs) do if eachReign.succesiune then addHeader(ibargs, eachReign.succesiune) end if eachReign.domnie then addLabel(ibargs, 'Domnie') addData(ibargs, eachReign.domnie) end if eachReign.domnie or eachReign.succesiune then if eachReign['încoronare'] then addLabel(ibargs, eachReign['cor-type'] or 'Încoronare') addData(ibargs, eachReign['încoronare']) end if eachReign.predecesor then addLabel(ibargs, eachReign['pred-type'] or 'Predecesor') addData(ibargs, eachReign.predecesor) end if eachReign.succesor then addLabel(ibargs, eachReign['suc-type'] or 'Succesor') addData(ibargs, eachReign.succesor) end if eachReign.regent then addLabel(ibargs, eachReign['reg-type'] or 'Regent') addData(ibargs, eachReign.regent) end end end end return infoboxBio.displayInfoboxFromArgs(ibargs) end local function fromFrame(frame) local args = getArgs(frame) return fromArray(args) end p.fromFrame = fromFrame p.fromArray = fromArray return p
Summary:
Please note that all contributions to WikiTech may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
WikiTech:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Search
Search
Editing
Module:InfoCaseta
Add topic