15.088
Bearbeitungen
(Änderung 756274 von HeikoBot (Diskussion) rückgängig gemacht.) Markierung: Rückgängigmachung |
(setPageAttr() optimiert) |
||
| Zeile 392: | Zeile 392: | ||
end | end | ||
end | end | ||
if mw.smw.getPropertyType(attr_name) == "_wpg" | if mw.smw.getPropertyType(attr_name) == "_wpg" then -- Seiten-Attribute Spezialbehandlung | ||
t = t .. p.setPageAttr(attr_name, val) | t = t .. p.setPageAttr(attr_name, val) | ||
else | else | ||
| Zeile 509: | Zeile 509: | ||
function p.setPageAttr(name, val) | function p.setPageAttr(name, val) | ||
local t = "" | local t = "" | ||
if wik.pageexists(val) then | if string.find(val, "%[") ~= nil or string.find(val, "<") ~= nil then -- problemtische Wikitext/HTML-Inhalte regulär setzen | ||
t = | t = "[[" .. name .. "::" .. val .. "]]" -- und damit bewusst Verarbeitungsfehler provozieren | ||
elseif wik.pageexists(val) then -- eine vorhandene Seite regulär setzen | |||
t = "[[" .. name .. "::" .. val .. "]]" | |||
else | else | ||
val_pre_bracket, val_without_bracket, val_post_bracket = str.bracketSplitAndStrip(val) | val_pre_bracket, val_without_bracket, val_post_bracket = str.bracketSplitAndStrip(val) -- nach Klammern suchen und aufteilen | ||
if wik.pageexists(val_without_bracket) then | if not wik.pageexists(val_without_bracket) then -- Seite auch ohne Klammern nicht vorhanden? | ||
if val_pre_bracket ~= "" then | t = val .. "{{#set:" .. name .. "=" .. val .. "}}" -- ==> kein Link, sondern nur Attribut versteckt setzen | ||
else | |||
if val_pre_bracket ~= "" then -- Klammer-Text vor eigentlicher Seite | |||
t = t .. val_pre_bracket .. " " | t = t .. val_pre_bracket .. " " | ||
end | end | ||
t = t .. "[[" .. name .. "::" .. val_without_bracket .. "]]" | t = t .. "[[" .. name .. "::" .. val_without_bracket .. "]]" -- das eigentliche Attribut-Setzen | ||
if val_post_bracket ~= "" then | if val_post_bracket ~= "" then -- Klammer-Text nach eigentlicher Seite | ||
t = t .. " " .. val_post_bracket | t = t .. " " .. val_post_bracket | ||
end | end | ||
end | end | ||
end | end | ||