Zuletzt bearbeitet vor 2 Jahren
von Redaktion

RzF

Keine Kategorien vergebenBearbeiten
Version vom 28. Juli 2021, 14:16 Uhr von imported>WikiSysop
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

local p = {}
--- Examples: "RzF - 1 - zu § 103a FlurbG", "RzF - 1 - zu § 10 Nr. 2 b FlurbG"
function p.sortierung ( frame )
	local paragraph = mw.text.trim( frame.args[1] ) -- "103a"
	local absatz = mw.text.trim( frame.args[2] ) -- "2 b"
	absatz = string.gsub( absatz, " ", "" ) -- "2b"
	local satz = mw.text.trim( frame.args[3] )
	local lfndNr = mw.text.trim( frame.args[4] )

	local chars = {
	'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l',
	'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x',
	'y', 'z'
	}
	local weight = 0;

	local paragraphEnd = string.sub( paragraph, -1 )
	local paragraphEndIndex = p.index_of( chars, paragraphEnd )
	if paragraphEndIndex > -1 then
	weight = weight + paragraphEndIndex / table.getn( chars )
	paragraph = string.sub( paragraph, 1, string.len( paragraph ) -1 )
	end
	local absatzEnd = string.sub( absatz, -1 )
	local absatzEndIndex = p.index_of( chars, absatzEnd )
	if absatzEndIndex > -1 then
	weight = weight + absatzEndIndex / table.getn( chars )
	absatz = string.sub( absatz, 1, string.len( absatz ) -1 )
	end

	local sort = 0
	sort =
		( paragraph * 1000000000 ) +
		( satz * 1000000 ) +
		( absatz * 1000 ) +
		lfndNr +
		weight
	sort = math.ceil( sort * 100 )
	return sort
end

function p.index_of ( tab, val )
	for index, value in ipairs(tab) do
		if value == val then
			return index
		end
	end

	return -1
end

-- RzF - {{SUBPAGENAME}} - zu {{BASEPAGENAME}} {{NAMESPACE}}
function p.anzeigename ( frame )
	local currentTitle = mw.title.getCurrentTitle()
	local subpagename = currentTitle.subpageText
	local paragraphAbsNrSatz = currentTitle.baseText
	local namespaceText = currentTitle.nsText

	return 'RzF - ' .. subpagename .. ' - zu ' .. paragraphAbsNrSatz .. ' ' .. namespaceText
end

return p
Keine Kategorien vergebenBearbeiten