Modulo:Sito ufficiale: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m modulo no globals obsoleto
 
(13 versioni intermedie di 3 utenti non mostrate)
Riga 1:
--[[
* Modulo che implementa il template {{Sito ufficiale}}.
]]--
require('Modulo:No globalsstrict')
 
local mWikidata = require('Modulo:Wikidata')
local mEditAtWikidata = require('Modulo:Modifica su Wikidata').showMessage
local wdCategory = '[[Categoria:Sito web ufficiale letto da Wikidata]]'
local errorCategory = '[[Categoria:Voci con template Sito ufficiale e senza dati da recuperare da Wikidata]]'
local p = {}
 
local function formatWebsite(website, titolotitle)
return mw.getCurrentFrame():expandTemplate {
title = 'Cita web',
args = {
url = website.url,
titolo = titolotitle,
lingua = table.concat(website.langs, ' ,')
}
}
end
 
--[[
* @param int pid Wikidata Property ID
]]
local function getWebsites(pid)
local claims
Riga 45 ⟶ 40:
end
 
-- Funzione per il template
--[[
* Entry-point per il template {{Sito ufficiale}}
]]
function p.main(frame)
frame.args.pid local websites = frame.args and getWebsites(frame.args.pid or 'P856')
frame.args.title = frame.args and frame.args.title or 'Sito ufficiale'
 
local websites = getWebsites(frame.args.pid)
for idx, website in ipairs(websites) do
-- P856le èproprietà utilizzate sono di tipo "valore singolo", aggiunge l'elenco puntato solo per le eccezioni
websites[idx] = (idx > 1 and '*' or '') ..
formatWebsite(website, frame.args.title or 'Sito ufficiale') .. mEditAtWikidata(frame)
mEditAtWikidata._showMessage({ pid = frame.args.pid or 'P856' })
end
return #websites > 0 and table.concat(websites, '\n') or ''
(table.concat(websites, '\n') .. wdCategory) or
(mw.title.getCurrentTitle().namespace == 0 and errorCategory or nil)
end