Module:IconUtils: Difference between revisions

From Eco - English Wiki
[checked revision][unchecked revision]
No edit summary
BuloBon (talk | contribs)
No edit summary
Tag: Reverted
Line 8: Line 8:
     local IconSize = ''
     local IconSize = ''
     local IconLink = ''
     local IconLink = ''
    local IconTextLine = ''
    local IconTextBr = ''


     local args = Utils.normalise(param)
     local args = Utils.normalise(param)


     if args.id == nil or args.name == '' then return 'Module:IconUtils \'id\' must be specified.' end
    -- Vérifie qu'on a au moins un id
     if args.id == nil or args.id == '' then
        return "Module:IconUtils 'id' must be specified."
    end
 
    -- Détermine le nom automatiquement
    local defaultLang = 'French'
    local name = args.name
 
    if not name or name == '' then
        -- Essaie de récupérer le nom depuis args[defaultLang]
        if args[defaultLang] and args[defaultLang] ~= '' then
            name = args[defaultLang]
        elseif args['English'] and args['English'] ~= '' then
            name = args['English']
        else
            name = args.id
        end
    end


     Icon = args.id .. '_Icon.png'
     Icon = args.id .. '_Icon.png'
Line 18: Line 38:
     if args.style == nil or args.style == '' then IconStyle = '1' else IconStyle = args.style end
     if args.style == nil or args.style == '' then IconStyle = '1' else IconStyle = args.style end
     if args.link == nil or args.link == '' then IconLink = '' else IconLink = '[[' .. args.link .. ']]' end   
     if args.link == nil or args.link == '' then IconLink = '' else IconLink = '[[' .. args.link .. ']]' end   
     if args.link == '1' then IconLink = '[[' .. args.name .. ']]' end
     if args.link == '1' then IconLink = '[[' .. name .. ']]' end
     if IconLink == '' then IconTextLine = '  ' .. args.name IconTextBr = '<br>' .. args.name else IconTextLine = '  ' .. IconLink IconTextBr = '<br>' .. IconLink end
     if IconLink == '' then  
        IconTextLine = '  ' .. name  
        IconTextBr = '<br>' .. name  
    else  
        IconTextLine = '  ' .. IconLink  
        IconTextBr = '<br>' .. IconLink  
    end


     if IconStyle == '1' then return '[[file:'.. Icon ..'|'.. IconSize ..'px|link='.. IconLink ..']]' end
     if IconStyle == '1' then return '[[file:'.. Icon ..'|'.. IconSize ..'px|link='.. IconLink ..']]' end

Revision as of 10:11, 16 November 2025


local p = {}

function p.main(param)
    local Utils = require('Module:Utils')

    local Icon = ''
    local IconStyle = ''
    local IconSize = ''
    local IconLink = ''
    local IconTextLine = ''
    local IconTextBr = ''

    local args = Utils.normalise(param)

    -- Vérifie qu'on a au moins un id
    if args.id == nil or args.id == '' then
        return "Module:IconUtils 'id' must be specified."
    end

    -- Détermine le nom automatiquement
    local defaultLang = 'French'
    local name = args.name

    if not name or name == '' then
        -- Essaie de récupérer le nom depuis args[defaultLang]
        if args[defaultLang] and args[defaultLang] ~= '' then
            name = args[defaultLang]
        elseif args['English'] and args['English'] ~= '' then
            name = args['English']
        else
            name = args.id
        end
    end

    Icon = args.id .. '_Icon.png'

    if args.size == nil or args.size == '' then IconSize = 28 else IconSize = args.size end
    if args.style == nil or args.style == '' then IconStyle = '1' else IconStyle = args.style end
    if args.link == nil or args.link == '' then IconLink = '' else IconLink = '[[' .. args.link .. ']]' end   
    if args.link == '1' then IconLink = '[[' .. name .. ']]' end
    if IconLink == '' then 
        IconTextLine = '  ' .. name 
        IconTextBr = '<br>' .. name 
    else 
        IconTextLine = '  ' .. IconLink 
        IconTextBr = '<br>' .. IconLink 
    end

    if IconStyle == '1' then return '[[file:'.. Icon ..'|'.. IconSize ..'px|link='.. IconLink ..']]' end
    if IconStyle == '2' then return '[[file:'.. Icon ..'|'.. IconSize ..'px|link='.. IconLink ..']]' .. IconTextLine end
    if IconStyle == '3' then return '[[file:'.. Icon ..'|'.. IconSize ..'px|link='.. IconLink ..']]' .. IconTextBr end
    if IconStyle == '4' then return '<div class="IconFrame">[[file:'.. Icon ..'|'.. IconSize ..'px|link='.. IconLink ..']]' .. IconTextBr .. '</div>' end
end

return p