Modul:Bild/Work: Unterschied zwischen den Versionen

keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 10: Zeile 10:
local n_bilder_limit = 200
local n_bilder_limit = 200
local abfrage = "Abfrage Bilder" -- Formular/Vorlage-Seitenname ggf. mit "/Work"
local abfrage = "Abfrage Bilder" -- Formular/Vorlage-Seitenname ggf. mit "/Work"
local galerie_bilder_ausblendung_basepagemame =
"FürthWiki:Galerie-Bilder-Ausblendung"


function p.Galerie(frame)
function p.Galerie(frame)
Zeile 15: Zeile 17:
mw.logObject(frame.args, "frame.args")
mw.logObject(frame.args, "frame.args")
-- Kommando-Zeile zum Debuggen:
-- Kommando-Zeile zum Debuggen:
-- frame=mw.getCurrentFrame(); frame.args={["fullpagename"]="Wolfringstraße";["attr"]="Person;Straße",["val"]="Karl Rothammel;Erlanger Straße",["attr_zeige_nicht"]="ZeigeNichtInStraße;ZeigeNichtInOrt",["sort"]="Seite",["order"]="asc"}; print(p.Galerie(frame))
-- frame=mw.getCurrentFrame(); frame.args={["pagename"]="Wolfringstraße";["attr"]="Person;Straße",["val"]="Karl Rothammel;Erlanger Straße",["attr_zeige_nicht"]="ZeigeNichtInStraße;ZeigeNichtInOrt",["sort"]="Seite",["order"]="asc"}; print(p.Galerie(frame))
local t = ""
local t = ""
-- Argumente holen und ggf. default setzen
-- Argumente holen und ggf. default setzen
local args = wik.getArgs(frame.args, {"attr", "val", "attr_zeige_nicht", "sort", "order", "fullpagename"})
local args = wik.getArgs(frame.args, {"attr", "val", "attr_zeige_nicht", "sort", "order", "pagename"})
args.sort = args.sort or "Erstellungsdatum, Seite"
args.sort = args.sort or "Erstellungsdatum, Seite"
args.order = args.order or "desc, asc"
args.order = args.order or "desc, asc"
Zeile 25: Zeile 27:
args.val = str.splitAndStrip(args.val or "", ";")
args.val = str.splitAndStrip(args.val or "", ";")
args.attr_zeige_nicht = str.splitAndStrip(args.attr_zeige_nicht or "", ";")
args.attr_zeige_nicht = str.splitAndStrip(args.attr_zeige_nicht or "", ";")
local fullpagename = args.fullpagename or wik.fullpagename() -- args.fullpagename zum Debuggen
local pagename = args.pagename or wik.pagename() -- args.pagename zum Debuggen


-- "{{...-Galerie-Bilder ausblenden}}!"-Seiten einsammeln
-- "{{...-Galerie-Bilder ausblenden}}!"-Seiten einsammeln
local query = ""
local galerie_bilder_ausblendung_pagemame =
local zeige_nicht_fullpagename = {}
galerie_bilder_ausblendung_basepagemame .. "/" .. pagename
for _, a in ipairs(args.attr_zeige_nicht) do
if not wik.pageExists(galerie_bilder_ausblendung_pagemame) then
query = "[[Seite::" .. fullpagename .. "]][[" .. a .. "::Ja]]"
galerie_bilder_ausblendung_pagemame = nil
query = {query, mainlabel = "-", "?#-"}
query = mw.smw.ask(query) or {{}}
mw.logObject(query, "query")
zeige_nicht_fullpagename[a] = query[1][1]
end
end
mw.logObject(zeige_nicht_fullpagename, "zeige_nicht_fullpagename")
mw.logObject(galerie_bilder_ausblendung_pagemame,
"galerie_bilder_ausblendung_pagemame")


-- Bilder-Seiten-Selektor zusammenbauen
-- Bilder-Seiten-Selektor zusammenbauen
local selector = ""
local selector = ""
for i, a in ipairs(args.attr_zeige_nicht) do
if galerie_bilder_ausblendung_pagemame ~= nil then
args.val[i] = args.val[i] or fullpagename
selector = selector .. "[[-has subobject::" ..
if selector ~= "" then
galerie_bilder_ausblendung_pagemame .. "]]"
selector = selector .. " OR "
else
end
for i, a in ipairs(args.attr_zeige_nicht) do
if zeige_nicht_fullpagename[a] ~= nil then
args.val[i] = args.val[i] or pagename
selector = selector ..
if selector ~= "" then
"[[-has subobject::" .. zeige_nicht_fullpagename[a] .. "]]"
selector = selector .. " OR "
else
end
selector = selector ..  
selector = selector ..  
"[[Datei:+]][[Kategorie:Bilder]]" ..
"[[Datei:+]][[Kategorie:Bilder]]" ..