Přeskočit na obsah

Modul:Wikizprávy:Hlavní strana/Poslední zprávy: Porovnání verzí

Z Wikizpráv
Smazaný obsah Přidaný obsah
+ odřádkování
nezobrazovat zprávy se šablonou {{Pracuje se}} v denních výpisech
Řádek 112: Řádek 112:
count = 10
count = 10
notcategory = Denní přehledy
notcategory = Denní přehledy
notcategory = Údržba:Dodělat
order = descending
order = descending
suppresserrors = true
suppresserrors = true

Verze z 9. 6. 2014, 18:29

Dokumentaci tohoto modulu lze vytvořit na stránce Nápověda:Modul:Wikizprávy:Hlavní strana/Poslední zprávy

-- @brief
--  Generates the content of [[Wikizprávy:Hlavní strana/Poslední zprávy]].
-- 
-- @author
--  [[meta:User:Danny B.]]
local _module = {}
----------------------------------------


_module.months = {
	{
		name = "leden",
		genitive = "ledna"
	}, {
		name = "únor",
		genitive = "února"
	}, {
		name = "březen",
		genitive = "března"
	}, {
		name = "duben",
		genitive = "dubna"
	}, {
		name = "květen",
		genitive = "května"
	}, {
		name = "červen",
		genitive = "června"
	}, {
		name = "červenec",
		genitive = "července"
	}, {
		name = "srpen",
		genitive = "srpna"
	}, {
		name = "září",
		genitive = "září"
	}, {
		name = "říjen",
		genitive = "října"
	}, {
		name = "listopad",
		genitive = "listopadu"
	}, {
		name = "prosinec",
		genitive = "prosince"
	}
}


_module.sections = {
	{
		displayTitle = "Dnes"
	}, {
		displayTitle = "Včera"
	}, {}, {}, {}, {}, {}
}


-- @brief
--  Generates the content of [[Wikizprávy:Hlavní strana/Poslední zprávy]].
-- 
-- @return
--  Preprocessed wikitext Generated content of [[Wikizprávy:Hlavní strana/Poslední zprávy]]
function _module.getContent( frame )
	
	local output = ""
	local sectionDate = os.date( "*t" )
	local sumPagesInCategories = 0
	
	for i = 1, 7 do
		_module.sections[i].dateNom = sectionDate.day .. ". " .. _module.months[sectionDate.month].name .. " " .. sectionDate.year
		_module.sections[i].dateGen = sectionDate.day .. ". " .. _module.months[sectionDate.month].genitive .. " " .. sectionDate.year
		
		_module.sections[i].title = mw.title.new( _module.sections[i].dateNom )
		-- expensive++
		
		_module.sections[i].pagesInCategory = mw.site.stats.pagesInCategory( _module.sections[i].dateNom, "pages" )
		-- expensive++
		if _module.sections[i].title.exists then
			_module.sections[i].pagesInCategory = _module.sections[i].pagesInCategory - 1
		end
		
		sumPagesInCategories = sumPagesInCategories + _module.sections[i].pagesInCategory
		_module.sections[i].sumPagesInCategories = sumPagesInCategories
		
		output = output .. "=== "
		if _module.sections[i].title.exists then
			output = output .. "[[" .. _module.sections[i].title.text
			if _module.sections[i].displayTitle then
				output = output .. "|" .. _module.sections[i].displayTitle
			end
			output = output .. "]]"
		else
			output = output .. ( _module.sections[i].displayTitle or _module.sections[i].title.text ) ..
				" <span title=\"Založit denní přehled pro " .. _module.sections[i].title.text .. "\" class=\"plainlinks\">[" ..
				_module.sections[i].title:fullUrl({
					action = "edit",
					preload = "Wikizprávy:Kostry stránek/Denní přehled",
					summary = _module.sections[i].title.text
				}) ..
				" ✍]</span>"
		end
		output = output .. " ===\n"
		
		if _module.sections[i].pagesInCategory > 0 then
			if _module.sections[i].sumPagesInCategories <= 10 then
				output = output .. [[
<dynamicpagelist>
  category = ]] .. _module.sections[i].dateNom .. [[

  count = 10
  notcategory = Denní přehledy
  notcategory = Údržba:Dodělat
  order = descending
  suppresserrors = true
</dynamicpagelist>
]]
			else
				output = output .. "''[[:Kategorie:" .. _module.sections[i].dateNom .. "|(všechny zprávy z&nbsp;" .. _module.sections[i].dateGen .. ")]]''\n\n"
			end
		end
		
		output = output .. "<small>''[[:Kategorie:" .. sectionDate.day .. ". " .. _module.months[sectionDate.month].name .. "|(" .. sectionDate.day .. ". " .. _module.months[sectionDate.month].name .. " v&nbsp;minulosti)]]''</small>\n"
		
		sectionDate.day = sectionDate.day - 1
		sectionDate = os.date( "*t", os.time( sectionDate ) )
	end
	
	output = frame:preprocess( output )
	
	return output
	
end


----------------------------------------
return _module