Jump to content

Module:Database report/navlinks

Permanently protected module
From Wikipedia, the free encyclopedia

local Arguments = require('Module:Arguments')

local p = {}

-- Called from {{Database report/footer}} and {{Database report/subpage}} 
function p.navlinks(frame)
	local args = Arguments.getArgs(frame)
	
	if args.page then
		local page = tonumber(args.page)
		local num_pages = tonumber(args.num_pages)
		
		local title = mw.title.getCurrentTitle()
		
		local nextPage = title.nsText..':'..title.baseText..'/'..(page + 1)
		local prevPage = title.nsText..':'..title.baseText..'/'..(page - 1)
		-- page 1 has no subpage name 
		if page == 1 then 
			nextPage = title.nsText..':'..title.text..'/2'
		elseif page == 2 then
			prevPage = title.nsText..':'..title.baseText 
		end 
		
		local prevPageText = '<< Previous page'
		local nextPageText = 'Next page >>'
		
		local prevPageLink = (page == 1 or page > num_pages + 1) and '<span style="color:grey">'..prevPageText..'</span>'
			or '[['..prevPage..'|'..prevPageText..']]'
		local nextPageLink = page >= num_pages and '<span style="color:grey">'..nextPageText..'</span>'
			or '[['..nextPage..'|'..nextPageText..']]'
		
		return prevPageLink..' || '..nextPageLink
	end
	return ''
end

return p