« Module:Archives » : différence entre les versions

Un livre de Wikilivres.
Contenu supprimé Contenu ajouté
Aucun résumé des modifications
Aucun résumé des modifications
Ligne 28 : Ligne 28 :
end
end
if frame.args[3] ~= nil then
if frame.args[3] ~= nil then
fin = tonumber(mw.ustring.gsub(frame.args[3], "(.+)\-(.+)", "%1"))
fin = mw.ustring.gsub(frame.args[3], "(.+)\-(.+)", "%1")
fin = tonumber(fin)
fin = tonumber(fin)
MoisFin = tonumber(mw.ustring.gsub(frame.args[3], "(.+)\-(.+)", "%2"))
MoisFin = mw.ustring.gsub(frame.args[3], "(.+)\-(.+)", "%2")
MoisFin = tonumber(MoisFin)
MoisFin = tonumber(MoisFin)
end
end

Version du 3 avril 2016 à 22:58

Invoqué dans {{archives}}.

info Documentation du Module:Archives : v · d · m · h.

local p = {}

function p.annees(frame)
    if frame ~= nil then
      if frame.args[1] ~= nil then page = mw.text.trim(frame.args[1]) end
      if frame.args[2] ~= nil then debut = tonumber(mw.text.trim(frame.args[2])) end
      if frame.args[3] ~= nil then fin = tonumber(mw.text.trim(frame.args[3])) end
    end
    if debut == nil or debut == "" then debut = 2004 end
    if fin == nil or fin == "" then fin = tonumber(os.date("%Y")) end

    local ListeAnnees = ""
    while debut <= fin do
         ListeAnnees = ListeAnnees .. "[[" .. page .. "/" .. tostring(debut) .. "|" .. tostring(debut) .. "]] "
         debut = debut + 1
    end
    return ListeAnnees
end

function p.mois(frame)
    if frame ~= nil then
      if frame.args[1] ~= nil then page = mw.text.trim(frame.args[1]) end
      if frame.args[2] ~= nil then
        debut = mw.ustring.gsub(frame.args[2], "(.+)\-(.+)", "%1")
        debut = tonumber(debut)
        MoisDebut = mw.ustring.gsub(frame.args[2], "(.+)\-(.+)", "%2")
        MoisDebut = tonumber(MoisDebut)
      end
      if frame.args[3] ~= nil then
        fin = mw.ustring.gsub(frame.args[3], "(.+)\-(.+)", "%1")
        fin = tonumber(fin)
        MoisFin = mw.ustring.gsub(frame.args[3], "(.+)\-(.+)", "%2")
        MoisFin = tonumber(MoisFin)
      end
    end
    if debut == nil or debut == "" then
      debut = 2004
    end
    if MoisDebut == nil or MoisDebut == "" then
      MoisDebut = 01
    end
    if fin == nil or fin == "" then
      fin = tonumber(os.date("%Y"))
    end
    if MoisFin == nil or MoisFin == "" then
      MoisFin = 12
    end

    local ListeMois = ""
    while debut <= fin do
      while MoisDebut <= 12 do
         ListeMois = ListeMois .. "[[" .. page .. "/" .. tostring(debut) .. "-" .. tostring(MoisDebut) .. "|" .. tostring(debut) .. "-" .. tostring(MoisDebut) .. "]] "
         MoisDebut = MoisDebut + 1
      end
      ListeMois = ListeMois .. "\r\n"
      MoisDebut = 1
      debut = debut + 1
    end
    return ListeMois
end

return p