Modulo:Progetti interessati: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m fix note
aggiornato aspetto grafico
Riga 13:
local projParams = { 'progetto', 'progetto2', 'progetto3', 'progetto4' }
local gradeParams = { 'accuratezza', 'scrittura', 'fonti', 'immagini' }
--local importanceParams = { 'importanza', 'importanza2', 'importanza3', 'importanza4' }
local validGrades = { a = true, b = true, c = true, d = true, e = true }
local validImportances = { massima = true, alta = true, media = true, bassa = true }
 
-------------------------------------------------------------------------------
Riga 32 ⟶ 34:
return args[param] or 'nc'
end
 
--local function importanceFromProject(projParam, args)
-- local num = mw.ustring.match(projParam, '^progetto(%d)$')
-- local param = num and ('importanza' .. num) or
-- (projParam == 'progetto' and 'importanza' or nil)
-- return args[param] or 'sconosciuta'
--end
 
local function lowestGrade(args)
Riga 41 ⟶ 50:
local function parseArgs(args)
local cat = ''
 
-- controllo importanza
--for _, param in ipairs(importanceParams) do
-- if args[param] and not validImportances[args[param]] then
-- args[param] = nil
-- cat = '[[Categoria:Pagine con template Monitoraggio con importanza invalida]]'
-- end
--end
 
-- controllo valutazioni
for _, param in ipairs(gradeParams) do
if args[param] and not validGrades[args[param]] then
if args[param] ~= 'nc' then
cat = cat .. '[[Categoria:Pagine con template Monitoraggio con valutazione invalida]]'
end
args[param] = nil
Riga 145 ⟶ 163:
table.insert(ret, '[[' .. cat .. ']]')
end
--cat = string.format('Categoria:Voci monitorate Progetto %s - importanza %s',
-- project(param, args), importanceFromProject(param, args))
--table.insert(ret, '[[' .. cat .. ']]')
end
end
Riga 174 ⟶ 195:
icon = icon == '' and 'Crystal Clear app ksirtet.png' or icon
 
return string.format('[[File:%s|35x50px25x40px]]', icon)
end
 
