Jump to content

Module:AINB case banner

Permanently protected module
From Wikipedia, the free encyclopedia
local p = {}

function p.countCases()
	local count = 0
	local countActive = 0
	local content = (mw.ustring.gsub(mw.title.getCurrentTitle().content, "<!--.*?-->", ""))
	if select(2, mw.ustring.gsub(content, "{{%s*AIC article list", "")) > 0 then
		count = select(2, mw.ustring.gsub(content, "{{%s*AIC article row", ""))
		countActive = select(2, mw.ustring.gsub(content, "{{%s*AIC article row%s*|[^|}]-|%s*[ort|]", "")) + select(2, mw.ustring.gsub(content, "{{%s*AIC article row%s*|[^|}]-|%s*status%s*=%s*[ort|]", ""))
		-- substract "tg"/"tagged"/"tag" rows
		countActive = countActive - select(2, mw.ustring.gsub(content, "{{%s*AIC article row%s*|[^|}]-|%s*t[ag]", "")) - select(2, mw.ustring.gsub(content, "{{%s*AIC article row%s*|[^|}]-|%s*status%s*=%s*t[ag]", ""))
	end
	if countActive > 0 then
		return '<span class="ainb-b-count">([[#Cleanup|' .. countActive .. ' out of ' .. count .. ' pages left]])</span>'
	else
		return ''
	end
end

return p