Module:Avis pour Wikivoyage
La documentation pour ce module peut être créée à Module:Avis pour Wikivoyage/Documentation
--[=[
gère
- catégorisation
- et affiche le titre sur les avis listé dans [[Wikinews:Avis de voyage/Wikivoyage]]
et donc sur [[voy:Wikinews:Avis de voyage/Wikivoyage]]
** test **
= p.getWikicode(
mw.getCurrentFrame()
:newChild{ args = {
anno = '2013',
mese = '10',
giorno = nil
} }
)
]=]
local p = {}
-- durée d'affichage de l'article
local showMonths = 6
local dateErrorMsg, timelyNewsMsg, expiredNewsMsg
local function setMessages( frame )
dateErrorMsg = [=[
<div class="error">
AVERTISSEMENT: les paramètres du modèle ]=]
.. frame:expandTemplate{
title = 'm',
args = { 'Avis pour Wikivoyage' }
}
.. [=[ fausses ou manquantes.
</div>
[[Category:Modèle "Avis pour Wikivoyage" avec erreurs]]
]=]
timelyNewsMsg = frame:extensionTag(
'indicator',
'[[File:Wikivoyage-Logo-v3-en.svg|44px|Cet article de nouvelles contient des informations de voyage|link=Wikinews:Avis de voyage]]',
{ name = 'wikivoyage' }
) .. '\n[[Category:Avis pour Wikivoyage]]'
expiredNewsMsg = '[[Category:Avis pour Wikivoyage archive]]'
end
local function dateError( year, month, day )
if
not year
or not month
or year < 2013
or year > tonumber( os.date( '%Y' ) )
or month < 1
or month > 12
or day < 1
or day > 31
then return true
end
end
function p.getWikicode( frame )
local year = tonumber( frame.args.an )
local month = tonumber( frame.args.mois )
local day = tonumber( frame.args.jour ) or 15
setMessages( frame )
if dateError( year, month, day )
then return dateErrorMsg
end
local currentDate = os.time()
local articleDate = os.time{
year = year,
month = month,
day = day
}
if os.difftime( currentDate, articleDate ) < 86400 * 31 * ( .5 + showMonths )
then return timelyNewsMsg
else return expiredNewsMsg
end
end
function p.getMesiVisualizzazione()
return showMonths
end
return p