« Module:Correction syntaxique » : différence entre les versions

De Le Wiki de Lug
Aller à la navigation Aller à la recherche
Modèle>Od1n
(ajout classe permettant d'afficher aisément les messages, via CSS ou JavaScript personnel)
m (24 revisions imported)
 
(7 versions intermédiaires par 3 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
local p = {}
local p = {}


function p.verifierLesArguments(frame)
local function _verif(passed_args, modele_args, cat)
    local passed_args = frame:getParent().args
    local modele_args = frame.args
     local rv = ""
     local rv = ""
     local nombre = 0
     local nombre = 0
Ligne 9 : Ligne 7 :
         if (modele_args[a] == nil and b ~= "") then
         if (modele_args[a] == nil and b ~= "") then
             nombre = nombre + 1
             nombre = nombre + 1
             rv = rv .. '<div class="erreur_syntaxe_modele" style="display:none">' .. "L'argument " .. mw.text.nowiki(a) .. " (valeur " .. mw.text.nowiki(b) .. ") n'existe pas dans le modèle appelé</div>"
             rv = rv .. '<span class="erreur_syntaxe_modele" style="display:none">' .. "L'argument " .. mw.text.nowiki(a) .. " (valeur " .. mw.text.nowiki(b) .. ") n'existe pas dans le modèle appelé</span>"
         end
         end
     end
     end
     if (nombre > 0) then
     if (nombre > 0) then
         local categorie
         local categorie
         if (modele_args["_catégorie"] and modele_args["_catégorie"] ~= "") then
         if (cat) and (cat ~= "") then
             categorie = tostring(mw.title.new(modele_args["_catégorie"], "Catégorie"))
             categorie = tostring(mw.title.new(cat, "Catégorie"))
         else
         else
             categorie = "Catégorie:Page appelant un modèle avec un paramètre inconnu"
             categorie = "Catégorie:Page appelant un modèle avec un paramètre inconnu"
         end
         end
        local cle_tri
         if (nombre > 10) then
         if (nombre > 10) then
             cle_tri = "+" .. nombre
             rv = rv .. "[[" .. categorie .. "|+]]"
         else
         else
             cle_tri = nombre
             rv = rv .. "[[" .. categorie .. "]]"
         end
         end
        rv = rv .. "[[" .. categorie .. "|" .. cle_tri .. "]]"
     end
     end
     return rv
     return rv
end
function p.verif( passed_args, modele_args_list, cat )
local modele_args = {}
for i, v in ipairs( modele_args_list ) do
if tonumber( v ) then
modele_args[ tonumber( v ) ] = true
else
modele_args[ v ] = true
end
end
return _verif( passed_args, modele_args, cat )
end
function p.verifierLesArguments(frame)
    local passed_args = frame:getParent().args
    local modele_args = frame.args
    local cat = modele_args["_catégorie"]
    return _verif(passed_args, modele_args, cat)
end
end


return p
return p

Version actuelle datée du 9 avril 2021 à 11:52

La documentation pour ce module peut être créée à Module:Correction syntaxique/doc

local p = {}

local function _verif(passed_args, modele_args, cat)
    local rv = ""
    local nombre = 0
    for a,b in pairs(passed_args) do
        if (modele_args[a] == nil and b ~= "") then
            nombre = nombre + 1
            rv = rv .. '<span class="erreur_syntaxe_modele" style="display:none">' .. "L'argument " .. mw.text.nowiki(a) .. " (valeur " .. mw.text.nowiki(b) .. ") n'existe pas dans le modèle appelé</span>"
        end
    end
    if (nombre > 0) then
        local categorie
        if (cat) and (cat ~= "") then
            categorie = tostring(mw.title.new(cat, "Catégorie"))
        else
            categorie = "Catégorie:Page appelant un modèle avec un paramètre inconnu"
        end
        if (nombre > 10) then
            rv = rv .. "[[" .. categorie .. "|+]]"
        else
            rv = rv .. "[[" .. categorie .. "]]"
        end
    end
    return rv
end

function p.verif( passed_args, modele_args_list, cat )
	local modele_args = {}
	for i, v in ipairs( modele_args_list ) do
		if tonumber( v ) then
			modele_args[ tonumber( v ) ] = true
		else
			modele_args[ v ] = true
		end
	end
	return _verif( passed_args, modele_args, cat )
end

function p.verifierLesArguments(frame)
    local passed_args = frame:getParent().args
    local modele_args = frame.args
    local cat = modele_args["_catégorie"]
    return _verif(passed_args, modele_args, cat)
end

return p