Modul:VRTS dopusnica

Izvor: Wikipedija
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 vrts_vazece i vrts_nevazece.

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

vrts_vazece['podnaslov'] = 'ID vrijednost VRTS zahtjeva'

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

vrts_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 VRTS sustavu i VRTS agentima.


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

Dopusnica VRTS identifikator Kategorija za praćenje
Ivan Mance 2021122810007791 Dopusnica - Ivan Mance (3 stavki)
Marin Sabolović 2021031810008066 Dopusnica - Marin Sabolović (0 stavki)
Orijentacijski klub Vihor Zagreb 2021102910005918 Dopusnica - Orijentacijski klub Vihor Zagreb (3 stavki)
Istrapedia 2023072610005239 Dopusnica - Istrapedia (111 stavki)
AGM d.o.o. 2021020410007871 Dopusnica - AGM d.o.o. (2 stavki)
Hrvatski registar tamburaša 2023082310002432 Dopusnica - Hrvatski registar tamburaša (1 stavki)
Damir Rogulja 2022030610001628 Dopusnica - Damir Rogulja (6 stavki)
Dubravka Oraić Tolić 2022120510007205 Dopusnica - Dubravka Oraić Tolić (2 stavki)
Grad Beli Manastir 2022110210012421 Dopusnica - Grad Beli Manastir (2 stavki)
Goran Ugrin 2021032610011921 Dopusnica - Goran Ugrin (4 stavki)
Dritan Abrazović 2022042810002807 Dopusnica - Dritan Abrazović (1 stavki)
U potrazi za Markom Polom - TV serijal 2021032610006338 Dopusnica - U potrazi za Markom Polom - TV serijal (4 stavki)
Ministarstvo kulture Republike Hrvatske 2021043010005276 Dopusnica - Ministarstvo kulture Republike Hrvatske (1.739 stavki)
Sage Croatia 2021093010009111 Dopusnica - Sage Croatia (4 stavki)
Darija Dolanski Majdak 2021102710009543 Dopusnica - Darija Dolanski Majdak (2 stavki)
Mladen Burnać 2021080810003811 Dopusnica - Mladen Burnać (6 stavki)
Vitomir Ivanjek 2021032610010289 Dopusnica - Vitomir Ivanjek (2 stavki)
Matija Jakšeković 2020090110003486 Dopusnica - Matija Jakšeković (1 stavki)
Petar Milić 2021081910003603 Dopusnica - Petar Milić (5 stavki)
Ante Tadić 2021040610009924 Dopusnica - Ante Tadić (2 stavki)
Udruženje Divanhana 2022013010005396 Dopusnica - Udruženje Divanhana (13 stavki)
Hrvatsko planinarsko društvo Sniježnica 2022021510005314 Dopusnica - Hrvatsko planinarsko društvo Sniježnica (4 stavki)
Željko Luketić 2021031610007856 Dopusnica - Željko Luketić (2 stavki)
Hrvatsko kulturno vijeće 2021070910003946 Dopusnica - Hrvatsko kulturno vijeće (109 stavki)
Klobuk.info 2010042710011831 Dopusnica - Klobuk.info (3 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:VRTS dopusnica|ispis|nevazece}})

