Module:Image4
La documentation pour ce module peut être créée à Module:Image4/Documentation
local p = {}
local szMsg = ''
local szCode = ''
function p.Construire( frame )
------------------------------------------------------------
-- Noter les paramètres nommés dans le code du modèle :
-- |namespace=
------------------------------------------------------------
local szModeleNamespace = frame.args.namespace
local args = mw.getCurrentFrame():getParent().args
-------------------------------------------------------
-- Noter les paramètres sans nom dans l'appel du modèle
-------------------------------------------------------
local aParamSansNom = {}
local nCnt = 0
local szInfo = ''
for i, v in ipairs(args) do
aParamSansNom[i] = mw.text.trim(v)
if string.len( mw.text.trim(v) ) ~= 0 then
aParamSansNom[i] = mw.text.trim(v)
nCnt = nCnt + 1
szInfo = szInfo .. 'Paramètre ' .. i .. ' : ' .. aParamSansNom[i] .. '<br>\n'
end
szCode = szCode .. i .. ' : ' .. aParamSansNom[i] .. '<br>\n'
end
local bIsLeft = false
local bIsCenter = false
local bIsRight = false
for i = 1, #aParamSansNom do
if (aParamSansNom[i] == 'left' or aParamSansNom[i] == 'gauche') then bIsLeft = true end
if (aParamSansNom[i] == 'center' or aParamSansNom[i] == 'centré') then bIsCenter = true end
if (aParamSansNom[i] == 'right' or aParamSansNom[i] == 'droite') then bIsRight = true end
end
-----------------------------------------------------
-- Noter les paramètres nommés dans l'appel du modèle
-- |alt= |upright= |link= |class= |page=
-- |rotation=
-----------------------------------------------------
local szParamAlt = ''; if ( args.alt ~= nil ) then szParamAlt = args.alt end
-- szCode = szCode .. 'alt=' .. szParamAlt .. '++<br>\n'
local szParamUpright = ''; if ( args.upright ~= nil ) then szParamUpright = args.upright end
-- szCode = szCode .. 'upright=' .. szParamUpright .. '++<br>\n'
local szParamLink = ''; if ( args.link ~= nil ) then szParamLink = args.link end
-- szCode = szCode .. 'link=' .. szParamLink .. '++<br>\n'
local szParamClass = ''; if ( args.class ~= nil ) then szParamClass = args.class end
-- szCode = szCode .. 'class=' .. szParamClass .. '++<br>\n'
local szParamPage = ''; if ( args.page ~= nil ) then szParamPage = args.page end
-- szCode = szCode .. 'page=' .. szParamPage .. '++<br>\n'
local szParamRotation = ''; if ( args.rotation ~= nil ) then szParamRotation = args.rotation end
-- szCode = szCode .. 'page=' .. szParamPage .. '++<br>\n'
local szParamMargin = ''; if ( args.m ~= nil ) then szParamMargin = args.m end
-- szCode = szCode .. 'page=' .. szParamMargin .. '++<br>\n'
local szParamMarginTop = ''; if ( args.mt ~= nil ) then szParamMarginTop = args.mt end
-- szCode = szCode .. 'page=' .. szParamMarginTop .. '++<br>\n'
local szParamMarginBottom = ''; if ( args.mb ~= nil ) then szParamMarginBottom = args.mb end
-- szCode = szCode .. 'page=' .. szParamMarginBottom .. '++<br>\n'
-------------------------
-- Créer le wikicode/HTML
-------------------------
szCode = '<div style="'
szCode = szCode .. 'break-inside:avoid; '
if bIsLeft == true then szCode = szCode .. 'text-align:left; margin-left:0em; ' end
if bIsCenter == true then szCode = szCode .. 'text-align:center; clear:both; ' end
if bIsRight == true then szCode = szCode .. 'text-align:right; margin-right:0em; ' end
if szParamRotation ~= '' then szCode = szCode .. 'rotate(' .. szParamRotation .. 'deg); ' end
if szParamMargin ~= '' then szCode = szCode .. 'margin:' .. szParamMargin .. '; ' end
if szParamMarginTop ~= '' then szCode = szCode .. 'margin-top:' .. szParamMarginTop .. '; ' end
if szParamMarginBottom ~= '' then szCode = szCode .. 'margin-bottom:' .. szParamMarginBottom .. '; ' end
szCode = szCode .. '">'
szCode = szCode .. '[[File:'
if aParamSansNom[1] ~= nil then szCode = szCode .. aParamSansNom[1] end
for i = 2, #aParamSansNom do
szCode = szCode .. '|' .. aParamSansNom[i]
end
if szParamAlt ~= '' then szCode = szCode .. '|alt=' .. szParamAlt else end
if szParamUpright ~= '' then szCode = szCode .. '|upright=' .. szParamUpright end
if szModeleNamespace == 'Page' then -- Lien dans l'espace de noms Page, sinon pas de lien
if szParamLink ~= '' then szCode = szCode .. '|link=' .. szParamLink end
else
szCode = szCode .. '|link='
end
if szParamClass ~= '' then szCode = szCode .. '|class=' .. szParamClass end
if szParamPage ~= '' then szCode = szCode .. '|page=' .. szParamPage end
szCode = szCode .. ']]'
szCode = szCode .. '</div>'
if string.len( szMsg ) ~= 0 then
szCode = szMsg
end
return szCode
end
return p