Modul:Faktenbox/Zeilen: Unterschied zwischen den Versionen

Aus FürthWiki

Umstellung fbdata.attr und subobject
(Änderung 772590 von HeikoBot (Diskussion) rückgängig gemacht.)
Markierung: Rückgängigmachung
(Umstellung fbdata.attr und subobject)
Zeile 23: Zeile 23:
t = t .. "<dt>[[:Kategorie:" .. fbdata.kategorie[kindex or 1] .. "|" .. kategorie_einzahl .. "]]</dt>"
t = t .. "<dt>[[:Kategorie:" .. fbdata.kategorie[kindex or 1] .. "|" .. kategorie_einzahl .. "]]</dt>"
if wik.pageExists("Kategorie:" .. fbdata.pagename) then
if wik.pageExists("Kategorie:" .. fbdata.pagename) then
t = t .. "<dd>[[:Kategorie:" .. fbdata.pagename .. "|" .. fbdata.pagename .. "]]{{#set:Seite=" .. fbdata.pagename .. "}}</dd>"
t = t .. "<dd>[[:Kategorie:" .. fbdata.pagename .. "|" .. fbdata.pagename .. "]]</dd>"
else
else
t = t .. "<dd>[[Seite::" .. fbdata.pagename .. "]]</dd>"
t = t .. "<dd>'''" .. fbdata.pagename .. "'''</dd>"
end
end
smw.addAttrToList(fbdata.attr.list, "Seite", fbdata.pagename)
-- mw.logObject(t, "t")
-- mw.logObject(t, "t")
return t
return t
Zeile 51: Zeile 52:
end
end
end
end
t = t .. "</dt><dd>[[Straße" .. is .. "::" .. sh.name .. "]]"
t = t .. "</dt><dd>[[" .. sh.name .. "]]"
smw.addAttrToList(fbdata.attr.list, "Straße" .. is, sh.name)
for ih, h in ipairs(sh.hausnummer) do -- Hausnummern durchiterieren
for ih, h in ipairs(sh.hausnummer) do -- Hausnummern durchiterieren
local strasse_hnr_ = sh.name .. " " .. h
local strasse_hnr_ = sh.name .. " " .. h
Zeile 62: Zeile 64:
t = t .. " " .. h
t = t .. " " .. h
end
end
t = t .. "{{#set:Hausnummer" .. is .. "=" .. h .. "|StraßeHnr=" .. strasse_hnr_ .. "}}"
smw.addAttrToList(fbdata.attr.list, "Hausnummer" .. is, h)
smw.addAttrToList(fbdata.attr.list, "StraßeHnr", strasse_hnr_)
end
end
t = t .. "</dd>"
t = t .. "</dd>"
end
end
t = t .. "{{#set:AnzahlGebäude=" .. fbdata.strasse_hnr.anzahlGebaeude .. "}}"
smw.addAttrToList(fbdata.attr.list, "AnzahlGebäude", fbdata.strasse_hnr.anzahlGebaeude)
-- mw.logObject(t, "t")
-- mw.logObject(t, "t")
return t
return t
Zeile 77: Zeile 80:
-- =p.zeileAktenNr_{pargs={AktenNr="D-5-63-000-1464"}}
-- =p.zeileAktenNr_{pargs={AktenNr="D-5-63-000-1464"}}
local t = ""
local t = ""
local aktennr = str.splitAndStrip(fbdata.pargs["AktenNr"] or "", ";")
local aktennr = str.splitAndStrip(fbdata.pargs["AktenNr"], ";")
if #aktennr > 0 then
if #aktennr > 0 then
t = t .. "<dt>" .. "Akten-Nr.</dt><dd>"
t = t .. "<dt>" .. "Akten-Nr.</dt><dd>"
Zeile 86: Zeile 89:
local p = smw.getPages("[[:+]][[AktenNr::" .. a .. "]]", true)
local p = smw.getPages("[[:+]][[AktenNr::" .. a .. "]]", true)
if #p > 1 then
if #p > 1 then
t = t .. "{{#queryformlink:form=Abfrage Denkmalschutz|link text=[[AktenNr::" .. a .. "]]|query string=Abfrage Denkmalschutz[AktenNr]=" .. a .. "&_run}}"
t = t .. "{{#queryformlink:form=Abfrage Denkmalschutz|link text=" .. a .. "|query string=Abfrage Denkmalschutz[AktenNr]=" .. a .. "&_run}}"
else
t = t .. "[[AktenNr::" .. a .. "]]"
end
end
smw.addAttrToList(fbdata.attr.list, "AktenNr", a)
t = t .. " (" .. #p .. ")" -- Anzahl der Artikel mit dieser Akten-Nr. in Klammern
t = t .. " (" .. #p .. ")" -- Anzahl der Artikel mit dieser Akten-Nr. in Klammern
end
end
Zeile 141: Zeile 143:
-- =p.zeileDatum_{attr_date="Weihedatum",date="1959/11/15",attr_day="Weihetag",attr_year="Weihejahr"}
-- =p.zeileDatum_{attr_date="Weihedatum",date="1959/11/15",attr_day="Weihetag",attr_year="Weihejahr"}
local t = ""
local t = ""
local date = str.strip(args.date or "")
if args.date ~= nil then
if date ~= "" then
t = t .. "<dt>" .. (args.attr_text or args.attr_date) .. "</dt><dd>"
t = t .. "<dt>" .. (args.attr_text or args.attr_date) .. "</dt><dd>"
if com.isTrue(args.val_show_only) then
if com.isTrue(args.val_show_only) then
t = t .. lfd.linkFormDate(date)
t = t .. lfd.linkFormDate(args.date)
else
else
t = t .. lfd.linkFormDate(date, args.attr_date, args.attr_day, args.attr_year)
t = t .. lfd.linkFormDate(args.date, args.attr_date, args.attr_day, args.attr_year)
end
end
t = t .. "</dd>"
t = t .. "</dd>"
Zeile 213: Zeile 214:
end
end
if mw.smw.getPropertyType(attr_name) == "_wpg" then -- Seiten-Attribute Spezialbehandlung
if mw.smw.getPropertyType(attr_name) == "_wpg" then -- Seiten-Attribute Spezialbehandlung
t = t .. p.setPageAttr(attr_name, val, args.val_show_only)
t = t .. p.setPageAttr(args.fbdata.attr.list, attr_name, val, args.val_show_only)
else -- alle anderen Attribut-Datentypen
else -- alle anderen Attribut-Datentypen
if mw.smw.getPropertyType(attr_name) == "_tel" then -- Telefonnummer Spezialbehandlung
if mw.smw.getPropertyType(attr_name) == "_tel" then -- Telefonnummer Spezialbehandlung
val =  p.getTelUri(val)
val =  p.getTelUri(val)
end
end
t = t .. p.setStandardAttr(attr_name, val, args.exclude_bracket_values, args.val_show_only)
t = t .. p.setStandardAttr(args.fbdata.attr.list, attr_name, val, args.exclude_bracket_values, args.val_show_only)
end
end
end
end
Zeile 230: Zeile 231:
end
end


