Modul:RecentChangesTemplate: Porovnání verzí
Vzhled
Smazaný obsah Přidaný obsah
ul misto ol |
2x -<p> |
||
Řádek 178: | Řádek 178: | ||
if showZoO then |
if showZoO then |
||
out = out .. " |
out = out .. "— probíhající</th>" |
||
out = out .. "<td class=\"hlist\"><ul>" |
out = out .. "<td class=\"hlist\"><ul>" |
||
for a in pairs (ZoO_Probihajici) do |
for a in pairs (ZoO_Probihajici) do |
||
Řádek 185: | Řádek 185: | ||
out = out .. "</ul><small>Viz též [[:Kategorie:Údržba:Ověřit]]</small></td></tr>" |
out = out .. "</ul><small>Viz též [[:Kategorie:Údržba:Ověřit]]</small></td></tr>" |
||
else |
else |
||
out = " |
out = "— nedávno skončené</th>" |
||
out = out .. "<td class=\"hlist\"><ul>" |
out = out .. "<td class=\"hlist\"><ul>" |
||
for a in pairs (ZoO_Preskrtle) do |
for a in pairs (ZoO_Preskrtle) do |
Verze z 1. 8. 2016, 08:28
Dokumentaci tohoto modulu lze vytvořit na stránce Nápověda:Modul:RecentChangesTemplate
p = {}
local function ZiskejKodStranky (link)
local stranka = link
local title = mw.title.new(stranka)
local content = title:getContent()
local KodStranky = {}
for line in mw.text.gsplit( content, '\n' ) do
table.insert(KodStranky, line)
end
return KodStranky
end
local function zadosti_o_overeni ()
KodStranky = ZiskejKodStranky ("Wikislovník:Žádost o ověření")
local Overovany = {}
local Preskrtle = {}
for line in pairs (KodStranky) do
local headline = mw.ustring.match( KodStranky[line], '^%s*==%s*([^=]+)==%s*$' )
if headline then
local headline = mw.ustring.gsub (headline, "%s*$", "")
if not mw.ustring.match(headline, "Zpochybnění hesla") and not mw.ustring.match(headline,"Ověření hesla") and not mw.ustring.match(headline,"Neúspěšné ověření hesla") then
headline = mw.ustring.gsub(headline, "[[]*","")
headline = mw.ustring.gsub(headline, "[]]*","")
headline = mw.ustring.gsub(headline, ":Kategorie","Kategorie")
local bezskrt = mw.ustring.match (headline, "<s>(.*)</s>")
if not bezskrt then
table.insert (Overovany, headline)
else
table.insert(Preskrtle, bezskrt)
end
end
end
end
return Overovany, Preskrtle
end
local function probihajici_hlasovani ()
KodStranky = ZiskejKodStranky ("Wikislovník:Hlasování")
local line_nadpis = 0
local line_nasledujici_nadpis = 0
for a in pairs (KodStranky) do
if mw.ustring.match (KodStranky[a], "^%s*==%s*Aktuální hlasování%s*==%s*$") then
line_nadpis = a
end
if mw.ustring.match (KodStranky[a], "^%s*==%s*Související stránky%s*==%s*$") then
line_nasledujici_nadpis = a
end
end
local pocet_radku = line_nasledujici_nadpis - line_nadpis - 1
local a = 1
local Hlasovani = {}
while a < pocet_radku do
if not mw.ustring.match (KodStranky[line_nadpis + a], "^%s*$") then
local odkaz = mw.ustring.gsub (KodStranky[line_nadpis + a], "^[*#]%s*", "")
local _,_,stranka = mw.ustring.find(odkaz, "^[[][[]([^]|]*)")
local _,_,textOdkazu = mw.ustring.find(odkaz, "^[[][[][^]|]*[|]*([^]]*)[]][]]$")
if stranka then
local stranka_s_hlasovanim = mw.title.new(stranka)
if stranka_s_hlasovanim.id == 0 then
table.insert(Hlasovani, {stranka, textOdkazu, false})
else
table.insert(Hlasovani, {stranka, textOdkazu, true})
end
end
end
a = a + 1
end
return Hlasovani
end
local function UdajeHlasovani (Hlasovani)
KodStranky = ZiskejKodStranky (Hlasovani)
local sekce_pro = false
local sekce_proti = false
local sekce_zdrzujise = false
local Udaje = {}
Udaje["pro"] = 0
Udaje["proti"] = 0
Udaje["zdrzuji_se"] = 0
for a in pairs (KodStranky) do
if mw.ustring.match (KodStranky[a], "^%s*===%s*Pro%s*===%s*$") then
sekce_pro = true
end
if mw.ustring.match (KodStranky[a], "^%s*===%s*Proti%s*===%s*$") then
sekce_pro = false
sekce_proti = true
end
if mw.ustring.match (KodStranky[a], "^%s*===%s*Zdržují se%s*===%s*$") then
sekce_proti = false
sekce_zdrzujise = true
end
if mw.ustring.match (KodStranky[a], "^%s*==%s*Komentáře%s*==%s*$") then
sekce_zdrzujise = false
end
if sekce_pro and mw.ustring.match (KodStranky[a], "^#[^:]") then
Udaje["pro"] = Udaje["pro"] + 1
end
if sekce_proti and mw.ustring.match (KodStranky[a], "^#[^:]") then
Udaje["proti"] = Udaje["proti"] + 1
end
if sekce_zdrzujise and mw.ustring.match (KodStranky[a], "^#[^:]") then
Udaje["zdrzuji_se"] = Udaje["zdrzuji_se"] + 1
end
temp = mw.ustring.match (KodStranky[a], "^[*]*%s*Hlasování začíná[:]*%s*[']*([0-9]+%s*[.]%s*[0-9]*[.]%s*[0-9]*%s*[0-9]+[:.][0-9]+%s*SELČ)[']*$")
if temp then
Udaje["zacatek"] = temp
end
temp = mw.ustring.match (KodStranky[a], "^[*]*%s*Hlasování končí[:]*%s*[']*([0-9]+%s*[.]%s*[0-9]*[.]%s*[0-9]*%s*[0-9]+[:.][0-9]+%s*SELČ)[']*$")
if temp then
Udaje["konec"] = temp
end
temp = mw.ustring.match (KodStranky[a], "^[*]*%s*Hlasování prodlouženo do[:]*%s*[']*%s*([0-9]+%s*[.]%s*[0-9]*[.]%s*[0-9]*%s*[0-9]+[:.][0-9]+%s*SELČ)[']*$")
if temp then
Udaje["prodlouzeno_do"] = temp
end
end
return Udaje
end
function p.test (frame)
local img_pro = "[[Soubor:Symbol support vote.svg|12px|link=|alt=počet hlasujících pro]]"
local img_proti = "[[Soubor:Symbol oppose vote.svg|12px|link=|alt=počet hlasujících proti]]"
local img_zdrzujise = "[[Soubor:Symbol abstain vote.svg|12px|link=|alt=počet zdržujících se hlasování]]"
local WantedPages, OrphanedPages = require ("Modul:RecentChangesTemplate/AutoPages")
local Wanted = {}
local Orphaned = {}
local stats = mw.site.stats
for i=1,5 do
math.randomseed( os.time())
local rand = math.random ( (i*1000)-999, i*1000)
table.insert(Wanted, WantedPages[rand][1])
-- table.insert(Orphaned, OrphanedPages[rand])
end
local out = ""
local showTable = false
local showZoO = false
local showZoO_old = false
local showVotes = false
local ZoO_Probihajici, ZoO_Preskrtle = zadosti_o_overeni()
if #ZoO_Probihajici > 0 then
showZoO = true
end
if #ZoO_Preskrtle > 0 then
showZoO_old = true
showZoO = true
end
local Hlasovani = probihajici_hlasovani()
if #Hlasovani > 0 then
showVotes = true
end
if showZoO or showZoO_old or showVotes then
showTable = true
end
if showTable then
out = "<div class=\"breaking-news\">"
out = out .. "<table>"
if showZoO or showZoO_old then
out = out .. "<tr><th>[[Wikislovník:Žádost o ověření|žádosti o ověření]]"
if showZoO then
out = out .. "— probíhající</th>"
out = out .. "<td class=\"hlist\"><ul>"
for a in pairs (ZoO_Probihajici) do
out = out .. "<li>[[Wikislovník:Žádost o ověření#" .. ZoO_Probihajici[a] .. "|" .. ZoO_Probihajici[a] .. "]]</li>"
end
out = out .. "</ul><small>Viz též [[:Kategorie:Údržba:Ověřit]]</small></td></tr>"
else
out = "— nedávno skončené</th>"
out = out .. "<td class=\"hlist\"><ul>"
for a in pairs (ZoO_Preskrtle) do
out = out .. "<li>[[Wikislovník:Žádost o ověření#" .. ZoO_Preskrtle[a] .. "|" .. ZoO_Preskrtle[a] .. "]]</li>"
end
out = out .. "</ul></td></tr>"
end
if showZoO and showZoO_old then
out = out .. "<tr><th>— nedávno skončené</th>"
out = out .. "<td class=\"hlist\"><ul>"
for a in pairs (ZoO_Preskrtle) do
out = out .. "<li>[[Wikislovník:Žádost o ověření#" .. ZoO_Preskrtle[a] .. "|" .. ZoO_Preskrtle[a] .. "]]</li>"
end
out = out .. "</ul></td></tr>"
end
end
if showVotes then
out = out .. "<tr><th>probíhající [[Wikislovník:Hlasování|hlasování]]</th><td><ul>"
for a in pairs (Hlasovani) do
out = out .. "<li>[[" .. Hlasovani[a][1] .. "|" .. Hlasovani[a][2] .. "]]"
if Hlasovani[a][3] then
Udaje_o_hlasovani = UdajeHlasovani(Hlasovani[a][1])
if Udaje_o_hlasovani["zacatek"] ~= nil and Udaje_o_hlasovani["zacatek"] ~= "" and Udaje_o_hlasovani["konec"] ~= nil and Udaje_o_hlasovani["konec"] ~= "" then
out = out .. " (od " .. Udaje_o_hlasovani["zacatek"] .. " do " .. Udaje_o_hlasovani["konec"] .. ") "
end
out = out .. img_pro .. " " .. Udaje_o_hlasovani["pro"] .. " " .. img_proti .. " " .. Udaje_o_hlasovani["proti"] .. " " .. img_zdrzujise .. " " .. Udaje_o_hlasovani["zdrzuji_se"]
end
out = out .. "</li>"
end
out = out .. "</ul></td></tr>"
end
out = out .. "<tr><th>přidejte se</th><td class=\"hlist\">5 náhodných chybějících stránek: <ul>"
for i=1,5 do
out = out .. "<li>[[" .. Wanted[i] .. "]]</li>"
end
out = out .. "</ul></td></tr>"
out = out .. "</table></div>"
end
return out
end
return p