Module:Présentation
--[[
]]
local presentation = {}
function presentation.total( frame )
return table.getn( presentation._expandSequence( mw.title.getCurrentTitle() ) )
end
function presentation.current( frame )
for i,v in pairs( presentation._expandSequence( mw.title.getCurrentTitle() ) ) do if v == mw.title.getCurrentTitle().fullText then return i end end
end
function presentation.next( frame )
local sequence = presentation._expandSequence( mw.title.getCurrentTitle() ) for i,v in pairs( sequence ) do if v == mw.title.getCurrentTitle().fullText then return sequence[i+1] end end
end
function presentation.previous( frame )
local sequence = presentation._expandSequence( mw.title.getCurrentTitle() ) for i,v in pairs( sequence ) do if v == mw.title.getCurrentTitle().fullText then return sequence[i-1] end end
end
function presentation._expandSequence( title )
local list = {}; local title = title.rootPageTitle; while true do if title.basePageTitle.subPageTitle( tonumber(title.subpageText)+1 ).exists then title = title.basePageTitle.subPageTitle( tonumber(title.subpageText)+1 ) list[table.getn(list)] = title.fullText elseif title.basePageTitle.basePagTitle.subPageTitle( tonumber(title.subpageText)+1 ).exists then title = title.basePageTitle.basePageTitle.subPageTitle( tonumber(title.subpageText)+1 ) list[table.getn(list)] = title.fullText elseif title.basePageTitle.basePagTitle.subPageTitle( tonumber(title.subpageText)+1 .. '/0' ).exists then title = title.basePageTitle.basePageTitle.subPageTitle( tonumber(title.subpageText)+1 .. '/0' ) list[table.getn(list)] = title.fullText elseif title.basePageTitle.basePagTitle.subPageTitle( tonumber(title.subpageText)+1 .. '/1' ).exists then title = title.basePageTitle.basePageTitle.subPageTitle( tonumber(title.subpageText)+1 .. '/1' ) list[table.getn(list)] = title.fullText else break end end return list
end
return presentation