Différences entre les versions de « Module:Présentation »

De Wiki Seb35
Aller à la navigation Aller à la recherche
(typo)
(ajout de la possibilité du scénario /1/2, /1/3/1, …)
Ligne 50 : Ligne 50 :
             title = title:subPageTitle( '1' )
             title = title:subPageTitle( '1' )
             list[table.getn(list)+1] = title.fullText
             list[table.getn(list)+1] = title.fullText
         elseif tonumber(title.subpageText) ~= nil and title.basePageTitle:subPageTitle( tostring(tonumber(title.subpageText)+1) ).exists then
         elseif tonumber(title.subpageText) ~= nil then
            title = title.basePageTitle:subPageTitle( tostring(tonumber(title.subpageText)+1) )
            if not title.exists then
             list[table.getn(list)+1] = title.fullText
                if title.baseText == title.rootText then
        elseif title.baseText ~= title.rootText then
                    break
            title = title.basePageTitle.basePageTitle:subPageTitle( tostring(tonumber(title.basePageTitle.subpageText)+1) )
                end
            if title.exists then
                title = title.basePageTitle.basePageTitle:subPageTitle( tostring(tonumber(title.basePageTitle.subpageText)+1) )
                list[table.getn(list)+1] = title.fullText
             else
                title = title.basePageTitle:subPageTitle( tostring(tonumber(title.subpageText)+1) )
                if title.exists then
                    list[table.getn(list)+1] = title.fullText
                end
             end
             end
         else
         else

Version du 12 avril 2015 à 22:43

--[[

]]

local presentation = {}

function presentation.total( frame )

   local sequence = presentation._expandSequence( mw.title.getCurrentTitle() )
   return table.getn( sequence )

end

function presentation.current( frame )

   local sequence = presentation._expandSequence( mw.title.getCurrentTitle() )
   for i,v in pairs( sequence ) do
       if v == mw.title.getCurrentTitle().fullText then
           return i
       end
   end
   return 0

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
   return 

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
   return 

end

function presentation._expandSequence( title )

   local list = {};
   title = title.rootPageTitle;
   while true do
       if title:subPageTitle( '0' ).exists then
           title = title:subPageTitle( '0' )
           list[table.getn(list)+1] = title.fullText
       elseif title:subPageTitle( '1' ).exists then
           title = title:subPageTitle( '1' )
           list[table.getn(list)+1] = title.fullText
       elseif tonumber(title.subpageText) ~= nil then
           if not title.exists then
               if title.baseText == title.rootText then
                   break
               end
               title = title.basePageTitle.basePageTitle:subPageTitle( tostring(tonumber(title.basePageTitle.subpageText)+1) )
           else
               title = title.basePageTitle:subPageTitle( tostring(tonumber(title.subpageText)+1) )
               if title.exists then
                   list[table.getn(list)+1] = title.fullText
               end
           end
       else
           break
       end
   end
   return list

end

return presentation