Modul:Bild/Work: Unterschied zwischen den Versionen

keine Bearbeitungszusammenfassung
(Die Seite wurde neu angelegt: „local p = {} local com = require("Modul:Common") local dev = require("Modul:Development") local str = require("Modul:String") local wik = require("Modul:Wiki") local smw = require("Modul:SMW") local kal = require("Modul:Kalender") local n_bilder_limit = 200 local abfrage = "Abfrage Bilder" -- Formular/Vorlage-Seitenname ggf. mit "/Work" function p.Galerie(frame) -- mw.log("Galerie(frame)") -- mw.logObject(frame, "frame") -- Kommando-Zeile z…“)
 
Keine Bearbeitungszusammenfassung
Zeile 15: Zeile 15:
-- mw.logObject(frame, "frame")
-- mw.logObject(frame, "frame")
-- Kommando-Zeile zum Debuggen:
-- Kommando-Zeile zum Debuggen:
-- frame=mw.getCurrentFrame(); frame.args={["attr"]="Person;Straße",["val"]="Karl Rothammel;Erlanger Straße",["attr_zeige_nicht"]="ZN",["sort"]="Seite",["order"]="asc"}; print(p.Galerie(frame))
-- 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))
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"})
local args = wik.getArgs(frame.args, {"attr", "val", "attr_zeige_nicht", "sort", "order", "fullpagename"})
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"
-- Seiten-Selektor
local selector = ""
local pagename = wik.pagename()
args.attr = str.splitAndStrip(args.attr, ";")
args.attr = str.splitAndStrip(args.attr, ";")
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 "", ";")
for i, a in ipairs(args.attr) do
local fullpagename = args.fullpagename or wik.fullpagename() -- args.fullpagename zum Debuggen
args.val[i] = args.val[i] or pagename
 
if selector ~= "" then
-- Prüfen, ob eine "Straßen-Galerie-Bilder ausblenden"-Seite vorhanden
selector = selector .. " OR "
local query = ""
for _, a in ipairs(args.attr_zeige_nicht) do
if query ~= "" then
query = query .. " OR "
end
end
selector = selector ..  
query = query .. "[[Seite::" .. fullpagename .. "]][[" .. a .. "::Ja]]"
"[[Datei:+]][[Kategorie:Bilder]]" ..
end
"[[" .. a .. "::" .. args.val[i] .. "]]"
query = {query, mainlabel = "-", "?#-"}
if args.attr_zeige_nicht[i] ~= nil then
query = mw.smw.ask(query) or {{}}
selector = selector .. "[[" .. args.attr_zeige_nicht[i] .. "::!Ja]]"
mw.logObject(query, "query")
zeige_nicht_fullpagename = query[1][1]
mw.logObject(zeige_nicht_fullpagename, "zeige_nicht_fullpagename")
 
-- Seiten-Selektor
local selector = ""
if zeige_nicht_fullpagename ~= nil then
selector = "[[-has subobject::" .. zeige_nicht_fullpagename .. "]]"
else
for i, a in ipairs(args.attr) do
args.val[i] = args.val[i] or fullpagename
if selector ~= "" then
selector = selector .. " OR "
end
selector = selector ..
"[[Datei:+]][[Kategorie:Bilder]]" ..
"[[" .. a .. "::" .. args.val[i] .. "]]"
if args.attr_zeige_nicht[i] ~= nil then
selector = selector .. "[[" .. args.attr_zeige_nicht[i] .. "::!Ja]]"
end
end
end
end
end