20.601
Bearbeitungen
(fix zeileAktenNr()) |
(fix Telefon) |
||
| Zeile 217: | Zeile 217: | ||
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(args.fbdata.attr.list, attr_name, val, args.val_show_only) | t = t .. p.setPageAttr(args.fbdata.attr.list, attr_name, val, args.val_show_only) | ||
elseif mw.smw.getPropertyType(attr_name) == "_tel" then -- Telefon-Attribute Spezialbehandlung | |||
t = t .. setTelAttr(args.fbdata.attr.list, attr_name, val, args.val_show_only) | |||
else | |||
t = t .. p.setStandardAttr(args.fbdata.attr.list, 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 | ||
| Zeile 240: | Zeile 239: | ||
t = t .. "[[" .. val .. "]]" | t = t .. "[[" .. val .. "]]" | ||
else | else | ||
val_pre_bracket, val_without_bracket, val_post_bracket = str.bracketSplitAndStrip(val) -- nach Klammern suchen und aufteilen | local 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 | ||
| Zeile 253: | Zeile 252: | ||
val = val_without_bracket | val = val_without_bracket | ||
end | end | ||
end | |||
if not val_show_only then | |||
smw.addAttrToList(attrlist, name, val) | |||
end | |||
-- mw.logObject(t, "t") | |||
return t | |||
end | |||
function p.setTelAttr(attrlist, name, val, val_show_only) | |||
local t = "" | |||
local val_pre_bracket, tel, val_post_bracket = str.bracketSplitAndStrip(val) -- nach Klammern suchen und aufteilen | |||
local tel = val_pre_bracket .. " " .. tel -- Klammer am Anfang wieder anfügen | |||
tel = p.getTelUri(tel) | |||
if string.sub(tel, 1, 1) == "+" then | |||
t = t .. "[tel:" .. tel .. " " .. val .. "]" | |||
else | |||
t = t .. val | |||
end | end | ||
if not val_show_only then | if not val_show_only then | ||
| Zeile 282: | Zeile 298: | ||
function p.getTelUri(val) | function p.getTelUri(val) | ||
-- Alles außer Zahlen und + am Anfang ausfiltern | |||
local tel = "" | |||
local pre_plus = false | |||
for i = 1, mw.ustring.len(val) do | |||
local char = mw.ustring.sub(val, i, i) | |||
if (char == "+" and not pre_plus) or tonumber(char) ~= nil then -- + am Anfang erlaubt | |||
tel = tel .. char | |||
tel = | pre_plus = true | ||
end | end | ||
end | end | ||
-- | -- Sonderbehandlungen | ||
if mw.ustring.sub(tel, 1, 2) == "00" then -- 00 ... | |||
tel = "+" .. mw.ustring.sub(tel, 3) | |||
tel = | end | ||
if mw.ustring.sub(tel, 1, 1) == "0" and -- beginnt mit 0zzz (z = Zahl 1-9) | |||
(tonumber(mw.ustring.sub(tel, 2, 2)) or 0) > 0 then -- dann wird +49 angenommen | |||
tel = "+49" .. mw.ustring.sub(tel, 2) | |||
elseif mw.ustring.sub(tel, 1, 4) == "+490" then -- +49(0) ... | |||
tel = "+49" .. mw.ustring.sub(tel, 5) | |||
end | end | ||
return | return tel | ||
end | end | ||
return p | return p | ||