Questa pagina è protetta dallo spostamento
Questa pagina è protetta

Modulo:Immagine sinottico

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca

Modulo che implementa il template {{Immagine sinottico}}.


--[[
* Modulo che implementa il template Immagine sinottico.
]]--

require('strict')

localgetArgs=require('Modulo:Arguments').getArgs
localmWikidata=require('Modulo:Wikidata')
localcatCompatibile='[[Categoria:Sinottici con immagini formattate a mano]]'
localcatNonCompatibile='[[Categoria:Sinottici con immagini con formattazione ridondante]]'
localcatDidascalia='[[Categoria:Voci con template Immagine sinottico con didascalia e immagine letta da Wikidata]]'
localp={}

localfunctionformatImage(file,args)
localdim=args.dim_utenteand
math.min(args.dim_utente,args.dim_maxorargs.dimor260)or
(args.dimor260)
returnstring.format('[[File:%s|frameless|center|%sx%spx%s%s]]',
file,dim,args.dim_vert_maxor300,
args.altand'|alt='..args.altor'',
args.descand'|'..args.descor'')
end

-- Per l'utilizzo da altro modulo
functionp._main(args)
localuserval,wdval,ret

-- evita letture indesiderate da wikidata
ifargs[1]=='no'thenreturn''end

-- controllo quadre in eccesso
ifargs[1]andargs[1]:sub(1,1)=='['then
localns0=mw.title.getCurrentTitle().namespace==0
-- con args patibile restituisce direttamente args[1] e args[2]
ifargs.compatibilethen
localcat=ns0andcatCompatibileor''
returnargs[1]..(args[2]and('<br />'..args[2])or'')..cat
elseifns0then
ret=catNonCompatibile
end
end

args.dim=tonumber(args.dim)
args.dim_max=tonumber(args.dim_max)
args.dim_utente=args.dim_utenteandtonumber(mw.text.split(args.dim_utente,'px')[1])
args.dim_vert_max=tonumber(args.dim_vert_max)

-- valore utente e wikidata
userval=args[1]
ifnotuservalandargs['proprietà']then
wdval=mWikidata._getProperty({args['proprietà'],n=1})
end

-- formatta l'immagine
ifuservalorwdvalthen
ret=(retor'')..formatImage(uservalorwdval,args)
end

-- didascalia
ifuservalthen
ret=ret..(args[2]or(args.didascalia_defaultor''))
elseifwdvalthen
-- se l'immagine è letta da Wikidata la didascalia può essere ottenuta
-- solo dal qualificatore P2096, altrimenti restituirà una categoria di errore
ret=ret..(mWikidata._getQualifier({args['proprietà'],'P2096',includelang='it',n=1})or(args.didascalia_defaultor''))
end

return(retor'')..((args[2]andwdvalandnotuserval)andcatDidascaliaor'')
end

-- Funzione per il template {{Immagine sinottico}}
functionp.main(frame)
returnp._main(getArgs(frame,{parentOnly=true}))
end

returnp