25.469
Bearbeitungen
(FormularGalerieDateienAusblenden() fix Ort) |
(Anzeige, wenn ausgeblendet über Ausblende-Seite) |
||
| Zeile 4: | Zeile 4: | ||
local dev = require("Modul:Development") | local dev = require("Modul:Development") | ||
local str = require("Modul:String") | local str = require("Modul:String") | ||
local bil = require("Modul:Bild") | |||
local wik = require("Modul:Wiki") | local wik = require("Modul:Wiki") | ||
local smw = require("Modul:SMW") | local smw = require("Modul:SMW") | ||
| Zeile 126: | Zeile 127: | ||
v = p.attrValList(a[1], pargs) | v = p.attrValList(a[1], pargs) | ||
if v ~= "" then | if v ~= "" then | ||
t = t .. p.zeile("[[Attribut:" .. a[1] .. "|" .. wob.attrText(a[1]) .. "]]", v, | local ausgeblendet = pargs[a[2]] or "Nein" | ||
"ausgeblendet:", | if not com.isTrue(ausgeblendet) then | ||
-- prüfen, ob über Ausblende-Seite ausgeblendet | |||
local lemma = str.splitAndStrip(pargs[a[1]] or "", ";") | |||
local ausgeblendet_via = {} | |||
for _, l in ipairs(lemma) do | |||
local ausblende_pagename = | |||
bil.gba_basepagename .. "/" .. l | |||
if wik.pageExists(ausblende_pagename) then | |||
local query = "[[" ..ausblende_pagename .. "]]" .. | |||
"[[Datei::" .. title .. "]]" | |||
query = mw.smw.ask(query) | |||
if query ~= nil then | |||
table.insert(ausgeblendet_via, ausblende_pagename) | |||
end | |||
end | |||
end | |||
-- Wenn Ausblende-Seite vorhanden, dann hier darauf hinweisen | |||
if #ausgeblendet_via > 0 then | |||
for i = 1, #ausgeblendet_via do | |||
ausgeblendet_via[i] = | |||
"[[" ..ausgeblendet_via[i] .. "|" .. i .. "]]" | |||
end | |||
ausgeblendet_via = table.concat(ausgeblendet_via, ", ") | |||
ausgeblendet = "Ja<sup>" .. ausgeblendet_via .. "</sup>" | |||
end | |||
end | |||
t = t .. p.zeile( | |||
"[[Attribut:" .. a[1] .. "|" .. wob.attrText(a[1]) .. "]]", v, | |||
"ausgeblendet:", ausgeblendet) | |||
mw.smw.set{[a[2]] = pargs[a[2]] or "Nein"} | |||
end | end | ||
end | end | ||
| Zeile 510: | Zeile 540: | ||
-- nicht anzuzeigende Dateien gemäß Formular auswerten und dabei Galerie darstellen | -- nicht anzuzeigende Dateien gemäß Formular auswerten und dabei Galerie darstellen | ||
t = t .. "== Nicht angezeigte Dateien (Formular-Eintrag hier) ==\n" | t = t .. "== Nicht angezeigte Dateien (Formular-Eintrag hier) ==\n" | ||
g, count = "", 0 | g, count, ausgeblendet = "", 0, {} | ||
for d, z in pairs(frame:getParent().args) do | for d, z in pairs(frame:getParent().args) do | ||
if | if dateien[d] ~= nil and com.isTrue(z) then | ||
dateien[d] = nil | dateien[d] = nil | ||
g = g .. d .. "\n" | g = g .. d .. "\n" | ||
count = count + 1 | count = count + 1 | ||
table.insert(ausgeblendet, d) | |||
end | end | ||
end | end | ||
| Zeile 531: | Zeile 562: | ||
["SubObjektTyp"] = "GalerieDatei", | ["SubObjektTyp"] = "GalerieDatei", | ||
["Seite"] = d, | ["Seite"] = d, | ||
["Datei"] = d, | |||
["Erstellungsdatum"] = v["Erstellungsdatum"]} | ["Erstellungsdatum"] = v["Erstellungsdatum"]} | ||
g = g .. d .. "\n" | g = g .. d .. "\n" | ||
| Zeile 540: | Zeile 572: | ||
t = t .. "<gallery mode=\"nolines\">\n" .. g .. "</gallery>\n" | t = t .. "<gallery mode=\"nolines\">\n" .. g .. "</gallery>\n" | ||
end | end | ||
mw.smw.set{["Seite"] = pages.fullpagename} | mw.smw.set{ | ||
["Seite"] = pages.fullpagename, | |||
["Datei"] = ausgeblendet, | |||
["Bemerkung"] = "Dieses ist die Liste der hier auszublendend markierten Dateien. Die Unterobjekte sind die anzuzeigenden Dateien."} | |||
-- Formular setzen | -- Formular setzen | ||
t = t .. frame:callParserFunction("#default_form", formular) | t = t .. frame:callParserFunction("#default_form", formular) | ||