Zum Inhalt springen

Modul:Zähler

Aus Wikibooks

Informationen zu dieser Dokumentation
Modul Zähler

Modulbeschreibung

Modul zum Anzeigen von Benutzerstimmen

Funktionen

erzeuge

Funktion zum Anzeigen von Benutzerstimmen. Die Benuterzstimmen werden in Form einer Strichliste angezigt, außer wenn ihre Anzahl 15 übersteigt. Dann wird eine gewöhnliche Zahlenhezeigt. Angemdeldete Benutzer werden in blau gezählt, unangemeldete in rot. Es gitb eine Hoverbox mit der Anzahl der angemeldeten und unangemeldeten Abstimmer.

Beispiele

Beispiel 1:

{{#invoke:Zähler|erzeuge|17|6|Dafür sind}}

Ergebnis:

17Dafür sind 17 angemeldete und 6 unangemeldete Benutzer.

Beispiel 2:

{{#invoke:Zähler|erzeuge|3|12|Dieses Buch wünschen sich}}

Ergebnis:

Dieses Buch wünschen sich 3 angemeldete und 12 unangemeldete Benutzer.Dieses Buch wünschen sich 3 angemeldete und 12 unangemeldete Benutzer.

Parameter

  • 1 – Anzahl der angemeldeten Abstimmer
  • 2 – Anzahl der unangemeldeten Abstimmer
  • 3 – Text der in der Hoverbox vor „[...] angemeldete und [...] unengemeldete Benutzer“ erscheint.

Information


--- Modul zum Anzeigen von Benutzerstimmen

local p = {}

--- Funktion zum Anzeigen von Benutzerstimmen. Die Benuterzstimmen werden in Form einer Strichliste angezigt, außer wenn ihre Anzahl 15 übersteigt. Dann wird eine gewöhnliche Zahlenhezeigt. Angemdeldete Benutzer werden in blau gezählt, unangemeldete in rot. Es gitb eine Hoverbox mit der Anzahl der angemeldeten und unangemeldeten Abstimmer.
-- @param 1 Anzahl der angemeldeten Abstimmer
-- @param 2 Anzahl der unangemeldeten Abstimmer
-- @param 3 Text der in der Hoverbox vor „[...] angemeldete und [...] unengemeldete Benutzer“ erscheint.
-- @example
-- 	@code {{#invoke:Zähler|erzeuge|17|6|Dafür sind}}
-- @example
-- 	@code {{#invoke:Zähler|erzeuge|3|12|Dieses Buch wünschen sich}}
function p.erzeuge(frame) -- Funktion zum Generieren
	local result = "" -- Zurückgegebener Wert
	local registered = tonumber(frame.args[1]) -- Anzahl registrierter Stimmer
	local unregistered = tonumber(frame.args[2]) -- Anzahl unregistrierter Stimmer
	local registered0 -- Anzahl registrierter Stimmer als mindetens zweistelliger String
	local unregistered0 -- Anzahl unregistrierter Stimmer als mindestens zweistelliger String
	if (registered <= 10) then -- Festlegen von registered0 und unregistered0 {
		registered0 = "0" .. registered
	else
		registered0 = tostring(registered)
	end 
	if (unregistered <= 10) then
		unregistered0 = "0" .. unregistered
	else
		unregistered0 = tostring(unregistered)
	end -- }
	local pre = frame.args[3] -- 1. Teil des Hoverbox-Textes
	local titlep1 -- Teil des Hoverbos-Textes
	local titlep2 -- Teil des Hoverbox-Textes
	if (tonumber(frame.args[1]) == 0) then -- Festlegen von titlep1 und titlep2 {
		titlep1 = "keine angemeldeten"
	end
	if (tonumber(frame.args[1]) == 1) then
		titlep1 = "1 angemeldeter"
	end
	if (tonumber(frame.args[1]) > 1) then
		titlep1 =  registered .. " angemeldete"
	end
	if (tonumber(frame.args[2]) == 0) then
		titlep2 = "keine unangemeldeten"
	end
	if (tonumber(frame.args[2]) == 1) then
		titlep2 = "1 unangemeldeter"
	end
	if (tonumber(frame.args[2]) > 1) then
		titlep2 = unregistered .. " unangemeldete"
	end -- }
	local title = pre .. " " .. titlep1 .. " und " .. titlep2 .. " Benutzer." -- Festlegen des Hoverbox-Textes
	if (registered > 0) then -- Festlegen von blauer Strichliste/Zahl {
		if (registered <= 15) then
			if (unregistered == 0) then
				result = "[[Datei:Tally b" .. registered0 .. ".svg|" .. title .. "]]"
			else
				result = "<span style=\"margin-right:1ch;\">[[Datei:Tally b" .. registered0 .. ".svg|" .. title .. "]]</span>"
			end
		else
			if (unregistered == 0) then
				result = "<span style=\"color:#002bb8;font-weight:bold;\">" .. registered .. "</span>"
			else
				result = "<span style=\"color:#002bb8;font-weight:bold;margin-right:1ch;\" title=\"" .. title .. "\">" .. registered .. "</span>"
			end
		end
	end -- }
	if (unregistered > 0) then -- Festlegen von roter Strichliste/Zahl {
		if (unregistered <= 15) then
			result = result .. "[[Datei:Tally r" .. unregistered0 .. ".svg|" .. title .. "]]"
		else
			result = result .. "<span style=\"color:#ba0000;font-weight:bold;\" title=\"" .. title .. "\">" .. unregistered .. "</span>"
		end
	end -- }
	return result
end

return p