Module:Correction syntaxique : Différence entre versions
m |
(mieux de laisser le tri par défaut, sinon tout est dans "0-9"… seule exception, on affiche en tête avec "+" les pages avec plus de 10 erreurs, cas assez exceptionnel) |
||
(11 révisions intermédiaires par 3 utilisateurs non affichées) | |||
Ligne 2 : | Ligne 2 : | ||
function p.verifierLesArguments(frame) | function p.verifierLesArguments(frame) | ||
− | + | local passed_args = frame:getParent().args | |
− | + | local modele_args = frame.args | |
− | + | local rv = "" | |
− | + | local nombre = 0 | |
for a,b in pairs(passed_args) do | for a,b in pairs(passed_args) do | ||
− | + | if (modele_args[a] == nil and b ~= "") then | |
− | + | 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>" | |
− | + | end | |
+ | end | ||
+ | if (nombre > 0) then | ||
+ | local categorie | ||
+ | if (modele_args["_catégorie"] and modele_args["_catégorie"] ~= "") then | ||
+ | categorie = tostring(mw.title.new(modele_args["_catégorie"], "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 | end | ||
− | |||
− | |||
− | |||
− | |||
− | |||
return rv | return rv | ||
end | end | ||
return p | return p |
Version actuelle datée du 15 février 2017 à 00:45
La documentation pour ce module peut être créée à Module:Correction syntaxique/doc
local p = {} function p.verifierLesArguments(frame) local passed_args = frame:getParent().args local modele_args = frame.args 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 .. '<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>" end end if (nombre > 0) then local categorie if (modele_args["_catégorie"] and modele_args["_catégorie"] ~= "") then categorie = tostring(mw.title.new(modele_args["_catégorie"], "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 return p