22.321
Bearbeitungen
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 | for _, a in ipairs{"Straße", "Ort"} do | ||
v = pargs[a | local zeige_nicht_attr = "ZeigeNichtIn" .. a | ||
v = pargs[a] or "" | |||
if v ~= "" then | if v ~= "" then | ||
local | 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 | ||
for _, o in ipairs(str.splitAndStrip(v, ";")) do | |||
local query = { | local query = { | ||
"[[Seite::" .. o .. "]]" .. | "[[Seite::" .. o .. "]]" .. -- Lemma | ||
"[[ | "[[Seite::" .. wik.fullpagename() .. "]]" .. -- Datei | ||
"[[ | "[[" .. zeige_nicht_attr .. "::Ja]]", | ||
mainlabel = "-", | mainlabel = "-", "?#-", 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] .. "}}| }}" .. -- dummy-include, um SDB-Update zu triggern | ||
"<sup>[[" .. query[1][1] .. "|*)]]</sup>" | |||
zeige_nicht_val = "Ja" | |||
break | |||
end | end | ||
end | end | ||
end | end | ||
t = t .. p.zeile( | t = t .. p.zeile( | ||
"[[Attribut:" .. a | "[[Attribut:" .. a .. "|" .. wob.attrText(a) .. "]]", | ||
"[[" .. v .. "]]", | "[[" .. a .. "::" .. v .. "]]", | ||
"ausgeblendet:", | "ausgeblendet:", | ||
"[[" .. | "[[" .. 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 .. ":: | "[[" .. 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 | local datei, jahr, jahrtext | ||
for i, d in ipairs(query) do | for i, d in ipairs(query) do -- d = Dateiname (mit Datei:) | ||
datei = string. | 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" | ||
-- Liste nicht anzuzeigender Dateien erstellen und gleichzeitig Galerie zusammenbauen | |||
local zeige_nicht_dateien = {} -- Datei-Liste | |||
for d, z in pairs(frame:getParent().args) do -- d = Dateiname (ohne Datei:) | |||
if com.isTrue(z) then -- z = Ja/Nein | |||
table.insert(zeige_nicht_dateien, "Datei:" .. d) | |||
local zeige_nicht_dateien = {} | t = t .. "Datei:" .. d .. -- Galerie-Eintrag (Datei) | ||
"|<small>[[:Datei:" .. d .. "|" .. d .. "]]</small>\n" -- Hoover-Text | |||
for d, z in pairs(frame:getParent().args) do | |||
if com.isTrue(z) then | |||
t = t .. d .. "|<small>[[:Datei:" .. d .. "|" .. d .. "]]</small>\n" | |||
end | end | ||
end | end | ||
t = t .. "</gallery>\n" | t = t .. "</gallery>\n" | ||
t = t .. " | -- Formular setzen | ||
mw.smw.set{ | t = t .. frame:callParserFunction( | ||
"#default_form", "Datei/" .. zeige_nicht_in_attr .. "/Work") | |||
-- Attribute setzen, dass diese Dateien nicht angezeigt werden | |||
table.insert(zeige_nicht_dateien, lemma) -- Lemma muss auch in Attribut:Seite | |||
mw.smw.set{ | |||
[zeige_nicht_in_attr] = "Ja", | |||
[zeige_nicht_in] = lemma, -- Straße/Ort = Lemma | |||
["Seite"] = zeige_nicht_dateien} -- Seite = Liste der nicht anzuzeigenden Dateien | |||
-- Wikitext Preprocess | |||
return frame:preprocess(t) | |||
end | end | ||
return p | return p | ||