Module:Biuletyn

From Wikipedia, the free encyclopedia

Documentation for this module may be created at Module:Biuletyn/doc

local wydania_ = mw.loadData('Module:Biuletyn/wydania')
local wydania = wydania_['v1']
local wydania_v2 = wydania_['v2']

local lng = mw.language.getContentLanguage()

function StronaWydania(numer, rok)
	if numer < 10 then numer = 0 .. numer end
	return (rok or wydania["rok"]).."-"..numer
end

local Biuletyn = {}

--v2
function Biuletyn.CurrentIssue_v2(frame)
	for rok, wydania_roku in pairs(wydania_v2) do
		for n, wydanie in pairs(wydania_roku) do
			return frame:preprocess("[[file:"..wydanie[2]..".pdf|"..wydanie[1].."]]")
		end
	end
end

function Biuletyn.ArchiveGallery(frame)
	print_wikitext = ""
	
	for rok, wydania_roku in pairs(wydania_v2) do
		print_wikitext = print_wikitext.."==="..rok.."===\n<gallery mode=\"packed\" heights=\"220\">"
		
		for n, wydanie in pairs(wydania_roku) do
			print_wikitext = print_wikitext.."file:"..wydanie[2]..".pdf|"..wydanie[1].."\n"
		end
		
		print_wikitext = print_wikitext.."</gallery>\n"
	end
	
	return frame:preprocess(print_wikitext)
end

--zwracają podstawowe dane
function Biuletyn.CurrentIssue()
	return StronaWydania(wydania["numer"])
end

function Biuletyn.FutureIssue(frame)
	local numer = wydania["ostatnie_numery"][wydania["rok"]] and 1 or wydania["numer"]+1
	local rok = wydania["rok"]+(numer == 1 and 1 or 0)
	if (frame) then return StronaWydania(numer, rok) else return StronaWydania(numer, rok), rok, numer end
end

function Biuletyn.RawData(what)
	return wydania[what.args[1]]
end

--zwracają elementy interfejsu
function Biuletyn.ArchiveNavigation(frame)
	ostatnie_numery = wydania["ostatnie_numery"]
	table.insert(ostatnie_numery, wydania["rok"], wydania["numer"])

	archiwum_wiersze_lat = {}
	
	for rok=2019, wydania["rok"] do
		wydania_z_roku = {}
		for wydanie=1, ostatnie_numery[rok] do table.insert(wydania_z_roku, "[[Biuletyn/" .. StronaWydania(wydanie, rok) .. "|"..wydanie.."]]") end
		if ostatnie_numery[rok] ~= 0 then archiwum_wiersze_lat[rok] = "'''"..rok.."''': "..table.concat(wydania_z_roku, " ") else archiwum_wiersze_lat[rok] = "" end
	end

	return frame:preprocess(table.concat(archiwum_wiersze_lat, "<br />", 2019, wydania["rok"]))
end

function Biuletyn.CurrentIssueDate()
	return lng:formatDate("d xg", wydania["rok"].."-"..wydania["data_wydania"][2].."-"..wydania["data_wydania"][1])
end

function Biuletyn.FutureIssueInfo()
	local podstrona, rok, numer = Biuletyn.FutureIssue()
	local data_wyd = rok.."-"..wydania["data_kolejnego_wydania"][2].."-"..wydania["data_kolejnego_wydania"][1]
	return "zamknięcie numeru: "..lng:formatDate("d xg", data_wyd.." -"..wydania["termin_przygotowania"].." day")..", data wydania: "..lng:formatDate("d xg", data_wyd)
end

function Biuletyn.CreateNewIssueLink()
	local podstrona, rok, numer = Biuletyn.FutureIssue()
	new_page = "Biuletyn/"..podstrona
	future = mw.title.new(new_page, 0)

	if(not future.exists) then
		return "[//pl.wikimedia.org/wiki/" .. new_page .. "?action=edit&preload=Biuletyn/preload&preloadparams%5B1%5D=" .. numer .. "&preloadparams%5B2%5D=" .. rok .. " Utwórz]"
	end
end

return Biuletyn