La documentazione per questo modulo può essere creata in Modulo:Unsigned/doc
local p = {}
function base( args )
local type = args.type or 'Non firmato'
local user = args.user
local date = args.date
if date and not date:find( '%(UTC%)$' ) then
date = date .. ' (UTC)'
end
local nowiki = ''
if mw.isSubsting() then
nowiki = '<nowiki/>'
end
local text = {
'<small>–Il commento ' .. mw.ustring.lower( type ) .. ' precedente è stato aggiunto',
'. Per favore firma i tuoi post con ~~' .. nowiki .. '~~</small>'
}
if date then
table.insert( text, 2, ' at ' .. date )
end
if user then
local userLinks
if not user:find( '[^:%x%.%d]' ) and require( 'Modulo:IPAddress' ).isIP( user ) then
userLinks = '[[Speciale:Contributi/' .. user .. '|' .. user .. ']] ([[Discussioni utente:' .. user .. '|discussione]])'
else
userLinks = '[[Utente:' .. user .. '|' .. user .. ']] ([[Discussioni utente:' .. user .. '|discussione]] • [[Speciale:Contributi/' .. user .. '|contributi]])'
end
table.insert( text, 2, ' da ' .. userLinks )
end
return table.concat( text )
end
p.unsigned = function( f )
local args = require( 'Module:ProcessArgs' ).norm( f.args or f )
local type = args.type or 'Unsigned'
local user = args.user
local date = args.date
local category = { '<!-- Template:' .. type .. ' -->' }
if mw.isSubsting() then
-- Don't allow substitution with missing required arg
if type == 'Unsigned' and not user then
local dateArg = ''
if date then
dateArg = '||' .. date
end
return '{{Unsigned' .. dateArg .. '}}'
elseif type == 'Undated' and not date then
return '{{Undated}}'
end
elseif mw.title:getCurrentTitle().namespace ~= 10 then
if type == 'Unsigned' and not user then
table.insert( category, '[[Categoria:Template unsigned non usato correttamente]]' )
elseif type == 'Undated' and not date then
table.insert( category, '[[Categoria:Template undated non usato correttamente]]' )
end
table.insert( category, '[[Categoria:Pagina con template che richiedono la sostituzione]]' )
end
return base( args ) .. table.concat( category )
end
return p