Dopusnica poveznice Kategorija za praćenje
Grad Crikvenica crikvenica.hr Dopusnica - Grad Crikvenica (0 stavki)
Hrvatski državni arhiv arhiv.hr Dopusnica - Hrvatski državni arhiv (11 stavki)
Leksikografski zavod "Miroslav Krleža" enciklopedija.hrlzmk.hr, croatia.eu Dopusnica - Leksikografski zavod "Miroslav Krleža" (158 stavki)
Hrvatska akademija znanosti i umjetnosti hazu.hr Dopusnica - Hrvatska akademija znanosti i umjetnosti (161 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 vrts_vazece = {}
---/////////////////////--
-- OVDJE DODATI NOVE ISPRAVNE DOPUSNICE (na dno popisa) - u obliku 
 -- vrts_vazece['podnaslov'] = ID vrijednost VRTS zahtjeva
vrts_vazece['AGM d.o.o.'] = '2021020410007871'
vrts_vazece['Klobuk.info'] = '2010042710011831'
vrts_vazece['Martina Zadro'] = '2021020410008174'
vrts_vazece['Dalibor Grubačević'] = '2021030910012327'
vrts_vazece['U potrazi za Markom Polom - TV serijal'] = '2021032610006338'
vrts_vazece['Željko Luketić'] = '2021031610007856'
vrts_vazece['Marin Sabolović'] = '2021031810008066'
vrts_vazece['Vitomir Ivanjek'] = '2021032610010289'
vrts_vazece['Goran Ugrin'] = '2021032610011921'
vrts_vazece['Ante Tadić'] = '2021040610009924'
vrts_vazece['Ministarstvo kulture Republike Hrvatske'] = '2021043010005276'
vrts_vazece['Hrvatsko kulturno vijeće'] = '2021070910003946'
vrts_vazece['Mladen Burnać'] = '2021080810003811'
vrts_vazece['Petar Milić'] = '2021081910003603'
vrts_vazece['Sage Croatia'] = '2021093010009111'
vrts_vazece['Orijentacijski klub Vihor Zagreb'] = '2021102910005918'
vrts_vazece['Darija Dolanski Majdak'] = '2021102710009543'
vrts_vazece['Ivan Mance'] = '2021122810007791'
vrts_vazece['Udruženje Divanhana'] = '2022013010005396'
vrts_vazece['Hrvatsko planinarsko društvo Sniježnica'] = '2022021510005314'
vrts_vazece['Damir Rogulja'] = '2022030610001628'
vrts_vazece['Matija Jakšeković'] = '2020090110003486'
vrts_vazece['Dritan Abrazović'] = '2022042810002807'
vrts_vazece['Grad Beli Manastir'] = '2022110210012421'
vrts_vazece['Dubravka Oraić Tolić'] = '2022120510007205'
vrts_vazece['Hrvatski registar tamburaša'] = '2023082310002432'
vrts_vazece['Istrapedia'] = '2023072610005239'


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


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

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

function p.ispis(frame)
	local ret = ''
	if frame.args['1'] == 'vazece' then
		ret = '{| class="wikitable sortable" style="text-align: center;"'
		.. '\n|-'
		.. '\n! Dopusnica'
		.. '\n! VRTS identifikator'
		.. '\n! Kategorija za praćenje'
		for val, param in pairs(vrts_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 sortable" style="text-align: center;"'
		.. '\n|-'
		.. '\n! Dopusnica'
		.. '\n! poveznice'
		.. '\n! Kategorija za praćenje'
		for i, params in pairs(vrts_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") 
	or string.find(naslovArg, "[Cc]roatia.eu")
	or string.find(naslovArg, "Hrvatska[:,] zemlja,? i ljudi") 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) .. ']]'
			else retval = '<span class="error"><b>Dopusnica nije povezana s modulom!</b></span> [[Kategorija:Dopusnice koje nisu povezane s modulom]]'
		end
	end
	

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


function provjeri_poveznice(frame)
	local match = 'no'
	if vrts_nevazece[string.gsub(frame.args['naslov'] or '', '_', ' ')] ~= nil then
		match = 'yes'
		else 
			for val, params in pairs(vrts_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 vrts_vazece[frame.args['naslov']] ~= nil then -- ako vrijednost postoji
		retstring = 'Dopusnica za korištenje materijala s ove stranice ' 
		..'arhivirana je u [[Wikipedija:VRT|VRTS-u]] pod brojem '
		.. '[[:ticket:'.. vrts_vazece[frame.args['naslov']]..'|'.. vrts_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:VRT|VRTS-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