Basculer le menu
Changer de menu des préférences
Basculer le menu personnel
Non connecté(e)
Votre adresse IP sera visible au public si vous faites des modifications.

« Module:Infobox/Configs/Plugin » : différence entre les versions

De Nefald
Hiob (discussion | contributions)
m Ajout : "Modération" (type + catégorie de plugins)
Hiob (discussion | contributions)
m catégorie multiple (process)
Ligne 33 : Ligne 33 :
                         -- Configuration locale des types
                         -- Configuration locale des types
                         local typeValues = {
                         local typeValues = {
                        ['api'] = 'API',
                            ['api'] = 'API',
                             ['économie'] = 'Économie',
                             ['économie'] = 'Économie',
                             ['pvp'] = 'PvP',
                             ['pvp'] = 'PvP',
Ligne 51 : Ligne 51 :
                         }
                         }
                          
                          
                         local cleanValue = mw.text.trim(mw.ustring.lower(value))
                        -- Séparer par virgule et traiter chaque type
                         local types = mw.text.split(value, ',')
                        local displayTypes = {}
                        local hasError = false
                        local errorMsg = ''
                       
                        for _, typeItem in ipairs(types) do
                            local cleanValue = mw.text.trim(mw.ustring.lower(typeItem))
                           
                            if typeValues[cleanValue] then
                                table.insert(displayTypes, typeValues[cleanValue])
                            else
                                hasError = true
                                errorMsg = errorMsg .. '<span style="color: red; font-weight: bold;">Type invalide: "' .. typeItem .. '"</span> '
                            end
                        end
                          
                          
                         if typeValues[cleanValue] then
                         if hasError then
                             return typeValues[cleanValue]
                             return errorMsg .. '[[Catégorie:Pages avec erreurs]]'
                        else
                            return '<span style="color: red; font-weight: bold;">Type invalide: "' .. value .. '"</span>[[Catégorie:Pages avec erreurs]]'
                         end
                         end
                       
                        -- Joindre les types avec ", " pour l'affichage
                        return table.concat(displayTypes, ', ')
                     end
                     end
                 },
                 },
Ligne 93 : Ligne 109 :
                   process = function(value, args, frame)
                   process = function(value, args, frame)
                     if value and value ~= '' then
                     if value and value ~= '' then
                        -- Si c'est déjà un lien formaté MediaWiki, le garder tel quel
                         if value:match('^%[.+%]$') then
                         if value:match('^%[.+%]$') then
                             return frame:preprocess(value)
                             return frame:preprocess(value)
                        -- Si c'est une URL, créer un lien automatique
                         elseif value:match('^https?://') then
                         elseif value:match('^https?://') then
                             return frame:preprocess('[' .. value .. ' Documentation]')
                             return frame:preprocess('[' .. value .. ' Documentation]')
                         else
                         else
                            -- Si c'est du texte simple, le traiter comme un nom de page
                             return '[[' .. value .. ']]'
                             return '[[' .. value .. ']]'
                         end
                         end
Ligne 110 : Ligne 123 :
                   process = function(value, args, frame)
                   process = function(value, args, frame)
                     if value and value ~= '' then
                     if value and value ~= '' then
                        -- Si c'est déjà un lien formaté MediaWiki, le garder tel quel
                         if value:match('^%[.+%]$') then
                         if value:match('^%[.+%]$') then
                             return frame:preprocess(value)
                             return frame:preprocess(value)
                        -- Si c'est une URL, créer un lien automatique
                         elseif value:match('^https?://') then
                         elseif value:match('^https?://') then
                             return frame:preprocess('[' .. value .. ' Site web]')
                             return frame:preprocess('[' .. value .. ' Site web]')
                         else
                         else
                            -- Si c'est du texte simple, le traiter comme un nom de page
                             return '[[' .. value .. ']]'
                             return '[[' .. value .. ']]'
                         end
                         end
Ligne 211 : Ligne 221 :
         -- Configuration des catégories par type
         -- Configuration des catégories par type
         local typeCategories = {
         local typeCategories = {
        ['api'] = 'Plugin d\'API',
            ['api'] = 'Plugin d\'API',
             ['économie'] = 'Plugin d\'économie',
             ['économie'] = 'Plugin d\'économie',
             ['pvp'] = 'Plugin de PvP',
             ['pvp'] = 'Plugin de PvP',
Ligne 235 : Ligne 245 :
         }
         }
          
          
         -- Catégorie basée sur le type
         -- Catégories basées sur le(s) type(s)
         if args.type then
         if args.type then
             local cleanType = mw.text.trim(mw.ustring.lower(args.type))
            -- Séparer par virgule et traiter chaque type
            if typeCategories[cleanType] then
             local types = mw.text.split(args.type, ',')
                table.insert(cats, typeCategories[cleanType])
           
            for _, typeItem in ipairs(types) do
                local cleanType = mw.text.trim(mw.ustring.lower(typeItem))
                if typeCategories[cleanType] then
                    table.insert(cats, typeCategories[cleanType])
                end
             end
             end
         end
         end
Les témoins (''cookies'') nous aident à fournir nos services. En utilisant nos services, vous acceptez notre utilisation de témoins.