Modul:SZR obavijesti

Izvor: Wikipedija


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]]:&nbsp;&nbsp;<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:&nbsp;&nbsp;<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