Modul:Gebäude: Unterschied zwischen den Versionen

+ Weiterleitung per Gebäude-Formular aktivierbar
(+ p.Weiterleitung(frame))
(+ Weiterleitung per Gebäude-Formular aktivierbar)
Zeile 12: Zeile 12:
-- Konsolenzeile zum Debuggen:
-- Konsolenzeile zum Debuggen:
-- =p.Faktenbox{pargs={Bild="Schwabacher Straße 12 Dez 2020 1.jpg",["Straße"]="Schwabacher Straße",Hausnummer="12",["TeilDesGebäudeKomplexes"]="TDGK",AktenNr="D-5-63-000-1464",Objekt="Häusle"}}
-- =p.Faktenbox{pargs={Bild="Schwabacher Straße 12 Dez 2020 1.jpg",["Straße"]="Schwabacher Straße",Hausnummer="12",["TeilDesGebäudeKomplexes"]="TDGK",AktenNr="D-5-63-000-1464",Objekt="Häusle"}}
local t = ""


-- Basis-Faktenbox-Daten (Klasse/Kategorie/Formular)
-- Basis-Faktenbox-Daten (Klasse/Kategorie/Formular)
Zeile 20: Zeile 21:
fbdata.positionscheck = true
fbdata.positionscheck = true


-- Straße/Hausnummer Formular-Eingaben analysieren, Postleitzahl ermitteln
if com.isTrue(fbdata.pargs["WeiterleitungGebäudeKomplex"]) then
fbdata.strasse_hnr = p.strasseHnrParser(fbdata)
t = p.weiterleitung(fbdata)
fbdata.plz = p.getPlz(fbdata)
else
-- Straße/Hausnummer Formular-Eingaben analysieren, Postleitzahl ermitteln
fbdata.strasse_hnr = p.strasseHnrParser(fbdata)
fbdata.plz = p.getPlz(fbdata)


-- Tabs einsammeln und zusammenfügen
-- Tabs einsammeln und zusammenfügen
local box =  
t = "<div class = factbox><tabs>" ..
"<div class = factbox><tabs>" ..
fab.bildTab(fbdata) ..
fab.bildTab(fbdata) ..
p.kartenTab(fbdata) ..
p.kartenTab(fbdata) ..
p.datenTab(fbdata) ..
p.datenTab(fbdata) ..
p.residenzTab(fbdata, {ueberschrift = "Personen, die hier wohnen bzw. gewohnt haben:", klasse = "Person", kategorie="Personen"}) ..
p.residenzTab(fbdata, {ueberschrift = "Personen, die hier wohnen bzw. gewohnt haben:", klasse = "Person", kategorie="Personen"}) ..
p.residenzTab(fbdata, {ueberschrift = "Unternehmen, die hier ansässig sind/waren:", klasse = "Unternehmen", kategorie="Unternehmen"}) ..
p.residenzTab(fbdata, {ueberschrift = "Unternehmen, die hier ansässig sind/waren:", klasse = "Unternehmen", kategorie="Unternehmen"}) ..
"</tabs></div>"
"</tabs></div>"
end


-- Sonstige gemeinsame Dinge anfügen (Klasse, Formular, Kategorien, Wartung, ...)
-- Sonstige gemeinsame Dinge anfügen (Klasse, Formular, Kategorien, Wartung, ...)
box = box .. fab.common(fbdata)
t = t .. fab.common(fbdata)
-- mw.log("box = " .. box)
-- mw.log("t = " .. t)


-- Pre-Processing und String-Länge checken
-- Pre-Processing und String-Länge checken
box = fbdata.frame:preprocess(box)
t = fbdata.frame:preprocess(t)
box = box .. com.returnStringCheck(box)
t = t .. com.returnStringCheck(t)
-- mw.log("box = " .. box)
-- mw.log("t = " .. t)
return box
return t
end
end


Zeile 49: Zeile 53:
-- Konsolenzeile zum Debuggen:
-- Konsolenzeile zum Debuggen:
-- =p.Weiterleitung{pargs={location="BlaBla,Fürth,Bayern,Deutschland"}}
-- =p.Weiterleitung{pargs={location="BlaBla,Fürth,Bayern,Deutschland"}}
local t = "\n'''Dieses ist eine Gebäude-Weiterleitungs-Seite zum zugehörigen Gebäude-Komplex'''\n"


-- Basis-Faktenbox-Daten (Klasse/Kategorie/Formular)
-- Basis-Faktenbox-Daten (Klasse/Kategorie/Formular)
Zeile 55: Zeile 58:
fbdata.klasse = {"Gebäude"}
fbdata.klasse = {"Gebäude"}
fbdata.kategorie = {"Gebäude"}
fbdata.kategorie = {"Gebäude"}
 
-- Geolokation location ermitteln
local t = p.weiterleitung(fbdata)
local location = fbdata.pargs["location"] or "" -- location vorhanden?
if location == "" then
local lat = fbdata.pargs["lat"] or "" -- lat/lon vorhanden?
local lon = fbdata.pargs["lon"] or ""
if lat ~= "" and lon ~= "" then
location = lat .. "," .. lon
end
end
if location == "" then -- im Zweifelsfall generische location mittels Seitennamen
location = wik.pagename() .. ",Fürth,Bayern,Deutschland"
end
t = t .. "* Geolokation: " .. location .. "\n"
mw.log("location = " .. location)
 
