Módulo:Pagesincat

Fonte: Enciclopédia de conhecimento da Igreja de Deus
Saltar para a navegação Saltar para a pesquisa

A documentação para este módulo pode ser criada na página Módulo:Pagesincat/doc

-- módulo reproduzindo o comportamento de {{PAGESINCATEGORY}}
-- sem o bug
local p = {}
-- gera um erro
function p.error(texto)
				return '<span class="error">' .. (texto or "''nenhum erro indicado''") .. "</span>"
end
-- para testar a funcionalidade "pageincategory"
function p.pagesincat(frame)
				-- o nome da categoria
				local args = frame:getParent().args
				local cat = args[1]
				-- o tipo de pedido
				local arg = frame.args["tipo"] or args["type"]
				-- formatando números?
				local mef = args["formatação"] or args["formatacao"]
				local sel  -- a selecção
				-- se não houver nome de categoria, use a página atual
				if (cat == nil or cat == "") then
								local titulo = mw.title.getCurrentTitle()
								-- nós verificamos se somos uma categoria
								if (titulo.namespace ~= 14) then
												return p.error("Nenhum nome de página especificado e a página atual não é uma categoria")
								end
								-- nós usamos o título da página atual
								cat = mw.title.getCurrentTitle().text
				end
	
				-- nós olhamos o parâmetro
				if (arg == "todos" or arg == nil or arg == "*") then
								sel = "all"
				elseif (arg == "cats") then
								sel = "subcats"
				elseif (arg == "ficheiros") or (arg == "files") then
								sel = "files"
				elseif (arg == "páginas") or (arg == "pages") then
								sel = "pages"
				else
								return p.error("parâmetro '" .. (arg or "<nil>") .. "' não reconhecido")
				end
	
				local res = mw.site.stats.pagesInCategory(cat, sel)
				if (res == nil) then
								return p.error("erro de recuperação de informações")
				end
				-- se a formatação for aplicada
				if (mef ~= nil) then
								return mw.getContentLanguage():formatNum(res)
				else
								return tostring(res)
				end
end
return p