Modul:Rasprava o brisanju

Izvor: Wikipedija


local p = {}
	
	local MIN = -3
	local MAX = 3
	local separator = " · "
	
function mapNumberToText(mjesecNumber)
	local mjesec = "00"
		
		if mjesecNumber == 1 then mjesec = "siječanj"
		elseif mjesecNumber == 2 then mjesec = "veljača"
		elseif mjesecNumber == 3 then mjesec = "ožujak"
		elseif mjesecNumber == 4 then mjesec = "travanj"
		elseif mjesecNumber == 5 then mjesec = "svibanj"
		elseif mjesecNumber == 6 then mjesec = "lipanj"
		elseif mjesecNumber == 7 then mjesec = "srpanj"
		elseif mjesecNumber == 8 then mjesec = "kolovoz"
		elseif mjesecNumber == 09 then mjesec = "rujan"
		elseif mjesecNumber == 10 then mjesec = "listopad"
		elseif mjesecNumber == 11 then mjesec = "studeni"
		elseif mjesecNumber == 12 then mjesec = "prosinac"
		end
	return mw.language.getContentLanguage():ucfirst(mjesec)
end

function mapTextToNumber(mjesecText)
	local mjesec = "00"
		
		if mjesecText == "siječanj" then mjesec = "01"
		elseif mjesecText == "veljača" then mjesec = "02"
		elseif mjesecText == "ožujak" then mjesec = "03"
		elseif mjesecText == "travanj" then mjesec = "04"
		elseif mjesecText == "svibanj" then mjesec = "05"
		elseif mjesecText == "lipanj" then mjesec = "06"
		elseif mjesecText == "srpanj" then mjesec = "07"
		elseif mjesecText == "kolovoz" then mjesec = "08"
		elseif mjesecText == "rujan" then mjesec = "09"
		elseif mjesecText == "listopad" then mjesec = "10"
		elseif mjesecText == "studeni" then mjesec = "11"
		elseif mjesecText == "prosinac" then mjesec = "12"
		end
	return mjesec
end

function obradiMjesec(mjesec, godina, i, frame)
	local vrijeme = os.date( "*t", os.time({year=godina, month=mjesec+(i), day="15"}) )
	local tekst = mapNumberToText(vrijeme.month) .. " " .. vrijeme.year .. "."
	
	local link = ''
	if mw.title.new("Rasprava o brisanju/Rasprave/" .. tekst, 'Wikipedija').exists then
		link = "[[Wikipedija:Rasprava o brisanju/Rasprave/" .. tekst .. "|" .. tekst .. "]]"
		else
			link = mw.getCurrentFrame():preprocess('<span class="plainlinks rasprava-o-brisanju-novo">['
		.. '{{fullurl:Wikipedija:Rasprava o brisanju/Rasprave/{{urlencode:' .. tekst..'|WIKI}}'
		.. '|action=edit'
		.. '&preload=Wikipedija:Rasprava_o_brisanju/Rasprave/bazna'
		.. '&summary={{urlencode:Otvaranje rasprave u novom mjesecu}}}}<span style="color:#ba0000;">'.. tekst .. '</span>]</span>')

	end
		
	
	
	
	-- zadnji mjesec nema povlaku
	if i == MAX then return link
		else return link .. separator
	end
end

function ispisiZaglavlje(mjesecNominativ, godina, frame)
	local mjesec = mapTextToNumber(mjesecNominativ)
	ret = ''
	for i=MIN,MAX,1 do
		ret = ret .. obradiMjesec(mjesec, godina, i)
		
	end
	return ret
end


function p.zaglavlje(frame)
	local naslov = mw.ustring.lower(mw.title.getCurrentTitle().subpageText)
	local mjesecNominativ, godina = naslov:match("([A-ž]*) (%d%d%d%d)%.")
	if mjesecNominativ == nil then 
		return ''
	else 
		return ispisiZaglavlje(mjesecNominativ, godina)
	end
end

----- Traženje sekcije gdje je brisanje osporeno -----
function p.postojiRasprava()
	local frame = mw.getCurrentFrame():getParent()
	local datumBrisanja = frame.args['datum']
	if datumBrisanja == nil then
		return ''
	end
	
	local stranicaKojuTrazimo = ''
	if mw.title.getCurrentTitle().nsText == '' then
		stranicaKojuTrazimo = mw.title.getCurrentTitle().text
	else
			stranicaKojuTrazimo = mw.title.getCurrentTitle().nsText .. ":" .. mw.title.getCurrentTitle().text
	end

	mw.log("stranica", stranicaKojuTrazimo)
	local sadrzaj = mw.title.new('Rasprava o brisanju/Rasprave/'.. datumBrisanja, 'Wikipedija' )
	if sadrzaj.exists then
		-- mw.log(mw.text.decode(sadrzaj:getContent(), true))
		stranicaKojuTrazimo = stranicaKojuTrazimo:gsub("([()-])", "%%%1")	-- escaping parens, hyphens for regex below
		if mw.text.decode(sadrzaj:getContent(), true):match("==% *%[%["..stranicaKojuTrazimo) == nil then
			return false
			else return true
		end
	end
	
	return ''
end

function p.sortirajKategoriju()
	local naslov = mw.ustring.lower(mw.title.getCurrentTitle().subpageText)
	local mjesecNominativ, godina = naslov:match("([A-ž]*) (%d%d%d%d)%.")
	local  mjesec = mapTextToNumber(mjesecNominativ) or "00"
	if mjesecNominativ == nil then 
		return ''
	else 
		return godina .. mjesec
	end
end


return p