Modul:Homokozó/JulesWinnfield-hu/Kkcl-sor
Homokozó/JulesWinnfield-hu/Kkcl-sor[mi ez?] • [dokumentáció: mutat, ] • [tesztek: sikeres: 1, sikertelen: 0, kihagyva: 0 (részletek)]
Regressziós tesztelés: Sablon:Kkcl-sor/regressziós tesztelés
local honapok = {'január', 'február', 'március', 'április', 'május', 'június',
'július', 'augusztus', 'szeptember', 'október', 'november', 'december'
}
local p = {}
local function _main(args)
local time1, time2
if args[1] then
local time0 = p.firstDayWeekOne(args)
time1 = time0 + (tonumber(args[2]) - 1) * 3600 * 24 * 7 + (args[3] == '2' and 3.5 or 0) * 3600 * 24
time2 = time0 + (tonumber(args[2]) - 1) * 3600 * 24 * 7 + (args[3] == '1' and 3 or 6) * 3600 * 24
if os.time() + 3600 < time1 then return '' end -- FIXME adjust DST
elseif not args['dátum'] then
return ''
end
local s = '|-\n|'
local text = ''
local frame = mw.getCurrentFrame()
text = args['dátum'] or args[2] .. '. hét' .. (args[3] == '1' and ' eleje' or (args[3] == '2' and ' vége' or '')) .. ' (' ..
p.formatDate(time1) .. ' – ' .. p.formatDate(time2) .. ')'
if args['napszám'] then text = text .. frame:extensionTag('ref', args['napszám'] .. ' napon keresztül szerepelt a kezdőlapon.') end
if args['dátum-mj'] then text = text .. frame:extensionTag('ref', args['dátum-mj']) end
s = s .. text .. '||'
text = "''nincs megadva''"
if args.kiemelt == 'igen' then text = '[[Fájl:Cscr-featured.png|20px]]' end
if args.kiemelt == 'nem' then text = '[[Fájl:Former featured article candidate.png|20px]]' end
local cikk = args.cikk or args[3] and
frame:expandTemplate{title = 'Kezdőlapra került szócikkek listája', args = {args[1], args[2], args[3]}} or
frame:expandTemplate{title = 'Szócikkek a kezdőlapon/Lista', args = {args[1], args[2]}}
if args.megvonva then
text = text .. frame:extensionTag('ref', 'Kiemelt státuszát [[Wikipédia:Javaslat ' ..
'kiemeltszócikk-státusz megvonására/' .. cikk .. '|megvonták]] ' .. args.megvonva .. '.')
end
if args['kiemelt-mj'] then text = text .. frame:extensionTag('ref', args['kiemelt-mj']) end
s = s .. text .. '||'
if args['cikk új neve'] then
text = '[[:' .. args['cikk új neve'] .. '|' .. cikk .. ']] [[Vita:' .. args['cikk új neve'] .. '|<sup>(v)</sup>]]<br>' ..
'<small>→ [[:' .. args['cikk új neve'] .. ']]</small>'
else
text = '[[:' .. cikk .. ']] [[Vita:' .. cikk .. '|<sup>(v)</sup>]]'
end
if args['cikk-mj'] then text = text .. frame:extensionTag('ref', args['cikk-mj']) end
s = s .. text .. '||'
local argsText = table.concat({args[1], args[2], args[3]}, '-')
local ajanlo = ((not args['ajánló'] and args['ajánló helye'] == 'wp') or
(not args.vita and (args['ajánló helye'] == 'wp' or args['ajánló helye'] == 'sl1' or args['ajánló helye'] == 'sl2'))) and
frame:expandTemplate{title = 'Szócikkek a kezdőlapon/Lista', args = {args[1], args[2]}}
text = args['ajánló']
if not text then
if args['ajánló helye'] == 'kkc' and args.oldid then
text = '[' .. tostring(mw.uri.fullUrl('Sablon:KezdőlapKiemeltCikkek', {direction = 'next', oldid = args.oldid})) ..
' az ajánló ' .. (args.dif or '') .. ']'
elseif args['ajánló helye'] == 'wp' then
text = '[[Wikipédia:Szócikkek a kezdőlapon/' .. ajanlo .. '|/' .. ajanlo .. ']]'
elseif args['ajánló helye'] == 'sl1' or args['ajánló helye'] == 'sl2' then
text = '[[Sablon:KezdőlapKiemeltCikkek/' .. args[1] .. '-' .. args[2] .. '|/' .. args[1] .. '-' .. args[2] .. ']]'
else
text = '[[Sablon:Kezdőlap kiemelt cikkei/' .. argsText .. '|/' .. argsText .. ']]'
end
end
if args['ajánló-mj'] then text = text .. frame:extensionTag('ref', args['ajánló-mj']) end
s = s .. text .. '||'
text = args.vita
if not text then
if args['ajánló helye'] == 'kkc' then
text = ' '
elseif args['ajánló helye'] == 'wp' or args['ajánló helye'] == 'sl1' then
text = '[[Wikipédia:Szócikkek a kezdőlapon/' .. ajanlo .. '|vita]]'
elseif args['ajánló helye'] == 'sl2' then
text = '[[Wikipédia:Szócikkek a kezdőlapon/' .. args[1] .. '#' .. args[2] .. '. hét (' ..
p.formatDate(time1) .. ' – ' .. p.formatDate(time2) .. ') – ' .. ajanlo .. '|vita]]'
else
text = '[[Sablonvita:Kezdőlap kiemelt cikkei/' .. argsText .. '|vita]]'
end
end
if args['vita-mj'] then text = text .. frame:extensionTag('ref', args['vita-mj']) end
s = s .. text .. '\n'
return s
end
function p.formatDate(time)
local date = os.date('*t', time)
return honapok[date.month] .. ' ' .. date.day .. '.'
end
function p.firstDayWeekOne(args)
local firstDay = os.time{year = tonumber(args[1]), month = 1, day = 1, hour = 0}
return firstDay + ((11 - tonumber(os.date('%w', firstDay))) % 7 - 3) * 3600 * 24
end
function p.main(frame)
local args
if frame == mw.getCurrentFrame() then
args = {}
for k, v in pairs(frame:getParent().args) do
if type(k) == 'number' then v = v:match('^%s*(.-)%s*$') end -- remove whitespace
if v ~= '' then args[k] = v end
end
else
args = frame or {}
end
return _main(args)
end
return p