« Module:Liste des corrections » : différence entre les versions

Contenu supprimé Contenu ajouté
rechercher les modèles corr dans la page avec string.gmatch() ne suffit pas, car le 2e argument peut contenir un autre modèle (voir Sujet:W86nf9vbqyrh5633)
détection des erreurs avec le modèle corr sur une page
 
Ligne 101 :
if NS == "Page" then
forif _,corr c== in ipairs(corr)false dothen
corr = frame:expandTemplate{
-- le deuxième argument peut contenir du wikicode
local cm title = frame:expandTemplate{'rouge' ,
args = { frame:preprocess('Une erreur avec un modèle {{m|corr}} a été détectée sur cette page.') }
title = 'CorrDiscussion' ,
args = { c[1], frame:preprocess(c[2]), nombre=c[3] }
}
td_corr:nodewikitext(cmcorr)
else
for _, c in ipairs(corr) do
-- le deuxième argument peut contenir du wikicode
local cm = frame:expandTemplate{
title = 'CorrDiscussion' ,
args = { c[1], frame:preprocess(c[2]), nombre=c[3] }
}
td_corr:node(cm)
end
end
else
Ligne 198 ⟶ 206 :
if corr_args ~= nil then
local fist_pipe_pos = mw.ustring.find(corr_args, "|", 1, true)
if fist_pipe_pos ~= nil then
local corr_arg1 = mw.ustring.sub(corr_args,1,fist_pipe_pos-1)
local corr_arg2 = mw.ustring.sub(corr_args,fist_pipe_pos+1)
-- si la correction est multiple on ne la stocke qu'une fois
local m = false
for i, v in ipairs(corr) do
if corr_arg1==v[1] and corr_arg2==v[2] then
corr[i][3] = v[3]+1
m=true
end
end
if not m then
end
table.insert(corr, {corr_arg1, corr_arg2, 1})
if not m then
end
table.insert(corr, {corr_arg1, corr_arg2, 1})
else
return false -- erreur
end
end