local p = {}
zabrana = mw.loadData( "Modul:SZR obavijesti/data" )
function p.glavni(frame)
local prva = ''
local druga = ''
local naslov = mw.title.getCurrentTitle()
for k, v in pairs(zabrana['topicban']) do
if naslov.rootText == k and naslov.subjectNsText == 'Suradnik' and DateParser(v.vrijeme) == 1 then
prva = frame:expandTemplate{ title = "Održavanje", args = { slika = "OOjs UI icon clear-destructive.svg", boja="#dd3030", opis="Ovom je suradniku izrečena zabrana rada na temi do '''" .. DatePrinter(v.vrijeme) .. "''' na temu '''" .. v.tema.."'''!", uputa="Ako suradnik prekrši zabranu, pokrenite novu temu na [[WP:NPA]] i pružite poveznicu na problematičnu izmjenu", kategorija="[[Kategorija:Suradnici sa zabranom rada na temi]]", boxklasa = "zabrana-topic" } }
end
end
for k, v in pairs(zabrana['slike']) do
if naslov.rootText == k and naslov.subjectNsText == 'Suradnik' and DateParser(v.vrijeme) == 1 then
druga = frame:expandTemplate{ title = "Održavanje", args = { slika = "Broken icon pink.svg", boja="#ff5454", opis="Ovom je suradniku izrečena zabrana postavljanja slika do '''" .. DatePrinter(v.vrijeme) .. "'''!", uputa="", kategorija="[[Kategorija:Suradnici sa zabranom postavljanja slika]]", boxklasa = "zabrana-slike" } }
end
end
return prva ..'\n' .. druga
end
function DateParser(vrijeme)
godina, mjesec, dan = string.match(vrijeme, '(%d+)%-(%d+)%-(%d+)')
local vrijemeInt = os.time( {year=godina, month=mjesec, day=dan, hour='00' } )
if (os.difftime(vrijemeInt, os.time() )) < 0 then
return 0
else return 1
end
end
function DatePrinter(vrijeme)
godina, mjesec, dan = string.match(vrijeme, '(%d+)%-(%d+)%-(%d+)')
local imeMjeseca = {[1] = 'siječnja', [2] = 'veljače', [3] = 'ožujka', [4] = 'travnja', [5] = 'svibnja', [6] = 'lipnja', [7] = 'srpnja', [8] = 'kolovoza', [9] = 'rujna', [10] = 'listopada', [11] = 'studenoga', [12] = 'prosinca'}
return dan ..'. ' .. imeMjeseca[tonumber(mjesec)] .. ' ' .. godina ..'.'
end
function p.ispis(frame)
local ret = ''
if frame.args['1'] == 'topicban' then
ret = '{| class="wikitable" style="text-align: center; min-width: 30em;"'
.. '\n|+ Popis suradnika sa [[Wikipedija:Zabrana rada na temi|zabranom rada na temi]]: <sup>([[Modul:SZR obavijesti/data|uredi]])</sup> \n|-'
.. '\n! Suradničko ime'
.. '\n! tema'
.. '\n! rok'
for val, param in pairs(zabrana[frame.args[1]]) do
ret = ret .. '\n|-'
.. '\n| ' .. frame:expandTemplate{ title = "Suradnik", args = { val } } ..' || ' .. param.tema .. ' || '
if DateParser(param.vrijeme) == 1 then
ret = ret .. 'style="background-color:#AFA;" | '
end
ret = ret .. DatePrinter(param.vrijeme)
end
ret = ret .. '\n|-'
.. '\n|}'
return ret
else
if frame.args['1']=='slike' then
ret = '{| class="wikitable" style="text-align: center; min-width: 30em;"'
.. '\n|+ Popis suradnika sa zabranom postavljanja slika: <sup>([[Modul:SZR obavijesti/data|uredi]])</sup> \n|-'
.. '\n! Suradničko ime'
.. '\n! rok'
for val, param in pairs(zabrana[frame.args[1]]) do
ret = ret .. '\n|-'
.. '\n| ' .. frame:expandTemplate{ title = "Suradnik", args = { val } } ..' || '
if DateParser(param.vrijeme) == 1 then
ret = ret .. 'style="background-color:#AFA;" | '
end
ret = ret .. DatePrinter(param.vrijeme)
end
ret = ret .. '\n|-'
.. '\n|}'
return ret
else return '<span class="error">Pogreška: nije naveden drugi parametar ispisa!</span>'
end
end
end
return p