local function getWlinkProjectsgetWlinkProject(param, args)
local fmt = '<small>([[Discussioni progetto:%s|leggi discussioni]]' ..
local ret = ''
' <b>·</b> [%s nuova discussione]' ..
for _, param in ipairs(projParams) do
' <b>·</b> [[Progetto:%s/Monitoraggio voci|monitoraggio]])</small>'
if args[param] then
ret = ret .. return string.format("%s[[Progetto:%s/Monitoraggio voci|'''%s%s''']]"fmt,
project(param, args),
#ret == 0 and '' or '&nbsp;-&nbsp;',
mw.title.new('Discussioni progetto:' ..
project(param, args),
project(param, args)):fullUrl( { #retaction == 0 and 'Monitoraggio edit', orsection = 'new' } ),
project(param, args))
--importanceFromProject(param, args))
end
end
 
return ret
end
 
local function getNodeProjects(args)
local tableStyle = {
['text-align'] = 'center',
['background'] = 'none',
width = '100%'
}
local tableNode = mw.html.create('table')
 
local trNode = tableNode:css(tableStyle):tag('tr')
tableNode
:css('border-collapse', 'collapse')
:css('width', '100%')
 
-- progetti
for _, param in ipairs(projParams) do
if args[param] then
trNode
tableNode:tag('tdtr')
:attrcss('widthbackground-color', '5%white')
:css('border', 'thin solid #D8D8D8')
:wikitext(args[param] and getIconProject(args[param]) or '')
:tag('td')
:css('width', '28px')
:css('text-align', 'center')
:wikitext(getIconProject(args[param]))
:done()
:tag('td')
:css('width', '1px')
:css('white-space', 'nowrap')
:wikitext(string.format("'''[[Progetto:%s|%s]]'''", project(param, args), project(param, args)))
:done()
:tag('td')
:wikitext('<div class="plainlinks" style="padding-left: 5px">' .. getWlinkProject(param, args) .. '</div>')
:done()
end
end
trNode
:tag('td')
:wikitext(getWlinkProjects(args))
:done()
:tag('td')
:attr('width', '10%')
:wikitext('')
:done()
 
return tableNode
Riga 221 ⟶ 245:
local spanStyle = {
['font-weight'] = 'bold',
['font-size'] = '145125%',
['border'] = '1px solid lightsteelblue',
['background'] = (livello and cfg.livello[livello].color) and cfg.livello[livello].color or 'white',
Riga 251 ⟶ 275:
local cat = string.format('Categoria:Voci monitorate - %s', args.data)
if titleExists(cat) then
ret = 'Voce monitorata nel mese di <small>(' .. args.data .. ')</small>'
end
end
 
return ret or "Voce monitorata nel mese di (<span style=\"color:red;\"><small>'''''inserisci mese e anno'''''</small></span>)"
end
 
Riga 263 ⟶ 287:
trNode
:tag('td')
:css({'background-color', 'none')
[:css('background-colorwidth'] =, 'none90px',)
width = '90px'
})
:node(getWlinkLivello(livello))
:done()
:tag('td')
:wikitext(livello and cfg.livello[livello].msg .. ' ' .. getTextData(args) or
:css('font-size', '107%')
:wikitext(livello and cfg.livello[livello].msg or
"<div class=\"plainlinks\">La voce non è stata ancora monitorata, [" .. url .. " fallo ora]!</div>")
:done()
:tag('td')
:css({'width', '80px')
color = :wikitext('grey',)
['text-align'] = 'right',
['padding-right'] = '6px',
['font-size'] = '95%'
})
:wikitext(getTextData(args))
:done()
 
Riga 304 ⟶ 320:
 
local function getNodeGrade(param, args)
local tableStyletrNode = {mw.html.create('tr')
['margin-top'] = '2px',
['border-bottom'] = param ~= 'immagini' and '1px solid #B5D9D3' or nil,
['width'] = '100%'
}
local tableNode = mw.html.create('table')
local descr = cfg[param][args[param] or 'nc'] .. ' ' .. cfg[param].help
trNode
tableNode
:css(tableStyle'background-color', 'white')
:css('border', 'thin solid #D8D8D8')
:tag('tr')
:tag('td')
:css('width', '40px')
:css('padding-left', '5px')
:node(getSpanGrade(args[param]))
:node(getSpanGrade(args[param]))
:done()
:tagdone('td')
:tag('td')
:wikitext(descr)
:done()
 
return tableNodetrNode
end
 
local function getHTML(livello, args)
local tableStyle = {
bordermargin = '1px5px solid silver10%',
['margin-bottom']width = '0.2em80%',
border = '1px solid #a7d7f9',
['margin-left'] = 'auto',
['marginbackground-rightcolor'] = 'auto#EAF7ED',
['background-color'] = '#FFFFFF'
}
local tableNodetableNode1 = mw.html.create('table')
tableNode1
tableNode
:addClass('messagebox')
:addClass('standard-talk')
:css(tableStyle)
:attrcss('alignmargin-bottom', 'center0px')
 
-- progetti
-- intestazione
tableNode
local projects = {}
for _, param in ipairs(projParams) do
if args[param] then
table.insert(projects, args[param])
end
end
local text = 'La voce <b>' .. mw.title.getCurrentTitle().text .. '</b> rientra tra gli argomenti trattati' ..
(#projects > 1 and " dai seguenti [[Wikipedia:Progetto|progetti]]:" or
" del seguente [[Wikipedia:Progetto|progetto]]:")
tableNode1
:tag('tr')
:tag('td')
:css('padding-left', '.3em')
:wikitext(text)
:done()
:tag('tr')
:tag('td')
:attr('colspan', '4')
:css({
background = '#B5D9D3',
border = '0px solid #C0C090'
})
:node(getNodeProjects(args))
:done()
 
local tableNode2 = mw.html.create('table')
tableNode2
:addClass('mw-collapsible mw-collapsed')
:css(tableStyle)
:css('border-top', '0px')
:css('margin-top', '0px')
 
-- livello
tableNode2
tableNode
:node(getNodeLivello(livello, args))
-- valutazioni
tableNode2
tableNode
:tag('tr')
:tag('td')
:attr('colspan', '3')
:css({'background-color', 'none')
:css('font-size', '95%')
border = '1px solid #B5D9D3',
:tag('table')
['background-color'] = 'none',
[:css('font-sizewidth'] =, '95100%')
:css('border-collapse', 'collapse')
})
:node(getNodeGrade('accuratezza', args))
:node(getNodeGrade('scrittura', args))
:node(getNodeGrade('fonti', args))
:node(getNodeGrade('immagini', args))
-- note
if args.note then
tableNode2
tableNode
:tag('tr')
:tag('td')
Riga 375 ⟶ 403:
end
 
return tostring(tableNodetableNode1) .. tostring(tableNode2)
end