Modul:Kirche

Version vom 11. Oktober 2025, 16:56 Uhr von HeikoBot (Diskussion | Beiträge) (switch zu neue-Lua-Faktenbox)

Seiten-Übersicht

Zur Klasse Kirche gehörende Seiten:
Hauptseite Unterseiten
Allgemein
Faktenbox Vorlagen
Formulare
Module
Abfrage Vorlagen


Formulare


Sonstige


Siehe auch


local p = {} --p stands for package
local com = require("Modul:Common")
local dev = require("Modul:Development")
local str = require("Modul:String")
local wik = require("Modul:Wiki")
local geo = require("Modul:Geocode")
local kat = require("Modul:Kategorie")
local que = require("Modul:Queries")
local fab = require("Modul:Faktenbox")
local geb = require("Modul:Gebäude")
local formular = "Kirche" -- ggf. "Kirche/Work"

function p.Faktenbox(frame)
--	mw.log("Faktenbox(frame)")
--	mw.logObject(frame)
	local args, noframe = dev.GetParentArgs(frame)

	-- Klasse/Kategorie setzen
	local klasse = "Kirche"
	local kategorie = kat.mehrzahl(klasse)
	mw.smw.set("KlassenName = " .. klasse)

	-- Straße/Hausnummer Formular-Eingaben analysieren
	local strasseHnr = geb.strasseHnrParser(args)

	-- Postleitzahl ermitteln
	local plz = ""
	if #strasseHnr.strasse > 0 and not strasseHnr.strasse[1].suspekt then
		-- Es wird angenommen, dass alle Gebäude die gleiche PLZ haben. Hausnummer muss nicht vorhanden sein
		plz = geo.getPLZ(strasseHnr.strasse[1].name, strasseHnr.strasse[1].hausnummer[1])
		else
	end

	-- Bilder-Tab bauen
	local bildTab = fab.bildTab(args["Bild"])
	if bildTab ~= "" then
		bildTab = '<tab name = Bild>' .. bildTab .. '</tab>'
	end
	
	-- Karten-Tab bauen
	local kartenTab
	local pagename = wik.pagename()
	if string.find(pagename, ";") ~= nil then
		kartenTab = "Semikolon im Artikel-/Seitennamen für korrekte Kartendarstellung nicht erlaubt!"
	else
		kartenTab = geb.kartenTab(frame, args, noframe)
	end
	if kartenTab ~= "" then
		kartenTab = '<tab name = Karte>' .. kartenTab .. '</tab>'
	end
	
	-- Gebäude-Tab bauen (immer vorhanden)
	local gebaeudeTab = geb.datenTab{
		frame = frame,
		args = args,
		kategorie = "Gebäude",
		plz = plz,
		strasseHnr = strasseHnr,
		geo = true,
		noframe = noframe
	}
	local gebaeudeTab = '<tab name = Gebäude>' .. gebaeudeTab .. '</tab>' -- immer vorhanden

	-- Daten-Tab bauen (immer vorhanden)
	local datenTab = p.datenTab{
		args = args,
		kategorie = kategorie
	}
	local datenTab = '<tab name = Daten>' .. datenTab .. '</tab>' -- immer vorhanden

	-- Tabs zusammenfügen
	local box = 
		"<div class = factbox><tabs>" ..
		bildTab ..
		kartenTab ..
		datenTab ..
		gebaeudeTab ..
		"</tabs></div>"

	-- Sonstige gemeinsame Dinge anfügen (Formular, Kategorien, Wartung, ...)
	box = box .. fab.common{
		klasse = klasse,
		kategorie = kategorie,
		denkmalstatusbesteht = args["DenkmalstatusBesteht"],
		bild = args["Bild"],
		strasseHnr = strasseHnr,
		positionscheck = true,
		formular = formular
	}
--	mw.log("box = " .. box)

	-- Use preprocess to render the factbox and all contens at once
	if not noframe then
		box = frame:preprocess(box)
	end

	box = box .. com.returnStringCheck(box)
--	mw.log("box = " .. box)
	return box
end

function p.datenTab(args)
--	mw.log("datenTab(args)")
--	mw.logObject(args)
	local t = ""
	t = t .. "<dl class = 'dataTable'>"
	t = t .. fab.zeileKategorieSeite(args.kategorie, args.args["Ehemals"])
	t = t .. fab.zeile("Namensgeber",	args.args["Namensgeber"])
	t = t .. fab.zeile("Konfession",	args.args["Konfession"])
	t = t .. fab.zeileDatum{attr_date="Weihedatum", date=args.args["Weihedatum"],attr_day="Weihetag",attr_year="Weihejahr"}
	t = t .. fab.zeile("Besonderheit",	args.args["Besonderheit"])
	t = t .. "</dl>"
	t = t .. fab.faktenboxSemantikBrowsen()
	
--	mw.log("t = " .. t)
    return t
end

return p