אתר 'ויקיסוגיה' שותף באבל הכבד על מותו של פרופ' חכם יעקב שוויקה זצ"ל.
בין שאר פעליו הרבים, גם אתר זה זכה לליווי צמוד ממנו, ולקבלת עצה ותושיה.
יהי הלימוד באתר לעילוי נשמתו ולהצלחת אשתו וילדיו.

יחידה:פרמטרים

מתוך ויקיסוגיה
קפיצה לניווט קפיצה לחיפוש

ניתן ליצור תיעוד על היחידה הזאת בדף יחידה:פרמטרים/תיעוד

-- This function is used for תבנית:הערה parameters control
function equal(frame)
	local pframe = frame:getParent()
	type = mw.ustring.sub(pframe:getTitle(), 7)
	oldargs = pframe.args
	local newargs = {}
	local kinds = frame.args
	local stop
	for p, pp in pairs(oldargs) do
		stop = false
		if tostring(p) == tostring(kinds[1]) and newargs[p] == nil then
			newargs[p] = pp
			stop = true
		elseif tostring(p) == tostring(kinds[1]) then
			equalerror("תוכן כפול: " .. newargs[p] .. " וגם " .. pp)
			stop = true
		else 
			for z, zz in ipairs(kinds) do
				if tostring(p) == tostring(zz) then
					newargs[p] = pp
					stop = true
					do
						break
					end
				end
			end
		end
		if not stop then
			local kind = newargs[kinds[1]] or newargs[tonumber(kinds[1])]
			if kind ~= nil then
				equalerror("תוכן כפול: " .. kind .. " וגם " .. p .. "=" .. pp)
			else newargs[kinds[1]] = p .. "=" .. pp
			end
		end
	end
	return frame:expandTemplate({title = frame.args["קוד"], args = newargs})
end

function equalerror(message)
	error("[[קטגוריה:שגיאות קריאה לתבנית " .. type .. "]] (בקריאה ל[[תבנית:" .. type .. "]]) " .. message, 0)
end

function decode(frame)
	return mw.uri.decode(frame.args[1])
end

function biur(frame)
	pframe = frame:getParent()
	local newargs = {}
	for a, aa in pairs(pframe.args) do
		if a == "קבוצה" then
			error('פרמטר "קבוצה" כפול[[category:' ..
				tostring(mw.message.new("Cite-tracking-category-cite-error")) .. ']]', 0)
		end
		newargs[a] = aa
	end
	newargs["קבוצה"] = frame.args[1] or "hebrew"
	return frame:expandTemplate{title = "הערה", args = newargs}
end

--[[
	this is a list of pages to be excluded from param validation test, because they are too heavy.
]]

local verboten = {
	['פיגועי הטרור הפלסטיני (2015–2016)'] = '',
	['בוסטון סלטיקס'] = '',
	['המדינה האסלאמית'] = '',
	['ליגת ה-NBA'] ='',
	['מבצע עופרת יצוקה'] = '',
	['רב חסדא'] = '',
	['אורי אבנרי'] = '',
	['בני ברק'] = '',
	
	}

function validateParameters( frame )
	local pageName = mw.title.getCurrentTitle().text
	return verboten[pageName] or require('Module:ParamValidator').validateparams( frame )
end

return {
	main = validateParameters, 
	equal = equal, 
	decode = decode, 
	biur = biur,
}