Modul:OTRS dopusnica

Izvor: Wikipedija
Prijeđi na navigaciju Prijeđi na pretraživanje
Dokumentacija modula[vidi] [uredi] [povijest] [osvježi]

Modul se koristi u predlošku {{Dopusnica}} za povezivanje dopusnica i njihovih zahtjeva (ticketa).

Modul na početku izrađuje tablice imena otrs_vazece i otrs_nevazece.

Nove ispravne dopusnice potrebno je ručno dodati kao nove unose u tablicu:

otrs_vazece['podnaslov'] = 'ID vrijednost OTRS zahtjeva'

Neispravne dopusnice potrebno je ručno dodati zajedno sa mogućim poveznicama na web-stranice:

otrs_nevazece['podnaslov'] = {'a.hr', 'b.hr', 'c.hr' }

Napomena: vrijednost "podnaslov" mora biti jednaka četvrtom parametru predloška Dopusnica

Molim prepustite dodavanje novih dopusnica suradnicima koji imaju pristup OTRS sustavu i OTRS agentima.

Automatski generirani popis važećih dopusnica:
(popis se na drugim stranicama prikazuje pozivom {{#invoke:OTRS dopusnica|ispis|vazece}})

Dopusnica OTRS identifikator Kategorija za praćenje
U potrazi za Markom Polom - TV serijal 2021032610006338 Dopusnica - U potrazi za Markom Polom - TV serijal (4 stavki)
Marin Sabolović 2021031810008066 Dopusnica - Marin Sabolović (0 stavki)
Vitomir Ivanjek 2021032610010289 Dopusnica - Vitomir Ivanjek (2 stavki)
Ante Tadić 2021040610009924 Dopusnica - Ante Tadić (2 stavki)
AGM d.o.o. 2021020410007871 Dopusnica - AGM d.o.o. (2 stavki)
Anto Tadić 2021040610009924 Dopusnica - Anto Tadić (0 stavki)
Željko Luketić 2021031610007856 Dopusnica - Željko Luketić (2 stavki)
Goran Ugrin 2021032610011921 Dopusnica - Goran Ugrin (4 stavki)
Klobuk.info 2010042710011831 Dopusnica - Klobuk.info (2 stavki)
Martina Zadro 2021020410008174 Dopusnica - Martina Zadro (3 stavki)
Dalibor Grubačević 2021030910012327 Dopusnica - Dalibor Grubačević (2 stavki)

Automatski generirani popis nevažećih dopusnica i poveznica:
(popis se na drugim stranicama prikazuje pozivom {{#invoke:OTRS dopusnica|ispis|nevazece}})

Dopusnica poveznice Kategorija za praćenje
Grad Crikvenica crikvenica.hr Dopusnica - Grad Crikvenica (0 stavki)
Hrvatska akademija znanosti i umjetnosti hazu.hr Dopusnica - Hrvatska akademija znanosti i umjetnosti (164 stavki)
Hrvatski državni arhiv arhiv.hr Dopusnica - Hrvatski državni arhiv (268 stavki)
Leksikografski zavod "Miroslav Krleža" enciklopedija.hrlzmk.hr Dopusnica - Leksikografski zavod "Miroslav Krleža" (139 stavki)
Ministarstvo kulture Republike Hrvatske kulturnadobra.hrmin-kulture.hr Dopusnica - Ministarstvo kulture Republike Hrvatske (1.741 stavki)
Javna ustanova "Priroda" ju-priroda.hr Dopusnica - Javna ustanova "Priroda" (0 stavki)
Primorsko-goranska županija pgz.hr Dopusnica - Primorsko-goranska županija (0 stavki)

Napomena: Molim samo stavljati korijenske poveznice, jer Lua provjerava po uzorku .poveznica ili http://poveznica

Kategorije za praćenje:


local p = {}

local otrs_vazece = {}
---/////////////////////--
-- OVDJE DODATI NOVE ISPRAVNE DOPUSNICE (na dno popisa) - u obliku 
 -- otrs_vazece['podnaslov'] = ID vrijednost OTRS zahtjeva
otrs_vazece['AGM d.o.o.'] = '2021020410007871'
otrs_vazece['Klobuk.info'] = '2010042710011831'
otrs_vazece['Martina Zadro'] = '2021020410008174'
otrs_vazece['Dalibor Grubačević'] = '2021030910012327'
otrs_vazece['U potrazi za Markom Polom - TV serijal'] = '2021032610006338'
otrs_vazece['Željko Luketić'] = '2021031610007856'
otrs_vazece['Marin Sabolović'] = '2021031810008066'
otrs_vazece['Vitomir Ivanjek'] = '2021032610010289'
otrs_vazece['Goran Ugrin'] = '2021032610011921'
otrs_vazece['Ante Tadić'] = '2021040610009924'
otrs_vazece['Anto Tadić'] = '2021040610009924'

----------------------
local otrs_nevazece = {}
---/////////////////////--
-- OVDJE DODATI NOVE NEVAŽEĆE DOPUSNICE (na dno popisa) - u obliku 
 -- otrs_nevazece['podnaslov'] = {'a.hr', 'b.hr', 'c.hr' } (web stranice za koje nemamo dopusnicu)
otrs_nevazece['Leksikografski zavod "Miroslav Krleža"'] = {'enciklopedija.hr', 'lzmk.hr'}
otrs_nevazece['Hrvatski državni arhiv'] = {'arhiv.hr'}
otrs_nevazece['Javna ustanova "Priroda"'] = {'ju-priroda.hr'}
otrs_nevazece['Grad Crikvenica'] = {'crikvenica.hr'}
otrs_nevazece['Primorsko-goranska županija'] = {'pgz.hr'}
otrs_nevazece['Ministarstvo kulture Republike Hrvatske'] = {'kulturnadobra.hr', 'min-kulture.hr'}
otrs_nevazece['Hrvatska akademija znanosti i umjetnosti'] = {'hazu.hr'}


function v_dohvatiNaslov(id)
	for naslov, identifikator in pairs(otrs_vazece) do
		if identifikator == id then
			return naslov
		end
	end
return ''
end

function v_dohvatiID(ime)
	return otrs_vazece[ime] or ''
end

function p.ispis(frame)
	local ret = ''
	if frame.args['1'] == 'vazece' then
		ret = '{| class="wikitable" style="text-align: center;"'
		.. '\n|-'
		.. '\n! Dopusnica'
		.. '\n! OTRS identifikator'
		.. '\n! Kategorija za praćenje'
		for val, param in pairs(otrs_vazece) do
			local catname = 'Dopusnica - ' .. val
			
			ret = ret .. '\n|-'
			.. '\n| ' .. val .. ' || ' .. '[[:ticket:'.. param..'|'.. param ..']]'
			ret = ret .. '|| [[:Kategorija:' .. catname .. '|' .. catname ..']]' 
				..' (' .. frame:preprocess('{{PAGESINCAT:'..catname..'|all}}') ..' stavki)'
				-- ..' (' .. frame:preprocess('{{PAGESINCAT:'..catname..'|pages}}') ..' str., '
				-- .. frame:preprocess('{{PAGESINCAT:'..catname..'|subcats}}') ..' kat., ' 
				-- .. frame:preprocess('{{PAGESINCAT:'..catname..'|files}}') .. ' dat.)'
		end
		ret = ret .. '\n|-'
		.. '\n|}'
		return ret
		else if frame.args['1'] == 'nevazece' then
		ret = '{| class="wikitable" style="text-align: center;"'
		.. '\n|-'
		.. '\n! Dopusnica'
		.. '\n! poveznice'
		.. '\n! Kategorija za praćenje'
		for i, params in pairs(otrs_nevazece) do
			for j, param in ipairs(params) do
				if j == 1 then
					ret = ret .. '\n|-'
						.. '\n|  '.. i .. '|| <code>' .. param .. '</code>'
				elseif j == 2 then
					ret = ret .. '<code>' .. param .. '</code>'
				else
					ret = ret .. ', <code>' .. param .. '</code>'
				end
			end
			local catname = 'Dopusnica - ' .. i
			ret = ret .. '|| [[:Kategorija:' .. catname .. '|' .. catname ..']]' 
				..' (' .. frame:preprocess('{{PAGESINCAT:'..catname..'|all}}') ..' stavki)'
				-- ..' (' .. frame:preprocess('{{PAGESINCAT:'..catname..'|pages}}') ..' str., '
				-- .. frame:preprocess('{{PAGESINCAT:'..catname..'|subcats}}') ..' kat., ' 
				-- .. frame:preprocess('{{PAGESINCAT:'..catname..'|files}}') .. ' dat.)'
		end
		ret = ret .. '\n|-'
			.. '\n|}'
		return ret
		end
	end
end

function p.samo_kategorija(frame)
	local retval = ''
	local naslovArg = frame.args['naslov'] or ''
	local naslov = ''
	local id = frame.args['id'] or ''
	
	if string.find(naslovArg, "LZMK") 
	or string.find(naslovArg, "Hrvatsk[aeiou] enciklopedij[aeiou]") 
	or string.find(naslovArg, "Istarsk[aeiou] enciklopedij[aeiou]")
	or string.find(naslovArg, "Hrvatskog biografskog leksikona")
	or string.find(naslovArg, "Proleksis")  then
		naslov = 'Leksikografski zavod "Miroslav Krleža"' 
	else naslov = naslovArg
	end
	
	if naslov ~= '' then 
		retval = 'Sav sadržaj pod ovom dopusnicom  popisan je [[:Kategorija:Dopusnica - '
		.. naslov .. '|ovdje]].[[Kategorija:Dopusnica - '.. naslov .. ']]'
	
	else if v_dohvatiNaslov(id) ~= '' then
			retval = 'Sav sadržaj pod ovom dopusnicom  popisan je [[:Kategorija:Dopusnica - '
			.. v_dohvatiNaslov(id) .. '|ovdje]].[[Kategorija:Dopusnica - '.. v_dohvatiNaslov(id) .. ']]'
		end
	end
	

	if naslov ~= '' and id ~= '' then
		if v_dohvatiNaslov(id) ~= v_dohvatiID(naslov) then
			retval = retval .. '[[Kategorija:OTRS predlošci s nepoklapanjem u identifikatorima]]'
		end
	end
	return retval
end


function provjeri_poveznice(frame)
	local match = 'no'
	if otrs_nevazece[string.gsub(frame.args['naslov'] or '', '_', ' ')] ~= nil then
		match = 'yes'
		else 
			for val, params in pairs(otrs_nevazece) do
			for i, param in pairs(params) do
				local HTTPregex = 'https?://' .. param
				local dotregex = '%.' .. param
				if string.find(frame.args['url1'] or '', HTTPregex) or string.find(frame.args['url2'] or '', HTTPregex)
					or string.find(frame.args['url1'] or '', dotregex) or string.find(frame.args['url2'] or '', dotregex) then
				match = 'yes'
				end
			end
		end
	end
	return match
end

function p.main(frame)
	local retstring ='';
	local nocat = frame.args['nocat']
	local title = mw.title.getCurrentTitle()
	if title.nsText == 'Wikipedija' then
    	nocat = 'yes'
	end
	if provjeri_poveznice(frame) == 'yes' then
		retstring = '<span class="error"><b>Dopusnica nije važeća!</b></span>'
		if nocat ~= 'yes' then retstring = retstring .. '[[Kategorija:Članci s nevažećom dopusnicom]]' end
	
	elseif otrs_vazece[frame.args['naslov']] ~= nil then -- ako vrijednost postoji
		retstring = 'Dopusnica za korištenje materijala s ove stranice ' 
		..'arhivirana je u [[Wikipedija:OTRS|OTRS-u]] pod brojem '
		.. '[[:ticket:'.. otrs_vazece[frame.args['naslov']]..'|'.. otrs_vazece[frame.args['naslov']] ..']].'
		if nocat ~= 'yes' then retstring = retstring .. '[[Kategorija:Članci s potvrđenom dopusnicom]]' end
	else 
		retstring = '<span class="error">Dopusnica nije potvrđena [[Wikipedija:OTRS|OTRS-om]].</span>'
		if nocat ~= 'yes' then retstring = retstring .. '[[Kategorija:Članci s nepotvrđenom dopusnicom]]' end
	end
	return retstring..'<br />'..p.samo_kategorija(frame)
end
return p