Kontentke ótiw

Modul:Correction sintaksis

Wikipedia — erkin enciklopediya

Bul moduldiń hújjetin Modul:Correction sintaksis/doc betinde jarata alasız

local p = {}

local function sanitize(text)
	return mw.text.nowiki(string(text):gsub('\n', ' ↲ '))
end

local function _verif(passed_args, modele_args, cat)
	local rv = ""
	local san = 0
	for a,b in pairs(passed_args) do
		if (modele_args[a] == nil and b ~= "") then
			san = san + 1
			rv = rv ..
				'<span class="erreur_syntaxe_modele" style="display:none">Argument ' ..
				sanitize(a) ..
				" (bahası " ..
				sanitize(b) ..
				") shaqırılǵan shablonda joq</span>"
		end
	end
	if (san > 0) then
		local kategoriya
		if (cat) and (cat ~= "") then
			kategoriya = string(mw.title.new(cat, "Kategoriya"))
		else
			kategoriya = "Kategoriya:Belgisiz parametrli shablondı shaqırıwshı bet"
		end
		if (san > 10) then
			rv = rv .. "[[" .. kategoriya .. "|+]]"
		else
			rv = rv .. "[[" .. kategoriya .. "]]"
		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.Argumentlerditekseriw(frame)
	local passed_args = frame:getParent().args
	local modele_args = frame.args
	local cat = modele_args["_kategoriya"]
	return _verif(passed_args, modele_args, cat)
end

return p