Modul:Datei/Work: Unterschied zwischen den Versionen

1.102 Bytes hinzugefügt ,  Gestern um 17:57
keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(37 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 117: Zeile 117:
-- Ort/Straße mit Ausblendung
-- Ort/Straße mit Ausblendung
for _, a in ipairs{{"Straße", "ZeigeNichtInStraße"}, {"Ort", "ZeigeNichtInOrt"}} do
for _, a in ipairs{"Straße", "Ort"} do
v = pargs[a[1]] or ""
local zeige_nicht_attr = "ZeigeNichtIn" .. a
v = pargs[a] or ""
if v ~= "" then
if v ~= "" then
local zeige_nicht = pargs[a[2]] or "Nein"
local zeige_nicht_val = pargs[zeige_nicht_attr] or "Nein"
local anmerkung = ""
local anmerkung = ""
for _, o in ipairs(str.splitAndStrip(v, ";")) do
if not com.isTrue(zeige_nicht_val) then
if not com.isTrue(zeige_nicht) then
for _, o in ipairs(str.splitAndStrip(v, ";")) do
local query = {
local query = {
"[[Seite::" .. o .. "]]" ..
"[[Seite::" .. o .. "]]" .. -- Lemma
"[[ZeigeNichtIn" .. a[1] .. "::Ja]]" ..
"[[Seite::" .. wik.fullpagename() .. "]]" .. -- Datei
"[[Seite::" .. wik.fullpagename() .. "]]",
"[[" .. zeige_nicht_attr .. "::Ja]]",
mainlabel = "-",
mainlabel = "-", "?#-", limit = 1}
"?#-",
limit = 1}
query = mw.smw.ask(query)
query = mw.smw.ask(query)
if query ~= nil then
if query ~= nil then
anmerkung =
anmerkung =
" <sup>[[" .. query[1][1] .. "|*)]]</sup>"
"{{#if:{{" .. query[1][1] .. "}}|&nbsp;}}" .. -- dummy-include, um SDB-Update zu triggern
zeige_nicht = "Ja"
"<sup>[[" .. query[1][1] .. "|*)]]</sup>"
zeige_nicht_val = "Ja"
break
end
end
else
break
end
end
end
end
t = t .. p.zeile(
t = t .. p.zeile(
"[[Attribut:" .. a[1] .. "|" .. wob.attrText(a[1]) .. "]]",
"[[Attribut:" .. a .. "|" .. wob.attrText(a) .. "]]",
"[[" .. v .. "]]",
"[["  .. a .. "::" .. v .. "]]",
"ausgeblendet:",
"ausgeblendet:",
"[[" .. a[2] .. "::" .. zeige_nicht .. "]]" .. anmerkung)
"[[" .. zeige_nicht_attr .. "::" .. zeige_nicht_val .. "]]" .. anmerkung)
mw.smw.set{[zeige_nicht_attr .. "Formulareintrag"] = (pargs[zeige_nicht_attr] or "Nein")}
end
end
end
end
Zeile 192: Zeile 192:
"</tr>" ..
"</tr>" ..
"{{#set:Lizenz=" .. lizenz .. "}}"
"{{#set:Lizenz=" .. lizenz .. "}}"
end
if com.isEmpty(pargs["Lizenz"]) then
mw.smw.set{["Wartungsmeldung"] = "Datei-Lizenz-Angabe fehlt"}
end
end


Zeile 416: Zeile 419:
function p.FormularZeigeNichtDatei(zeige_nicht_in)
function p.FormularZeigeNichtDatei(zeige_nicht_in)
local t = ""
local t = ""
local spalten = 10
local spalten = 10 -- Datei-Spalten im Formular
local lemma = wik.subpagename()
local lemma = wik.subpagename()
local zeige_nicht_in_attr = "ZeigeNichtIn" .. zeige_nicht_in
local zeige_nicht_in_attr = "ZeigeNichtIn" .. zeige_nicht_in -- ZeigeNichtInOrt/ZeigeNichtInStraße/..
local page_selector =
local page_selector =
"[[Datei:+]]" ..
"[[Datei:+]]" ..
"[[" .. zeige_nicht_in .. "::" .. lemma .. "]]" ..
"[[" .. zeige_nicht_in .. "::" .. lemma .. "]]" .. -- Ort/Straße/.. = Lemma
"[[" .. zeige_nicht_in_attr .. "::Nein]]"
"[[" .. zeige_nicht_in_attr .. "Formulareintrag::!Ja]]" -- Formular-Eintrag von ZeigeNichtIn...
-- Anzahl ermitteln und ausgeben
local query = {page_selector, format = "count"}
local query = {page_selector, format = "count"}
query = mw.smw.ask(query)
query = mw.smw.ask(query)
t = t .. "<br><big><b>" .. query .. " Bilder gefunden</b></big><br>"
t = t .. "<br><big><b>" .. query .. " Bilder gefunden</b></big><br>"
local query = { page_selector, "?#-", "?Erstellungsdatum#-F[Y]",
-- Dateiliste abfragen
local query = {page_selector,
"?#-", "?Erstellungsdatum#-F[Y]",
sort = "Erstellungsdatum", order = "desc",
sort = "Erstellungsdatum", order = "desc",
mainlabel = "-", limit = 10000}
mainlabel = "-", limit = 10000}
query = mw.smw.ask(query)
query = mw.smw.ask(query)
-- Formular-Tabelle aufbauen
t = t ..
t = t ..
"{{{for template|Datei/" .. zeige_nicht_in_attr .. "/Work}}}\n" ..
"{{{for template|Datei/" .. zeige_nicht_in_attr .. "/Work}}}\n" ..
"<table class=\"formtable\">\n"
"<table class=\"formtable\">\n"
local datei, datum, jahr, jahrtext
local datei, jahr, jahrtext
for i, d in ipairs(query) do
for i, d in ipairs(query) do -- d = Dateiname (mit Datei:)
datei = string.gsub(d[1], "Datei:", "")
datei = string.sub(d[1], 7) -- Datei: abschneiden
erstellungsjahr = d["Erstellungsdatum"] or 0
erstellungsjahr = d["Erstellungsdatum"] or 0 -- Erstellungsdatum enthält nur Jahr. Siehe oben Format -F[Y]
-- Jahres-Überschriften erstellen
if erstellungsjahr ~= jahr then
if erstellungsjahr ~= jahr then
jahr = erstellungsjahr
jahr = erstellungsjahr
Zeile 451: Zeile 459:
"</tr>\n"
"</tr>\n"
end
end
-- Datei-Spalten erstellen, jeweils checkbox und kleiner Datei-Ansicht
if (i - 1) % spalten == 0 then
if (i - 1) % spalten == 0 then
t = t .. "<tr>\n"
t = t .. "<tr>\n"
Zeile 470: Zeile 479:
local t = ""
local t = ""
local lemma = wik.subpagename()
local lemma = wik.subpagename()
local zeige_nicht_in = frame.args[1]
local zeige_nicht_in = frame.args[1] -- Straße, Ort oder ...
local zeige_nicht_in_attr = "ZeigeNichtIn" .. zeige_nicht_in
local zeige_nicht_in_attr = "ZeigeNichtIn" .. zeige_nicht_in
t = t ..
t = t ..
Zeile 476: Zeile 485:
"die im Artikel " .. lemma .. " nicht angezeigt werden sollen.'''" ..
"die im Artikel " .. lemma .. " nicht angezeigt werden sollen.'''" ..
"<br><br>" ..
"<br><br>" ..
"'''Es werden nicht angezeigt:'''" ..
"'''Es werden nicht angezeigt:'''\n" ..
"<gallery mode=\"packed-hover\">\n"
"<gallery mode=\"packed-hover\">\n"
local query = {
-- Liste nicht anzuzeigender Dateien erstellen und gleichzeitig Galerie zusammenbauen
"[[Datei:+]][[" .. zeige_nicht_in .. "::" .. lemma .. "]]",
local zeige_nicht_dateien = {} -- Datei-Liste
"?#-", "?" .. zeige_nicht_in_attr,
for d, z in pairs(frame:getParent().args) do -- d = Dateiname (ohne Datei:)
mainlabel = "-", limit = 10000}
if com.isTrue(z) then -- z = Ja/Nein
query = mw.smw.ask(query) or {}
table.insert(zeige_nicht_dateien, "Datei:" .. d)
local zeige_nicht_dateien = {}
t = t .. "Datei:" .. d .. -- Galerie-Eintrag (Datei)
for _, d in ipairs(query) do
"|<small>[[:Datei:" .. d .. "|" .. d .. "]]</small>\n" -- Hoover-Text
zeige_nicht_dateien[d[1]] = com.isTrue(d[zeige_nicht_in_attr])
end
for d, z in pairs(frame:getParent().args) do
if com.isTrue(z) then
t = t .. d .. "|<small>[[:Datei:" .. d .. "|" .. d .. "]]</small>\n"
zeige_nicht_dateien["Datei:" .. d] = true
end
end
end
end
t = t .. "</gallery>\n"
t = t .. "</gallery>\n"
t = t .. "{{#default_form:Datei/" .. zeige_nicht_in_attr .. "/Work}}"
-- Formular setzen
mw.smw.set{[zeige_nicht_in] = lemma, [zeige_nicht_in_attr] = "Ja"}
t = t .. frame:callParserFunction(
for d, z in pairs(zeige_nicht_dateien) do
"#default_form", "Datei/" .. zeige_nicht_in_attr .. "/Work")
if not z then
-- Attribute setzen, dass diese Dateien nicht angezeigt werden
mw.smw.subobject{["Seite"] = d}
table.insert(zeige_nicht_dateien, lemma) -- Lemma muss auch in Attribut:Seite
end
mw.smw.set{
end
[zeige_nicht_in_attr] = "Ja",
t = frame:preprocess(t)
[zeige_nicht_in] = lemma, -- Straße/Ort = Lemma
return t
["Seite"] = zeige_nicht_dateien} -- Seite = Liste der nicht anzuzeigenden Dateien
-- Wikitext Preprocess
return frame:preprocess(t)
end
end


return p
return p