« Module:Correction syntaxique » : différence entre les versions
Aller à la navigation
Aller à la recherche
Modèle>Od1n (ici aussi, car on trouve des syntaxes erronées à des points…) |
m (24 revisions imported) |
||
| (8 versions intermédiaires par 3 utilisateurs non affichées) | |||
| Ligne 1 : | Ligne 1 : | ||
local p = {} | local p = {} | ||
function | local function _verif(passed_args, modele_args, cat) | ||
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 .. '< | 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 ( | if (cat) and (cat ~= "") then | ||
categorie = tostring(mw.title.new( | 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 | ||
if (nombre > 10) then | if (nombre > 10) then | ||
rv = rv .. "[[" .. categorie .. "|+]]" | |||
else | else | ||
rv = rv .. "[[" .. categorie .. "]]" | |||
end | end | ||
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