Modul:Datei: Unterschied zwischen den Versionen

Anzeige, wenn ausgeblendet über Ausblende-Seite
(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:", "[[" .. a[2] .. "::" .. (pargs[a[2]] or "Nein") .. "]]")
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 com.isTrue(z) and dateien[d] ~= nil then
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)