Modul:VRTS dopusnica
Izvor: Hrvatska internetska enciklopedija
<templatestyles src="Modul:Dokumentacija/styles.css"></templatestyles>
Dokumentacija modula[stvori]
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['Grad Beli Manastir'] = '2022110210012421' vrts_vazece['Dubravka Oraić Tolić'] = '2022120510007205' vrts_vazece['Hrvatski registar tamburaša'] = '2023082310002432' vrts_vazece['Istrapedia'] = '2023072610005239' vrts_vazece['Milan Bošnjak'] = '2024040510007691' vrts_vazece['Hrvatska udruga Benedikt'] = '2024060310004532' vrts_vazece['Dijana Žilić: In memoriam dr. sc. Marini Ilakovac Kveder'] = '2024010410005691' ---------------------- 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