https://www.gyimesilaszlo.hu/kotta/index.php?title=Modul:CitWeb&feed=atom&action=history
Modul:CitWeb - Laptörténet
2024-03-29T08:02:18Z
Az oldal laptörténete a wikiben
MediaWiki 1.39.4
https://www.gyimesilaszlo.hu/kotta/index.php?title=Modul:CitWeb&diff=872&oldid=prev
Kotta: Új oldal, tartalma: „--Version 2014_05_23 require 'Modul:No globals' local ds = require('Modul:Dátumszűrés') local getArgs = require('Modul:Arguments').getArgs local args = {} local lang…”
2019-02-09T15:19:18Z
<p>Új oldal, tartalma: „--Version 2014_05_23 require 'Modul:No globals' local ds = require('Modul:Dátumszűrés') local getArgs = require('Modul:Arguments').getArgs local args = {} local lang…”</p>
<p><b>Új lap</b></p><div>--Version 2014_05_23<br />
require 'Modul:No globals'<br />
local ds = require('Modul:Dátumszűrés')<br />
local getArgs = require('Modul:Arguments').getArgs<br />
local args = {}<br />
local lang = mw.getContentLanguage()<br />
<br />
local lans = {<br />
['an'] = true,<br />
['ar'] = true,<br />
['aze'] = true,<br />
['be'] = true,<br />
['bg'] = true,<br />
['bn'] = true,<br />
['bs'] = true, <br />
['ca'] = true, <br />
['chm'] = true,<br />
['cy'] = true,<br />
['cs'] = true,<br />
['da'] = true,<br />
['de'] = true,<br />
['ee'] = true,<br />
['el'] = true,<br />
['en'] = true,<br />
['eo'] = true,<br />
['es'] = true,<br />
['et'] = true,<br />
['eu'] = true,<br />
['fa'] = true,<br />
['fi'] = true,<br />
['fo'] = true,<br />
['fr'] = true,<br />
['fy'] = true,<br />
['ga'] = true,<br />
['gd'] = true,<br />
['gl'] = true,<br />
['grc'] = true,<br />
['gu'] = true,<br />
['he'] = true,<br />
['hi'] = true,<br />
['hr'] = true,<br />
['ht'] = true,<br />
['hu'] = true,<br />
['hy'] = true,<br />
['hz'] = true,<br />
['id'] = true,<br />
['is'] = true,<br />
['it'] = true,<br />
['ja'] = true,<br />
['jp'] = true,<br />
['ka'] = true,<br />
['kk'] = true, <br />
['km'] = true,<br />
['kn'] = true,<br />
['ko'] = true,<br />
['ku'] = true,<br />
['ky'] = true,<br />
['lat'] = true,<br />
['lb'] = true,<br />
['lo'] = true,<br />
['lit'] = true,<br />
['lv'] = true,<br />
['mk'] = true,<br />
['mn'] = true,<br />
['mo'] = true,<br />
['ms'] = true,<br />
['mt'] = true,<br />
['my'] = true,<br />
['ne'] = true,<br />
['nl'] = true,<br />
['nn'] = true,<br />
['no'] = true,<br />
['oc'] = true,<br />
['pa'] = true,<br />
['pl'] = true,<br />
['pt'] = true,<br />
['rm'] = true,<br />
['ro'] = true,<br />
['ru'] = true,<br />
['rue'] = true,<br />
['sa'] = true,<br />
['sah'] = true,<br />
['scn'] = true,<br />
['se'] = true,<br />
['sh'] = true,<br />
['sk'] = true,<br />
['slo'] = true,<br />
['sm'] = true,<br />
['sq'] = true,<br />
['sr'] = true,<br />
['sv'] = true, <br />
['tam'] = true,<br />
['te'] = true,<br />
['tet'] = true,<br />
['tg'] = true,<br />
['th'] = true,<br />
['tk'] = true,<br />
['tag'] = true,<br />
['to'] = true,<br />
['tr'] = true,<br />
['tat'] = true,<br />
['ty'] = true,<br />
['uk'] = true,<br />
['ur'] = true,<br />
['uz'] = true,<br />
['vi'] = true,<br />
['yi'] = true,<br />
['zh'] = true<br />
}<br />
<br />
local hibavan = false<br />
<br />
-- hibakeresésre szolgáló globális változó, ami tartalmazza az analízisre<br />
-- szolgáló üzeneteket, az alábbi pop() függvény gyűjtögeti a tartalmát<br />
local ou = ''<br />
<br />
local function pop(...) -- idézőjeles rész és bővítmények az ou számára<br />
do return end -- memóriatúllépést okoz, csak teszteléshez<br />
local list = {...}<br />
for _, var in pairs(list) do<br />
ou = ou .. tostring(var) .. '\n '<br />
mw.log(ou)<br />
end<br />
end<br />
<br />
-- Egy hibaüzenet kezelése.<br />
-- Igazra állítja a hibavan változót és visszatér a megjeleníthető hibaüzenettel<br />
-- @argument about: A hibaüzenet (string)<br />
local function error(about)<br />
hibavan = true <br />
local r = about<br />
if type( about ) == 'string' then<br />
if #about == 0 then<br />
r = 'Lua-hiba'<br />
end<br />
else<br />
r = tostring( about )<br />
end<br />
return '<span class="error">' .. r .. '</span>, '<br />
end<br />
<br />
-- URL-ben nem használható paraméterek (szóköz, macskaköröm stb.) kódolása<br />
local function encodeURL(url)<br />
if type(url) ~= 'string' then<br />
return url<br />
end<br />
url = string.gsub(url, '%s','%%20')<br />
url = string.gsub(url, '"', '%%22')<br />
url = string.gsub(url, "'", '%%27')<br />
url = string.gsub(url, '<', '%%3c')<br />
url = string.gsub(url, '>', '%%3e')<br />
url = string.gsub(url, '%[','%%5b')<br />
url = string.gsub(url, '%]','%%5d')<br />
url = string.gsub(url, '{', '%%7b')<br />
url = string.gsub(url, '|', '%%7c')<br />
url = string.gsub(url, '}', '%%7d')<br />
return url<br />
end<br />
<br />
local function isISSN(str)<br />
local v, chsum<br />
str = string.gsub(str, '–' , '-') -- nagykötőjelből kicsi lesz<br />
str = string.gsub(str, '—' , '-') -- hetvenkvirtesből kicsi lesz<br />
local i, j = string.find(str, '-')<br />
if i == j and i == 5 then -- rendben, az ötödik helyen van a kötőjel<br />
v = string.sub(str,1,4) .. string.sub(str,6,8)<br />
chd = string.sub (str,-1,-1)<br />
else<br />
return false<br />
end<br />
if chd == 'X' or tonumber(chd) then<br />
if chd == 'X' then<br />
chnum = 10<br />
else<br />
chnum = string.byte(chd, 1) - string.byte('0', 1)<br />
end <br />
else<br />
return false<br />
end <br />
if tonumber(v) then <br />
chsum = 0<br />
for j = 8, 2, -1 do<br />
local elsbyte = string.byte(v, (9 - j))<br />
chsum = chsum + (elsbyte - string.byte('0', 1)) * j<br />
end<br />
else<br />
return false -- nem számjegyek<br />
end<br />
local chnumdo = 11 - (chsum % 11) <br />
if chnumdo == chnum then<br />
return true<br />
else<br />
return false <br />
end<br />
end<br />
<br />
--CitWeb<br />
--[[<br />
{{citweb |url= |szerző= |szerző2= |szerző3= |cím= |alcím= |közreműködők= <br />
{{citweb |url= |aut= |aut2= |aut3= |tit= |subtit= |ass= --Alternatív paraméterekkel <br />
|weblap= |nyelvkód= |hely= |kiadó= |dátum= vagy év= |oldal= |elér= <br />
|work= |lan= |loc= |red= |date= vagy ann= |pag= |accd= <br />
|formátum= |méret= |archívurl= |archívdátum= |doi= |egyéb= |idézet= }}<br />
|form= |siz= |aurl= |archd= |doi= |misc= |quote= }} <br />
--]] <br />
<br />
-- Egy sablonparaméter lekérdezése.<br />
-- Az üres paramétereket nilként adja át.<br />
-- A sablonhívásban fel kell sorolni a paraméterneveket:<br />
-- pl. getArg('aut', 'szerző', 'author')<br />
local function getArg(...)<br />
for _, v in ipairs{...} do<br />
if args[v] and args[v] ~= '' then<br />
return args[v]<br />
end<br />
end<br />
return nil<br />
end<br />
<br />
local url, szerzo, szerzo2, szerzo3, szerzo4, szerzo5, szerzo6, szerzo7, szerzo8, szerzo9<br />
local cim, alcim, forditas_cime, datum, publication_date, outdatum, nyelv, lan, english<br />
local ass,weblap,red,loc, publication_place, ev, ho,nap, oldal, deadurl, form,size,formsiz,aurl,archd,doi, isbn, issn, accd,misc,quote<br />
local szerzolink,szerzolink2,szerzolink3,szerzolink4,szerzolink5,szerzolink6,szerzolink7,szerzolink8,szerzolink9<br />
local month, year, origyear, at, template_doc_demo, _format, tipus, sorozat, nopp<br />
-- local id, arxiv, _asin, _asin_tld, bibcode, doi_brokendate, jfm, jstor<br />
-- local lccn, mr, oclc, ol, osti, pmc, embargo, pmid, rfc, ssrn, zbl<br />
local layurl, laysource, laydate, author_mask, author_name_separator, author_separator<br />
local display_authors, display_editors, lastauthoramp, postscript, separator<br />
<br />
local function _nilez()<br />
szerzo, szerzo2, szerzo3, szerzo4, szerzo5 = nil<br />
szerzo6, szerzo7, szerzo8, szerzo9, cim, alcim = nil<br />
ass, weblap, lan, loc, red, ev, datum, accd, form, size, aurl, archd, misc = nil<br />
end<br />
<br />
local function angol_parameterek()<br />
local szerzo_csaladneve, szerzo2_csaladneve, szerzo3_csaladneve, szerzo4_csaladneve<br />
local szerzo5_csaladneve, szerzo6_csaladneve, szerzo7_csaladneve, szerzo8_csaladneve, szerzo9_csaladneve<br />
local szerzo_keresztneve, szerzo2_keresztneve, szerzo3_keresztneve, szerzo4_keresztneve<br />
local szerzo5_keresztneve, szerzo6_keresztneve, szerzo7_keresztneve, szerzo8_keresztneve, szerzo9_keresztneve<br />
local szerkeszto_csaladneve, szerkeszto2_csaladneve, szerkeszto3_csaladneve, szerkeszto4_csaladneve<br />
local szerkeszto_keresztneve, szerkeszto2_keresztneve, szerkeszto3_keresztneve, szerkeszto4_keresztneve<br />
<br />
cim = getArg('title')<br />
datum = getArg('date')<br />
accd = getArg('accessdate')<br />
aurl = encodeURL(getArg('archiveurl'))<br />
archd = getArg('archivedate')<br />
weblap = getArg('website', 'work')<br />
red = getArg('publisher')<br />
szerzo_csaladneve = getArg('last', 'author', 'last1', 'author1', 'authors')<br />
szerzo2_csaladneve = getArg('last2', 'author2')<br />
szerzo3_csaladneve = getArg('last3', 'author3')<br />
szerzo4_csaladneve = getArg('last4', 'author4')<br />
szerzo5_csaladneve = getArg('last5', 'author5')<br />
szerzo6_csaladneve = getArg('last6', 'author6')<br />
szerzo7_csaladneve = getArg('last7', 'author7')<br />
szerzo8_csaladneve = getArg('last8', 'author8')<br />
szerzo9_csaladneve = getArg('last9', 'author9')<br />
<br />
szerzo_keresztneve = getArg('first', 'first1')<br />
szerzo2_keresztneve = getArg('first2')<br />
szerzo3_keresztneve = getArg('first3')<br />
szerzo4_keresztneve = getArg('first4')<br />
szerzo5_keresztneve = getArg('first5')<br />
szerzo6_keresztneve = getArg('first6')<br />
szerzo7_keresztneve = getArg('first7')<br />
szerzo8_keresztneve = getArg('first8')<br />
szerzo9_keresztneve = getArg('first9')<br />
<br />
if szerzo_csaladneve then<br />
szerzo = szerzo_csaladneve<br />
if szerzo_keresztneve then<br />
szerzo = szerzo .. ', ' .. szerzo_keresztneve<br />
end<br />
end<br />
if szerzo2_csaladneve then<br />
szerzo2 = szerzo2_csaladneve<br />
if szerzo2_keresztneve then<br />
szerzo2 = szerzo2 .. ', ' .. szerzo2_keresztneve<br />
end<br />
end<br />
if szerzo3_csaladneve then<br />
szerzo3 = szerzo3_csaladneve<br />
if szerzo3_keresztneve then<br />
szerzo3 = szerzo3 .. ', ' .. szerzo3_keresztneve<br />
end<br />
end<br />
if szerzo4_csaladneve then<br />
szerzo4 = szerzo4_csaladneve<br />
if szerzo4_keresztneve then<br />
szerzo4 = szerzo4 .. ', ' .. szerzo4_keresztneve<br />
end<br />
end<br />
if szerzo5_csaladneve then<br />
szerzo5 = szerzo5_csaladneve<br />
if szerzo5_keresztneve then<br />
szerzo5 = szerzo5 .. ', ' .. szerzo5_keresztneve<br />
end<br />
end<br />
if szerzo6_csaladneve then<br />
szerzo6 = szerzo6_csaladneve<br />
if szerzo6_keresztneve then<br />
szerzo6 = szerzo6 .. ', ' .. szerzo6_keresztneve<br />
end<br />
end<br />
if szerzo7_csaladneve then<br />
szerzo7 = szerzo7_csaladneve<br />
if szerzo7_keresztneve then<br />
szerzo7 = szerzo7 .. ', ' .. szerzo7_keresztneve<br />
end<br />
end<br />
if szerzo8_csaladneve then<br />
szerzo8 = szerzo8_csaladneve<br />
if szerzo8_keresztneve then<br />
szerzo8 = szerzo8 .. ', ' .. szerzo8_keresztneve<br />
end<br />
end<br />
if szerzo9_csaladneve then<br />
szerzo9 = szerzo9_csaladneve<br />
if szerzo9_keresztneve then<br />
szerzo9 = szerzo9 .. ', ' .. szerzo9_keresztneve<br />
end<br />
end<br />
<br />
szerzolink = getArg('authorlink', 'authorlink1', 'author-link1', 'author1-link', 'author1link')<br />
if szerzolink then szerzo = '[[' .. szerzolink .. ']]' end<br />
szerzolink2 = getArg('authorlink2', 'author2-link')<br />
if szerzolink2 then szerzo2 = '[[' .. szerzolink2 .. ']]' end<br />
szerzolink3 = getArg('authorlink3', 'author3-link')<br />
if szerzolink3 then szerzo3 = '[[' .. szerzolink3 .. ']]' end<br />
szerzolink4 = getArg('authorlink4', 'author4-link')<br />
if szerzolink4 then szerzo4 = '[[' .. szerzolink4 .. ']]' end<br />
szerzolink5 = getArg('authorlink5', 'author5-link')<br />
if szerzolink5 then szerzo5 = '[[' .. szerzolink5 .. ']]' end<br />
szerzolink6 = getArg('authorlink6', 'author6-link')<br />
if szerzolink6 then szerzo6 = '[[' .. szerzolink6 .. ']]' end<br />
szerzolink7 = getArg('authorlink7', 'author7-link')<br />
if szerzolink7 then szerzo7 = '[[' .. szerzolink7 .. ']]' end<br />
szerzolink8 = getArg('authorlink8', 'author8-link')<br />
if szerzolink8 then szerzo8 = '[[' .. szerzolink8 .. ']]' end<br />
szerzolink9 = getArg('authorlink9', 'author9-link')<br />
if szerzolink9 then szerzo9 = '[[' .. szerzolink9 .. ']]' end<br />
datum = getArg('date', 'year')<br />
origyear = getArg('origyear')<br />
<br />
ass = getArg('others')<br />
lan = getArg('language')<br />
cim = getArg('title')<br />
forditas_cime = getArg('trans_title')<br />
loc = getArg('place','location')<br />
red = getArg('publisher')<br />
publication_date = getArg('publication-date')<br />
if publication_date then <br />
if select(2, ds.datumszuro(publication_date)) == select(2, ds.datumszuro(datum)) then<br />
publication_date = nil <br />
else<br />
datum = publication_date<br />
end<br />
end -- csak akkor tekintjük létezőnek, ha különbözik a dátumtól <br />
publication_place = getArg('publication-place')<br />
<br />
szerkeszto_csaladneve = getArg('editor-last','editor1-last', 'editor', 'editors')<br />
szerkeszto_keresztneve = getArg('editor-first', 'editor1-first')<br />
szerkeszto2_csaladneve = getArg('editor2-last')<br />
szerkeszto2_keresztneve = getArg('editor2-first')<br />
szerkeszto3_csaladneve = getArg('editor3-last')<br />
szerkeszto3_keresztneve = getArg('editor3-first')<br />
szerkeszto4_csaladneve = getArg('editor4-last')<br />
szerkeszto4_keresztneve = getArg('editor4-first')<br />
<br />
local szerkesztok = {}<br />
if szerkeszto_csaladneve then<br />
szerkeszto = szerkeszto_csaladneve<br />
if szerkeszto_keresztneve then<br />
szerkeszto = szerkeszto .. ', ' .. szerkeszto_keresztneve<br />
end<br />
table.insert(szerkesztok, szerkeszto)<br />
end<br />
if szerkeszto2_csaladneve then<br />
szerkeszto2 = szerkeszto2_csaladneve<br />
if szerkeszto2_keresztneve then<br />
szerkeszto2 = szerkeszto2 .. ', ' .. szerkeszto2_keresztneve<br />
end<br />
table.insert(szerkesztok, szerkeszto2)<br />
end<br />
if szerkeszto3_csaladneve then<br />
szerkeszto3 = szerkeszto3_csaladneve<br />
if szerkeszto3_keresztneve then<br />
szerkeszto3 = szerkeszto3 .. ', ' .. szerkeszto3_keresztneve<br />
end<br />
table.insert(szerkesztok, szerkeszto3)<br />
end<br />
if szerkeszto4_csaladneve then<br />
szerkeszto4 = szerkeszto4_csaladneve<br />
if szerkeszto4_keresztneve then<br />
szerkeszto4 = szerkeszto4 .. ', ' .. szerkeszto4_keresztneve<br />
end<br />
table.insert(szerkesztok, szerkeszto4)<br />
end<br />
if #szerkesztok > 0 then<br />
szerkeszto = 'szerk.: ' .. table.concat(szerkesztok, '&#8201;&#8211;&#8201;')<br />
end<br />
<br />
oldal = getArg('page', 'pages')<br />
nopp = getArg('nopp')<br />
if not oldal then<br />
at = getArg('at')<br />
end<br />
deadurl = getArg(' deadurl')<br />
template_doc_demo = (getArg('template doc demo') == 'true')<br />
_format = getArg('format')<br />
if _format then<br />
_format= '( '.._format..') '<br />
end<br />
isbn = getArg('isbn')<br />
issn = getArg('issn')<br />
<br />
--Quote<br />
quote = getArg('quote')<br />
doi = getArg('doi')<br />
tipus = getArg('type')<br />
sorozat = getArg('series', 'version')<br />
if sorozat then<br />
sorozat = 'Sorozat: ' .. sorozat .. ' '<br />
else<br />
sorozat = getArg('agency')<br />
end<br />
<br />
--[[ nem használja semmi<br />
id = getArg('id') <br />
if not id then <br />
arxiv = getArg('arxiv')<br />
_asin = getArg('asin')<br />
_asin_tld = getArg('asin-tld')<br />
<br />
bibcode = getArg('bibcode')<br />
doi_brokendate = getArg('doi_brokendate')<br />
jfm = getArg('jfm')<br />
jstor = getArg('jstor')<br />
lccn = getArg('lccn') <br />
mr = getArg('mr')<br />
oclc = getArg('oclc')<br />
ol = getArg('ol')<br />
osti = getArg('osti')<br />
pmc = getArg('pmc')<br />
embargo = getArg('embargo')<br />
pmid = getArg('pmid')<br />
rfc = getArg('rfc')<br />
ssrn = getArg('ssrn')<br />
zbl = getArg('zbl')<br />
end<br />
--]]<br />
<br />
--Laysummary<br />
layurl = getArg('layurl')<br />
laysource = getArg('laysource')<br />
laydate = getArg('laydate')<br />
<br />
--Display options<br />
author_mask = getArg('author-mask')<br />
author_name_separator = getArg('author-name-separator')<br />
author_separator = getArg('author-separator')<br />
display_authors = getArg('display-authors')<br />
display_editors = getArg('display-editors')<br />
lastauthoramp = getArg('lastauthoramp')<br />
postscript = getArg('postscript')<br />
separator = getArg('separator')<br />
end<br />
<br />
local function magyar_e()<br />
local function cleanArg(...)<br />
local arg = getArg(...)<br />
if arg then<br />
return (string.gsub(arg, '[%[%]]', ''))<br />
else<br />
return nil<br />
end<br />
end<br />
url = getArg('url')<br />
szerzo = getArg('szerző', 'aut' )<br />
szerzo2 = getArg('szerző2', 'aut2')<br />
szerzo3 = getArg('szerző3', 'aut3')<br />
szerzo4 = getArg('szerző4', 'aut4')<br />
szerzo5 = getArg('szerző5', 'aut5')<br />
szerzo6 = getArg('szerző6', 'aut6')<br />
szerzo7 = getArg('szerző7', 'aut7')<br />
szerzo8 = getArg('szerző8', 'aut8')<br />
szerzo9 = getArg('szerző9', 'aut9')<br />
cim = getArg('cím', 'tit')<br />
alcim = getArg('alcím', 'subtit')<br />
ass = getArg('ass', 'közreműködők')<br />
weblap = getArg('weblap', 'work')<br />
lan = getArg('lan', 'nyelvkód')<br />
loc = getArg('loc', 'hely')<br />
red = getArg('red', 'kiadó')<br />
ev = cleanArg('év', 'ann')<br />
datum = cleanArg('dátum', 'date')<br />
oldal = getArg('oldal', 'pag')<br />
accd = cleanArg('elér', 'accd')<br />
form = getArg('form', 'formátum')<br />
size = getArg('siz', 'méret')<br />
aurl = getArg('aurl', 'archívurl')<br />
archd = cleanArg('archd', 'archívdátum')<br />
doi = getArg('doi') <br />
misc = getArg('egyéb', 'misc')<br />
quote = getArg('quote', 'idézet')<br />
local x = szerzo or szerzo2 or szerzo3 or szerzo4 or szerzo5 or szerzo6<br />
or szerzo7 or szerzo8 or szerzo9 or cim or alcim or ass or lan or loc<br />
or red or ev or accd or form or size or aurl or archd or misc<br />
return (x ~= nil)<br />
end<br />
<br />
local function _citweb()<br />
_nilez()<br />
local hiba_jelzes = nil<br />
local igen_magyar = magyar_e()<br />
<br />
if not igen_magyar then<br />
angol_parameterek()<br />
end<br />
<br />
hiba_jelzes = ''<br />
<br />
-- a szerzőket előre lépteti, társszerzőből szerzőt csinál stb.<br />
local szerzok = {}<br />
if szerzo then<br />
table.insert(szerzok, szerzo)<br />
end<br />
if szerzo2 then<br />
table.insert(szerzok, szerzo2)<br />
end<br />
if szerzo3 then<br />
table.insert(szerzok, szerzo3)<br />
end<br />
if szerzo4 then<br />
table.insert(szerzok, szerzo4)<br />
end<br />
if szerzo5 then<br />
table.insert(szerzok, szerzo5)<br />
end<br />
if szerzo6 then<br />
table.insert(szerzok, szerzo6)<br />
end<br />
if szerzo7 then<br />
table.insert(szerzok, szerzo7)<br />
end<br />
if szerzo8 then<br />
table.insert(szerzok, szerzo8)<br />
end<br />
if szerzo9 then<br />
table.insert(szerzok, szerzo9)<br />
end<br />
if #szerzok > 0 then<br />
szerzo = table.concat(szerzok, '&#8201;&#8211;&#8201;') .. ': '<br />
else<br />
szerzo = nil<br />
end<br />
<br />
--cím és alcím<br />
local terminator<br />
if cim then<br />
cim = mw.text.trim(lang:ucfirst(cim))<br />
else<br />
hiba_jelzes = hiba_jelzes .. error('nincs elsődleges cím')<br />
end<br />
if cim and alcim then<br />
alcim = lang:ucfirst(alcim)<br />
if string.sub(cim, -1, -1) ~= ':' then<br />
cim = cim .. ': ' .. alcim<br />
else<br />
cim = cim .. ' ' .. alcim<br />
end<br />
end<br />
if cim then<br />
terminator = string.sub(cim, -1, -1)<br />
if terminator ~= '?' and terminator ~= '!' and terminator ~= ',' and terminator ~= '.' and terminator ~= '\166' then<br />
cim = cim .. '.'<br />
end <br />
<br />
-- SZÜKSÉGES CSERÉK:<br />
--newline [ ] | Ezek kellenek, mert az URL ráhúzásakor bezavarnak<br />
--space &#91; &#93; &#124;<br />
if forditas_cime then<br />
cim = cim .. ' [' .. forditas_cime .. '] '<br />
end<br />
cim = string.gsub(cim, '\n', ' ')<br />
cim = string.gsub(cim, '%[', '&#91;') <br />
cim = string.gsub(cim, '%]', '&#93;')<br />
cim = string.gsub(cim, '%|', '&#124;')<br />
end<br />
<br />
-- asszisztencia<br />
if ass then<br />
ass = lang:ucfirst(ass) .. ' '<br />
end<br />
<br />
url = getArg('url'); pop('url', url)<br />
url = encodeURL(url)<br />
<br />
-- weblap<br />
-- pop('weblap', weblap or 'nincs eddig')<br />
if not (weblap or red) and url then<br />
local maradek, i, _<br />
_, i = string.find(url, '//')<br />
if i then<br />
maradek = string.sub(url, i+1, -1)<br />
_, i = string.find(maradek, '/')<br />
if i then<br />
weblap = string.sub(maradek, 1, i-1)<br />
else<br />
weblap = maradek<br />
end<br />
end<br />
end<br />
<br />
-- nyelvkód<br />
if lan then<br />
if cim == nil then<br />
hiba_jelzes = hiba_jelzes .. ' ' .. error('nyelv cím nélkül')<br />
else<br />
if lans[lan] then<br />
nyelv = ' ' .. mw.getCurrentFrame():expandTemplate{ title = lan, args = { lan } }<br />
else -- különben mi magunk kiírjuk, mert így beszédesebb<br />
hiba_jelzes = hiba_jelzes .. ' ' .. error('ismeretlen nyelvkód')<br />
end<br />
end<br />
end<br />
<br />
-- loc, red<br />
local kiadas = loc<br />
if red then<br />
kiadas = (kiadas and kiadas .. ': ' or '') .. red<br />
end<br />
<br />
if kiadas and nyelv then<br />
nyelv = nyelv .. '.'<br />
elseif kiadas and weblap then<br />
weblap = weblap .. '.'<br />
end<br />
<br />
-- form és size<br />
<br />
local c = ''<br />
if form then<br />
c = form<br />
end<br />
if size then<br />
if string.sub(size, -5, -1) == 'oldal' then<br />
size = string.sub(size, 1, -6)<br />
end<br />
if c ~= '' then<br />
c = c .. ': ' .. size .. ' oldal '<br />
else<br />
c = size .. ' oldal '<br />
end<br />
end<br />
if c ~= '' then<br />
formsiz = '(' .. c .. ')'<br />
end<br />
<br />
if ev and not datum then<br />
datum = ev -- ha nincs dátum, akkor az év legyen a dátum<br />
end <br />
<br />
if datum then -- ha van dátum (most már vagy a dátum, vagy ennek hiányában az év)<br />
local nyom =''<br />
local nyom, dou = ds.datumszuro(datum)<br />
if dou then<br />
outdatum = '(' .. ds.honapnevesdate(dou) .. ') '<br />
else<br />
hiba_jelzes = hiba_jelzes .. ' ' .. error('hibás dátum')<br />
end<br />
end<br />
<br />
-- oldaladatok<br />
if oldal then<br />
oldal = string.gsub(oldal, '-' , '–') -- kiskötőjelből nagy<br />
oldal = string.gsub(oldal, '—' , '–') -- hetvenkvirtesből nagy<br />
oldal = string.gsub(oldal, '%.,', ',') -- pontot követő veszőből vesszőt<br />
oldal = string.gsub(oldal, '%.', '' ) -- pontból üreset<br />
oldal = string.gsub(oldal, ',', '.,') -- végül vesszőből ponot követő vesszőt<br />
if nopp == 'y' then<br />
oldal = '&#x20;' .. oldal<br />
else<br />
oldal = '&#x20;' .. oldal .. '. o. '<br />
end<br />
end<br />
<br />
-- Archiválva<br />
aurl = encodeURL(aurl)<br />
if archd then -- ha van dátum<br />
local outarchd, dou<br />
dou = select(2, ds.datumszuro(archd))<br />
if dou then<br />
outarchd = ds.honapnevesdate(dou)<br />
if aurl then <br />
archd = '<span title="' .. outarchd .. '">[' .. aurl .. ' arch]</span>'<br />
else<br />
hiba_jelzes = hiba_jelzes .. ' ' .. error('archívdátum van, de archívurl nélkül')<br />
end<br />
else<br />
hiba_jelzes = hiba_jelzes .. ' ' .. error('hibás archívdátum')<br />
end -- if dou <br />
end -- if archd<br />
<br />
-- elérés<br />
if not accd then<br />
accd = getArg('accessdate')<br />
end<br />
if accd then -- ha van elérés<br />
local outaccd, dou<br />
dou = select(2, ds.datumszuro(accd))<br />
if dou then<br />
outaccd = ds.honapnevesdate(dou)<br />
accd = '(Hozzáférés: ' .. outaccd .. ')'<br />
else<br />
hiba_jelzes = hiba_jelzes .. ' ' .. error('hibás elérés')<br />
end -- if dou <br />
end -- if accd<br />
<br />
if issn then <br />
if isISSN (issn) then<br />
issn = '<span title="' .. issn .. '" style="color:blue;">ISSN</span>'<br />
else<br />
hiba_jelzes = hiba_jelzes .. ' ' .. error('hibás ISSN: ') .. issn<br />
end <br />
else<br />
issn = '' -- ha nem létezik, legyen üres<br />
end<br />
isbn = getArg('isbn'); pop('isbn=', isbn)<br />
if isbn then<br />
local isbn_helyes, hibas<br />
isbn_helyes, isbn, hibas = require('Modul:CheckISBN').isISBN(isbn, true) -- linkelve az ISBN-ek<br />
if not isbn_helyes then<br />
pop('hibás ISBN', hibas)<br />
hibavan = true<br />
hiba_jelzes = hiba_jelzes .. ' ' .. hibas<br />
end<br />
end<br />
<br />
if doi then <br />
local doicontrol<br />
doicontrol = string.sub(doi,1,2)<br />
if doicontrol ~= '10' then<br />
hiba_jelzes = hiba_jelzes .. ' ' .. error('doi kötelezően 10-zel kezdődik!')<br />
else<br />
doi = '<span title="' .. doi .. '">[http://dx.doi.org/' .. doi .. ' doi]</span>'<br />
end<br />
end<br />
<br />
-- misc lekezelése<br />
if misc then<br />
misc = misc .. '.'<br />
end<br />
<br />
-- URL lekezelése<br />
if url and cim then<br />
url = encodeURL(url)<br />
if deadurl and deadurl ~= 'no' and aurl then<br />
cim = '[' .. aurl .. ' ' .. cim .. ']'<br />
else<br />
cim = '[' .. url .. ' ' .. cim .. ']'<br />
end<br />
end<br />
<br />
--idézet<br />
if quote then<br />
quote = " ''„" .. quote .. "”''"<br />
end<br />
<br />
-- eredmény összeállítása<br />
local s = {}<br />
local function tabla(x)<br />
if x then<br />
table.insert(s, x)<br />
end<br />
end<br />
if igen_magyar then<br />
tabla(szerzo)<br />
tabla(cim)<br />
tabla(ass)<br />
tabla(weblap)<br />
tabla(nyelv)<br />
tabla(kiadas)<br />
tabla(outdatum)<br />
tabla(oldal)<br />
tabla(accd)<br />
tabla(formsiz)<br />
tabla(archd)<br />
tabla(doi)<br />
tabla(misc)<br />
tabla(quote)<br />
tabla(isbn)<br />
else<br />
tabla(szerzo)<br />
tabla(cim)<br />
tabla(_format)<br />
tabla(nyelv)<br />
if tipus then table.insert(s, ' (' .. tipus .. ')') end<br />
tabla(ass)<br />
tabla(weblap)<br />
tabla(kiadas)<br />
tabla(outdatum)<br />
if origyear then table.insert(s, ' (' .. origyear .. ')') end<br />
tabla(oldal)<br />
tabla(at)<br />
tabla(sorozat)<br />
tabla(accd)<br />
tabla(formsiz)<br />
tabla(archd)<br />
tabla(doi)<br />
tabla(isbn)<br />
tabla(issn)<br />
end<br />
-- tabla(ou)<br />
if hibavan and (igen_magyar or not template_doc_demo) then<br />
table.insert(s, hiba_jelzes .. '[[Kategória:Hibás paraméterezésű CitWeb-et tartalmazó lapok]]')<br />
end<br />
return mw.text.trim(table.concat(s, ' '))<br />
end --citweb<br />
<br />
local function run(frame)<br />
args = getArgs(frame)<br />
return _citweb()<br />
end<br />
<br />
return {<br />
run = run -- az egyetlen átadandó függvény<br />
}</div>
Kotta