Moduł:Ogłoszenia

Z Nonsensopedii, polskiej encyklopedii humoru

Moduł do generowania ogłoszeń na ozetach.


local p = {}

local function exists(name)
	local title = mw.title.new(name)
	return title.exists()
end

function p.show(frame)
	local anm = mw.site.stats.pagesInCategory('Aktywne głosowania ANM', 'pages')
	local gnm = mw.site.stats.pagesInCategory('Aktywne głosowania GNM', 'pages')
	local sdu = mw.site.stats.pagesInCategory('Aktywne głosowania SDU', 'pages')
	local pp = mw.site.stats.pagesInCategory('Aktywne głosowania PP', 'pages')
	local po = mw.site.stats.pagesInCategory('Aktywne głosowania PO', 'pages')
	local lang = mw.language.new('pl')
	local span = '<span class="blinky" style="font-size: 150%; font-weight: bold">'
	local r = ''
	
	-- Fail miesiąca
	local fail = 'Nonsensopedia:Fail ' .. lang:formatDate('xg Y', '-1 month', true) .. ' (głosowanie)'
	if tonumber(os.date('%d')) < 8 and exists(fail) then
		r = r .. '[[' .. fail .. '|fail miesiąca]]<br />'
	end
	
	-- ANM/GNM
	if anm > 0 or gnm > 0 then r = r .. span end
	if anm > 0 then
		r = r .. '[[Nonsensopedia:Artykuł na medal|ARTYKUŁ NA MEDAL'
		if anm > 1 then r = r .. '&nbsp;(' .. anm .. ')' end
		r = r .. ']]'
	end
	if gnm > 0 then
		if anm > 0 then r = r .. '&nbsp;•&nbsp;' end
		r = r .. '{{kl|DodgerBlue|Nonsensopedia:Grafika na medal|GRAFIKA NA MEDAL'
		if gnm > 1 then r = r .. '&nbsp;(' .. gnm .. ')' end
		r = r .. '}}'
	end
	if anm > 0 or gnm > 0 then r = r .. '</span><br />' end
	
	-- SDU
	if sdu > 0 then
		r = r .. '{{kl|red|Nonsensopedia:Strony do usunięcia|ZAGŁOSUJ NA SDU'
		if sdu > 1 then r = r .. '&nbsp;(' .. sdu .. ')' end
		r = r .. '}}'
	end
	
	-- PO
	if po > 0 then
		r = r .. span .. '[[Nonsensopedia:Przyznawanie odznaczeń|Przyznawanie odznaczeń – głosowanie!'
		if po > 1 then r = r .. '&nbsp;(' .. po .. ')' end
		r = r .. ']]</span>'
	end
	
	-- PP
	if pp > 0 then
		r = r .. span .. '{{kl|#5f000c|Nonsensopedia:Przodownik Pracy|Przodownik Pracy'
		if pp > 1 then r = r .. '&nbsp;(' .. pp .. ')' end
		r = r .. '}}</span>'
	end
	
	return frame:preprocess(r)
end

return p