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]

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 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 = {}

--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
		archiwum_wiersze_lat[rok] = "'''"..rok.."''': "..table.concat(wydania_z_roku, " ")
	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