Kullanıcı:HastaLaVi2/Çalışma2
local function tabloSayi(T) local say = 0 for _ in pairs(T) do say = say + 1 end return say end
local function aynisiVarMi(T, G) local durum = true
for _,u in pairs(T) do if u == "Modül:"..G then durum = nil end end
return durum end
local function lua(sayfa) local tablo = {} local modul = {} local moduller, baslik, i
local function loop(icerik, tablo, pat1, pat2, pat3) if mw.ustring.find(icerik, pat1) then local say = mw.ustring.find(icerik, pat1) icerik = mw.ustring.sub(icerik, say+pat3, -1) local yeni = mw.ustring.gsub(icerik, pat2, "") if mw.ustring.len(yeni) < 50 and aynisiVarMi(tablo, yeni) then table.insert(tablo, "Modül:" .. yeni) end tablo = loop(icerik, tablo, pat1, pat2, pat3) end return tablo end
local function loopTemp(sayfa, modul) return loop(sayfa:getContent(), modul, "invoke", "|.*", 7) end local function loopMod(sayfa, modul) return loop(sayfa:getContent(), modul, 'require%(%"Modül:', '%"%).*', 15) end local function loopMod2(sayfa, modul) return loop(sayfa:getContent(), modul, 'mw%.loadData%(%"Modül:', '%"%).*', 19) end
if sayfa.nsText == "Şablon" and mw.ustring.find(sayfa:getContent(), "invoke") then moduller = loopTemp(sayfa, modul) baslik = "şablon" i = tabloSayi(moduller) end
if sayfa.nsText == "Modül" and (mw.ustring.find(sayfa:getContent(), 'require%(%"Modül:') or mw.ustring.find(sayfa:getContent(), 'mw%.loadData%(%"Modül:')) then moduller = loopMod(sayfa, modul) local moduller2 = loopMod2(sayfa, modul) baslik = "modül" i = tabloSayi(moduller) end
if modul[1] then
table.insert(tablo, '
' ..'' ..'' ..' | '
..'Bu '..baslik..' şu Lua modül'..(i == 1 and 'ünü' or 'lerini')..' kullanıyor:
|
")
end
return table.concat(tablo) end