Moduł:Biuletyn

Wikimedia Polska, polski partner Fundacji Wikimedia.
Przejdź do nawigacji Przejdź do wyszukiwania

Ustaw nowy numer bieżącego wydania Biuletynu

Moduł służy do wyświetlania strony głównej Biuletynu Stowarzyszenia. Głównym zadaniem jest operowanie na numerach wydań.

Informacje o bieżącym wydaniu i/lub datach wydawania są dostępne do edycji po kliknięciu powyższego przycisku.

Funkcje[edytuj kod]

Odczyt:

  • CurrentIssue - nazwa podstrony określająca wydanie bieżące, np. 2019-01
  • FutureIssue - nazwa podstrony określająca kolejne wydanie (robocze), np. 2019-02
  • RawData - dostęp w wikikodzie do zawartości tej strony z danymi

Generowanie elementów strony głównej:

  • ArchiveNavigation - generuje linki do poprzednich numerów
  • FutureIssueInfo - dane o przyszłym wydaniu w rubryce "wydanie w przygotowaniu"
  • CreateNewIssueLink - pokazuje link z preloadem szablonu biuletynu "wydanie w przygotowaniu" do stworzenia podstrony nowego numeru

local wydania_ = mw.loadData('Moduł: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("[[Plik:"..wydanie[2]..".pdf|mały|centruj|Biuletyn WMPL Numer "..wydanie[1].."]]")
		end
	end
end

function Biuletyn.ArchiveGallery(frame)
	print_wikitext = {}
	
	for rok, wydania_roku in pairs(wydania_v2) do
		table.insert(print_wikitext, "==="..rok.."===\n<gallery mode=\"packed\" heights=\"220\">")
		
		for n, wydanie in pairs(wydania_roku) do
			table.insert(print_wikitext, "Plik:"..wydanie[2]..".pdf|Numer "..wydanie[1])
		end
		
		table.insert(print_wikitext, "</gallery>")
	end
	
	return frame:preprocess(table.concat(print_wikitext, "\n"))
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