Modul:Kirche: Unterschied zwischen den Versionen

switch zu neue-Lua-Faktenbox
Keine Bearbeitungszusammenfassung
(switch zu neue-Lua-Faktenbox)
Zeile 1: Zeile 1:
local p = {} --p stands for package
local p = {} --p stands for package
local c = require("Module:Common")
local com = require("Modul:Common")
local g = require("Module:Gebäude")
local dev = require("Modul:Development")
local geo = require("Module:Geocode")
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)
function p.Faktenbox(frame)
local args = c.shallowcopy(frame:getParent().args)
-- mw.log("Faktenbox(frame)")
args["PLZ"] = geo.GetPLZ(frame:getParent())
-- 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
local tpl_bild = p.bild(frame, args)
-- Karten-Tab bauen
local tab_bild=''
local kartenTab
if tpl_bild:gsub("%s+", "") ~= '' then
local pagename = wik.pagename()
tab_bild='<tab name=Bild>' ..
if string.find(pagename, ";") ~= nil then
tpl_bild .. '</tab>'
kartenTab = "Semikolon im Artikel-/Seitennamen für korrekte Kartendarstellung nicht erlaubt!"
else
kartenTab = geb.kartenTab(frame, args, noframe)
end
end
if kartenTab ~= "" then
local tpl_karte = p.karte(frame, args)
kartenTab = '<tab name = Karte>' .. kartenTab .. '</tab>'
local tab_karte=''
if tpl_karte:gsub("%s+", "") ~= '' then
tab_karte='<tab name=Karte>' ..  
tpl_karte .. '</tab>'
end
end
-- The tab "Daten" is visible everytime
-- Gebäude-Tab bauen (immer vorhanden)
local tpl_daten = p.daten(frame, args)
local gebaeudeTab = geb.datenTab{
local tab_daten='<tab name=Daten>' ..
frame = frame,
tpl_daten .. '</tab>'
args = args,
kategorie = "Gebäude",
-- The tab "Gebäude" is visible everytime
plz = plz,
local tpl_gebaeude = p.gebaeude(frame, args)
strasseHnr = strasseHnr,
local tab_gebaeude='<tab name=Gebäude>' ..  
geo = true,
tpl_gebaeude .. '</tab>'
noframe = noframe
}
--tpl_attribute = c.attributeTable( args )
local gebaeudeTab = '<tab name = Gebäude>' .. gebaeudeTab .. '</tab>' -- immer vorhanden
--tab_attribute='<tab name=Attribute>' ..
 
--tpl_attribute .. '</tab>'
-- Daten-Tab bauen (immer vorhanden)
local datenTab = p.datenTab{
local t ='<div class=factbox><tabs>' ..  
args = args,
  tab_bild ..
kategorie = kategorie
  tab_karte ..
}
  tab_daten ..
local datenTab = '<tab name = Daten>' .. datenTab .. '</tab>' -- immer vorhanden
  tab_gebaeude ..
  --tab_attribute ..
  '</tabs></div>'


-- Use preprocess to render the factbox and all contens at once
-- Tabs zusammenfügen
return frame:preprocess(t)
local box =
end
"<div class = factbox><tabs>" ..
bildTab ..
kartenTab ..
datenTab ..
gebaeudeTab ..
"</tabs></div>"


function p.bild(frame, args)
-- Sonstige gemeinsame Dinge anfügen (Formular, Kategorien, Wartung, ...)
    return frame:expandTemplate{title = 'CommonTabs/Bild', args=args}
box = box .. fab.common{
end
klasse = klasse,
kategorie = kategorie,
denkmalstatusbesteht = args["DenkmalstatusBesteht"],
bild = args["Bild"],
strasseHnr = strasseHnr,
positionscheck = true,
formular = formular
}
-- mw.log("box = " .. box)


function p.karte (frame, args)
-- Use preprocess to render the factbox and all contens at once
return frame:expandTemplate{title = 'CommonTabs/Karte', args=args}
if not noframe then
end
box = frame:preprocess(box)
end


function p.daten(frame, args)
box = box .. com.returnStringCheck(box)
    return frame:expandTemplate{title = 'Kirche/Daten', args=args}
-- mw.log("box = " .. box)
return box
end
end


--Geokoordinate ist nochmal zu überprüfen, wie das funktionieren soll (lat, lon)
function p.datenTab(args)
function p.gebaeude(frame, args)
-- mw.log("datenTab(args)")
    return frame:expandTemplate{title = 'Gebäude/Daten', args=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
end


return p
return p