function p.setPageAttr(name, val, val_show_only)
function p.setPageAttr(attrlist, name, val, val_show_only)
local t = ""
local t = ""
if string.find(val, "[#=<>%[%]%|%{%}]") ~= nil then -- problematische Wikitext/HTML-Inhalte vorhanden?
if string.find(val, "[#=<>%[%]%|%{%}]") ~= nil then -- problematische Wikitext/HTML-Inhalte vorhanden?
t = t .. val -- ==> kein Link, sondern nur Attribut versteckt setzen
t = t .. val -- ==> kein Link, sondern nur Attribut versteckt setzen
if not val_show_only then
t = t .. "{{#set:" .. name .. "=" .. val .. "}}"
end
elseif wik.pageExists(val) then -- eine vorhandene Seite regulär verlinken bzw. setzen
elseif wik.pageExists(val) then -- eine vorhandene Seite regulär verlinken bzw. setzen
if val_show_only then
t = t .. "[[" .. val .. "]]"
t = t .. "[[" .. val .. "]]"
else
t = t .. "[[" .. name .. "::" .. val .. "]]"
end
else
else
val_pre_bracket, val_without_bracket, val_post_bracket = str.bracketSplitAndStrip(val) -- nach Klammern suchen und aufteilen
val_pre_bracket, val_without_bracket, val_post_bracket = str.bracketSplitAndStrip(val) -- nach Klammern suchen und aufteilen
if not wik.pageExists(val_without_bracket) then -- Seite auch ohne Klammern nicht vorhanden?
if not wik.pageExists(val_without_bracket) then -- Seite auch ohne Klammern nicht vorhanden?
t = t .. val -- ==> kein Link, sondern nur Attribut versteckt setzen
t = t .. val -- ==> kein Link, sondern nur Attribut versteckt setzen
if not val_show_only then
t = t .. "{{#set:" .. name .. "=" .. val .. "}}"
end
else
else
if val_pre_bracket ~= "" then -- Klammer-Text vor eigentlicher Seite
if val_pre_bracket ~= "" then -- Klammer-Text vor eigentlicher Seite
t = t .. val_pre_bracket .. " "
t = t .. val_pre_bracket .. " "
end
end
if val_show_only then
t = t .. "[[" .. val_without_bracket .. "]]" -- das eigentliche Attribut verlinken
t = t .. "[[" .. val_without_bracket .. "]]" -- das eigentliche Attribut verlinken
else
t = t .. "[[" .. name .. "::" .. val_without_bracket .. "]]" -- das eigentliche Attribut-Setzen
end
if val_post_bracket ~= "" then -- Klammer-Text nach eigentlicher Seite
if val_post_bracket ~= "" then -- Klammer-Text nach eigentlicher Seite
t = t .. " " .. val_post_bracket
t = t .. " " .. val_post_bracket
end
end
val = val_without_bracket
end
end
end
if not val_show_only then
smw.addAttrToList(attrlist, name, val)
end
end
-- mw.logObject(t, "t")
-- mw.logObject(t, "t")
Zeile 268: Zeile 259:
end
end


function p.setStandardAttr(name, val, exclude_bracket_values, val_show_only)
function p.setStandardAttr(attrlist, name, val, exclude_bracket_values, val_show_only)
local t = ""
local t = ""
local val_pre_bracket, val_post_bracket = "", ""
local val_pre_bracket, val_post_bracket = "", ""
Zeile 277: Zeile 268:
t = t .. val_pre_bracket .. " "
t = t .. val_pre_bracket .. " "
end
end
if com.isTrue(val_show_only) then
t = t .. val
t = t .. val
else
t = t .. "[[" .. name .. "::" .. val .. "]]"
end
if val_post_bracket ~= "" then
if val_post_bracket ~= "" then
t = t .. " " .. val_post_bracket
t = t .. " " .. val_post_bracket
end
if not val_show_only then
smw.addAttrToList(attrlist, name, val)
end
end
-- mw.logObject(t, "t")
-- mw.logObject(t, "t")