Modulo:RichiestaCU

Questo è un modulo scritto in Lua. Le istruzioni che seguono sono contenute nella sottopagina Modulo:RichiestaCU/man (modifica · cronologia)
Sandbox: Modulo:RichiestaCU/sandbox (modifica · cronologia) · Sottopagine: lista · Test: Modulo:RichiestaCU/test (modifica · cronologia · Esegui)
Questo modulo genera alcune parti dell'omonimo template, evitando ripetizioni di codice inutili e permettendo un numero arbitrario di parametri per gli utenti oggetto delle richieste.
local p = {}
function colore(arg1, arg2)
local colori = {
positivo = 'F0B090',
probabile = 'F0D050',
incerto = 'F0F0E0',
negativo = 'C0E090',
respinto = 'AEAEAE',
altro = 'E0F0FF'
}
if arg1 ~= nil and arg1 ~= '' then
if colori[arg1] ~= nil then
return colori[arg1]
end
elseif colori[arg2] ~= nil then
return colori[arg2]
else
return 'FFFFFF'
end
return ''
end
function riga(utente, risultato, sign)
local links = {
string.format('[[Utente:%s|%s]] <small class="plainlinks">[[Speciale:Contributi/%s|contributi]]', utente, utente, utente),
string.format('[[Speciale:DeletedContributions/%s|(cancellati)]]', utente),
'['..tostring(mw.uri.fullUrl('Speciale:Log', { ['type'] = 'block', page = 'Utente:'..mw.uri.encode(utente) }))..' blocchi]',
string.format('[[Wikipedia:Check user/Richieste/Archivio/Utenti/%s|Prec]]</small>', utente),
'<span class="plainlinks">['..tostring(mw.uri.fullUrl('Speciale:CheckUser', { user = mw.uri.encode(utente) }))..' CU]</span>'
}
return '|-\n| bgcolor=#'..colore(risultato, sign)..' | '..table.concat(links, ' · ')
end
function p.righe(frame)
local args = frame:getParent().args
local sign = args.RISULTATOSIGN or ''
local res = {}
local numero = 1
while true do
if args['UTENTE'..numero] then
local utente = mw.text.trim(args['UTENTE'..numero])
if utente ~= '' then
table.insert(res, riga(utente, args['RISULTATO_UTENTE'..numero], sign))
numero = numero + 1
elseif numero == 1 then
return '<small><span class="error">ERRORE#1: Richiesta non valida: non è stata indicata alcuna utenza.</span></small>'
elseif numero == 2 then
return '<small><span class="error">ERRORE#2: Non è possibile accogliere la richiesta: devono essere indicate almeno due utenze.</span></small>'
else
break
end
else
break
end
end
return table.concat(res, '\n')
end
return p