23.099
Bearbeitungen
(fix addAttrToList) |
(uniFilter() optimiert) |
||
| (3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 70: | Zeile 70: | ||
-- mw.log("uniFilter(" .. suchtext .. ")") | -- mw.log("uniFilter(" .. suchtext .. ")") | ||
local filter = "" | local filter = "" | ||
if not com.isEmpty(suchtext) and type(suchtext) ~= "table" then | |||
suchtext = tostring(suchtext) -- Suchtext bereinigen | |||
suchtext = string.gsub(suchtext, "%[", "") -- Link-Klammern rauslöschen | |||
suchtext = string.gsub(suchtext, "%[", "") | |||
suchtext = string.gsub(suchtext, "%]", "") | suchtext = string.gsub(suchtext, "%]", "") | ||
suchtext = string.gsub(suchtext, "|", " ") | |||
suchtext = str.strip(suchtext) | |||
if suchtext == "*" or suchtext == "" then -- Filter irgendein Wert | |||
filter = "+" | |||
else | |||
if # | filter = uniFilterAddGrossKlein(suchtext) -- Suchtext in Gänze | ||
for _, | local suchtext = str.splitAndStrip(suchtext, ";") -- Suchbegriffsliste hinzufügen | ||
if #suchtext > 1 then | |||
for _, st in ipairs(suchtext) do | |||
filter = filter .. "||" .. uniFilterAddGrossKlein(st) | |||
end | end | ||
end | end | ||
end | |||
end | end | ||
-- mw.log(filter) | -- mw.log(filter) | ||
| Zeile 95: | Zeile 92: | ||
end | end | ||
function | function uniFilterAddGrossKlein(suchtext) | ||
local | local filter = "" | ||
suchtext = -- zuerst klein geschrieben | |||
string.lower(string.sub(suchtext, 1, 1)) .. string.sub(suchtext, 2) | |||
filter = filter .. | |||
"~*" .. suchtext .. "*" .. "||" .. suchtext | |||
local suchtext_gross = -- dann groß geschrieben | |||
string.upper(string.sub(suchtext, 1, 1)) .. string.sub(suchtext, 2) | |||
local | if suchtext_gross ~= suchtext then | ||
filter = filter .. | |||
"||~*" .. suchtext_gross .. "*" .. "||" .. suchtext_gross | |||
end | end | ||
return filter | |||
return | |||
end | end | ||
| Zeile 129: | Zeile 120: | ||
end | end | ||
function addAttrToList(attrlist, attr, val) | function p.addAttrToList(attrlist, attr, val) | ||
-- Kommandozeile zum Debuggen: | |||
-- attrlist={["t"]={"1","2"}}; p.addAttrToList(attrlist, "t", {"3", "4"}); mw.logObject(attrlist) | |||
if val ~= nil then | if val ~= nil then | ||
if type(val) ~= "table" then | |||
val = {val} | |||
end | |||
if attrlist[attr] == nil then | if attrlist[attr] == nil then | ||
attrlist[attr] = | attrlist[attr] = val | ||
else | else | ||
table.insert(attrlist[attr], | for _, v in ipairs(val) do | ||
table.insert(attrlist[attr], v) | |||
end | |||
end | end | ||
end | end | ||