-- Koordinate per #geocode ermitteln
local geocode = fbdata.frame:callParserFunction( "#geocode", location )
mw.log("geocode = " .. geocode)
if geocode == "Geocoding failed" then
t = t .. "Geokoordinate konnte nicht ermittelt werden<br>"
else
t = t .. "* Geokoordinate: [[Geokoordinate::" .. geocode .. "]]{{#set:Geolokation=" .. location .. "}}\n"
 
-- Teil des Gebäude Komplexes ermitteln
local teil_des_gebaeude_komplexes = p.teilDesGebaeudeKomplexes(fbdata)
if #teil_des_gebaeude_komplexes == 0 then
t = t .. "Fehler: Fehlende Angabe zum Gebäude-Komplex!<br>"
else
t = t .. "* Teil des Gebäude-Komplexes: "
for i, k in ipairs(teil_des_gebaeude_komplexes) do
if i > 1 then
t = t .. ", "
end
t = t .. "[[TeilDesGebäudeKomplexes::" .. k .. "]]"
end
t = t .. "\n\nIn wenigen Sekunden erfolgt die Weiterleitung zur Gebäude-Komplex-Seite [[" .. teil_des_gebaeude_komplexes[1] .. "]]{{#widget:Redirect|to=" .. teil_des_gebaeude_komplexes[1] .. "}}\n\n"
 
-- Sonstige gemeinsame Dinge anfügen (Klasse, Formular, Kategorien, Wartung, ...)
t = t .. "{{#set:Seite=" .. fbdata.fullpagename .. "}}"
t = t .. fab.common(fbdata)
end
end


-- Pre-Processing und String-Länge checken
-- Pre-Processing und String-Länge checken
Zeile 104: Zeile 66:
t = t .. com.returnStringCheck(t)
t = t .. com.returnStringCheck(t)
-- mw.log("t = " .. t)
-- mw.log("t = " .. t)
t = fbdata.frame:preprocess(t)
return t
return t
end
end
Zeile 320: Zeile 281:
-- mw.logObject(teil_des_gebaeude_komplexes)
-- mw.logObject(teil_des_gebaeude_komplexes)
return teil_des_gebaeude_komplexes
return teil_des_gebaeude_komplexes
end
function p.weiterleitung(fbdata)
-- mw.log("weiterleitung(fbdata)")
-- mw.logObject(fbdata.pargs)
-- Konsolenzeile zum Debuggen:
-- fab=require("Modul:Faktenbox/Work"); fbdata=fab.fbdata{pargs={location="Badstraße 15,Fürth,Bayern,Deutschland",["TeilDesGebäudeKomplexes"]="Badstraße 13, 15, 18, Pfisterstraße 50, 52"}}; print(p.weiterleitung(fbdata))
local t = "\n'''Dieses ist eine Gebäude-Weiterleitungs-Seite zum zugehörigen Gebäude-Komplex'''\n"
-- Geolokation location ermitteln
local location = fbdata.pargs["location"] or "" -- location vorhanden?
if location == "" then
local lat = fbdata.pargs["lat"] or "" -- lat/lon vorhanden?
local lon = fbdata.pargs["lon"] or ""
if lat ~= "" and lon ~= "" then
location = lat .. "," .. lon
end
end
if location == "" then -- im Zweifelsfall generische location mittels Seitennamen
location = wik.pagename() .. ",Fürth,Bayern,Deutschland"
end
t = t .. "* Geolokation: " .. location .. "\n"
mw.log("location = " .. location)
-- Koordinate per #geocode ermitteln
local geocode = fbdata.frame:callParserFunction( "#geocode", location )
mw.log("geocode = " .. geocode)
if geocode == "Geocoding failed" then
t = t .. "Geokoordinate konnte nicht ermittelt werden<br>"
else
t = t .. "* Geokoordinate: [[Geokoordinate::" .. geocode .. "]]{{#set:Geolokation=" .. location .. "}}\n"
-- Teil des Gebäude Komplexes ermitteln
local teil_des_gebaeude_komplexes = p.teilDesGebaeudeKomplexes(fbdata)
if #teil_des_gebaeude_komplexes == 0 then
t = t .. "Fehler: Fehlende Angabe zum Gebäude-Komplex!<br>"
else
t = t .. "* Teil des Gebäude-Komplexes: "
for i, k in ipairs(teil_des_gebaeude_komplexes) do
if i > 1 then
t = t .. ", "
end
t = t .. "[[TeilDesGebäudeKomplexes::" .. k .. "]]"
end
t = t .. "\n\n{{#widget:Redirect|to=" .. teil_des_gebaeude_komplexes[1] .. "}}\n\n"
-- Sonstige gemeinsame Dinge anfügen (Klasse, Formular, Kategorien, Wartung, ...)
t = t .. "{{#set:Seite=" .. fbdata.fullpagename .. "}}"
t = t .. fab.common(fbdata)
end
end
-- mw.log("t = " .. t)
return t
end
end


return p
return p