<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="hu">
	<id>https://wiki.kaktuszgyujtok.hu/index.php?action=history&amp;feed=atom&amp;title=Modul%3ACultivarbox</id>
	<title>Modul:Cultivarbox - Laptörténet</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.kaktuszgyujtok.hu/index.php?action=history&amp;feed=atom&amp;title=Modul%3ACultivarbox"/>
	<link rel="alternate" type="text/html" href="https://wiki.kaktuszgyujtok.hu/index.php?title=Modul:Cultivarbox&amp;action=history"/>
	<updated>2026-04-12T13:50:43Z</updated>
	<subtitle>Az oldal laptörténete a wikiben</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://wiki.kaktuszgyujtok.hu/index.php?title=Modul:Cultivarbox&amp;diff=8730&amp;oldid=prev</id>
		<title>Dr. Gyúró Zoltán, 2026. március 15., 00:26-n</title>
		<link rel="alternate" type="text/html" href="https://wiki.kaktuszgyujtok.hu/index.php?title=Modul:Cultivarbox&amp;diff=8730&amp;oldid=prev"/>
		<updated>2026-03-15T00:26:07Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;hu&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Régebbi változat&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;A lap 2026. március 15., 00:26-kori változata&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l63&quot;&gt;63. sor:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;63. sor:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                 taxonName = data.parent&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                 taxonName = data.parent&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;             else&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;             else&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                 -- KULTIVÁR/FAJ FELISMERÉS:  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                 -- KULTIVÁR/FAJ FELISMERÉS:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                 -- Keressük a nemzetséget (első szó) és a többit&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                 -- Keressük a nemzetséget (első szó) és a többit&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                 local genus_part, rest_part = taxonName:match(&amp;quot;^([%a%-]+)%s+(.+)$&amp;quot;)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                 local genus_part, rest_part = taxonName:match(&amp;quot;^([%a%-]+)%s+(.+)$&amp;quot;)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l71&quot;&gt;71. sor:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;71. sor:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                     if rest_part:match(&amp;quot;^[&amp;#039;\&amp;quot;].+[&amp;#039;\&amp;quot;]&amp;quot;) or rest_part:match(&amp;quot;^[a-z×]&amp;quot;) then&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                     if rest_part:match(&amp;quot;^[&amp;#039;\&amp;quot;].+[&amp;#039;\&amp;quot;]&amp;quot;) or rest_part:match(&amp;quot;^[a-z×]&amp;quot;) then&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                         local actual_parent = (parentOverride ~= &amp;#039;&amp;#039; and parentOverride) or genus_part&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                         local actual_parent = (parentOverride ~= &amp;#039;&amp;#039; and parentOverride) or genus_part&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;                        &lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                         -- Meghatározzuk a rangot: ha van idézőjel, akkor Kultivár, egyébként Faj&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                         -- Meghatározzuk a rangot: ha van idézőjel, akkor Kultivár, egyébként Faj&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                         local current_rank = rest_part:match(&amp;quot;^[&amp;#039;\&amp;quot;].+[&amp;#039;\&amp;quot;]&amp;quot;) and &amp;quot;Kultivár&amp;quot; or &amp;quot;Faj&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                         local current_rank = rest_part:match(&amp;quot;^[&amp;#039;\&amp;quot;].+[&amp;#039;\&amp;quot;]&amp;quot;) and &amp;quot;Kultivár&amp;quot; or &amp;quot;Faj&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;                        &lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                         table.insert(hierarchy, { rank = current_rank, name = taxonName })&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                         table.insert(hierarchy, { rank = current_rank, name = taxonName })&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                         taxonName = actual_parent&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                         taxonName = actual_parent&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Dr. Gyúró Zoltán</name></author>
	</entry>
	<entry>
		<id>https://wiki.kaktuszgyujtok.hu/index.php?title=Modul:Cultivarbox&amp;diff=8716&amp;oldid=prev</id>
		<title>Dr. Gyúró Zoltán: Új oldal, tartalma: „-- ======================================================================================= -- TaxonokRawData.lua &gt; TaxonokRawDataConvert.lua &gt; Taxonbox2.lua &gt; buildCultivarbox.lua -- =======================================================================================  local p = {}  -- Betölti a taxonboxmodult. local TaxonBox = require(&#039;Modul:Taxonbox2&#039;)  -----------------------------------------------------------------------------------------------------------…”</title>
		<link rel="alternate" type="text/html" href="https://wiki.kaktuszgyujtok.hu/index.php?title=Modul:Cultivarbox&amp;diff=8716&amp;oldid=prev"/>
		<updated>2026-03-14T15:23:18Z</updated>

		<summary type="html">&lt;p&gt;Új oldal, tartalma: „-- ======================================================================================= -- TaxonokRawData.lua &amp;gt; TaxonokRawDataConvert.lua &amp;gt; Taxonbox2.lua &amp;gt; buildCultivarbox.lua -- =======================================================================================  local p = {}  -- Betölti a taxonboxmodult. local TaxonBox = require(&amp;#039;Modul:Taxonbox2&amp;#039;)  -----------------------------------------------------------------------------------------------------------…”&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Új lap&lt;/b&gt;&lt;/p&gt;&lt;div&gt;-- =======================================================================================&lt;br /&gt;
-- TaxonokRawData.lua &amp;gt; TaxonokRawDataConvert.lua &amp;gt; Taxonbox2.lua &amp;gt; buildCultivarbox.lua&lt;br /&gt;
-- =======================================================================================&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
-- Betölti a taxonboxmodult.&lt;br /&gt;
local TaxonBox = require(&amp;#039;Modul:Taxonbox2&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------------------&lt;br /&gt;
function p.buildCultivarbox(frame)&lt;br /&gt;
    local args = frame:getParent().args&lt;br /&gt;
&lt;br /&gt;
    -- Miért nem elég a sima local cultivarName = args.accepted?&lt;br /&gt;
    -- A MediaWiki sablonoknál ha a szerkesztő ezt írja: | accepted = , az a Lua számára egy üres karakterlánc (&amp;quot;&amp;quot;), nem pedig &amp;quot;semmi&amp;quot;.&lt;br /&gt;
    -- A sima args.accepted esetén a programod azt hinné, van ott valami, és megpróbálná formázni az ürességet, ami hibához vezetne.&lt;br /&gt;
    -- Ezzel a logikával viszont eléred, hogy ha üres a mező, a program úgy kezelje, mintha ott se lenne (nil).&lt;br /&gt;
    local cultivarName   = (args.cultivar   ~= &amp;#039;&amp;#039; and args.cultivar) or nil&lt;br /&gt;
    local synonymName    = (args.synonym    ~= &amp;#039;&amp;#039; and args.synonym) or nil&lt;br /&gt;
    local hybridName     = (args.hybrid     ~= &amp;#039;&amp;#039; and args.hybrid) or nil&lt;br /&gt;
    local parentName1    = (args.parent1    ~= &amp;#039;&amp;#039; and args.parent1) or nil&lt;br /&gt;
    local parentName2    = (args.parent2    ~= &amp;#039;&amp;#039; and args.parent2) or nil&lt;br /&gt;
    local parentName3    = (args.parent3    ~= &amp;#039;&amp;#039; and args.parent3) or nil&lt;br /&gt;
    local parentName4    = (args.parent4    ~= &amp;#039;&amp;#039; and args.parent4) or nil&lt;br /&gt;
    local origin         = (args.origin     ~= &amp;#039;&amp;#039; and args.origin) or nil&lt;br /&gt;
    local taxonImage     = args.image or &amp;#039;&amp;#039;&lt;br /&gt;
    local imageTitle     = args.imageTitle or &amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
    -- local synHomoBoo     = false&lt;br /&gt;
    -- -- Végignézzük az összes paramétert&lt;br /&gt;
    -- for k, v in pairs(args) do&lt;br /&gt;
    --     -- 1. Csak a szöveges értékeket nézzük (v)&lt;br /&gt;
    --     -- 2. Megtisztítjuk az esetleges szóközöktől és újsoroktól&lt;br /&gt;
    --     if type(v) == &amp;quot;string&amp;quot; then&lt;br /&gt;
    --         local cleanV = v:match(&amp;quot;^%s*(.-)%s*$&amp;quot;)&lt;br /&gt;
    --         if cleanV == &amp;#039;synhomo&amp;#039; then&lt;br /&gt;
    --             synHomoBoo = true&lt;br /&gt;
    --             break&lt;br /&gt;
    --         elseif cleanV == &amp;#039;synhetero&amp;#039; then&lt;br /&gt;
    --             synHomoBoo = false&lt;br /&gt;
    --             break&lt;br /&gt;
    --         end&lt;br /&gt;
    --     end&lt;br /&gt;
    -- end&lt;br /&gt;
&lt;br /&gt;
    local output = &amp;quot;&amp;quot;&lt;br /&gt;
    local clean_formatted_cultivarName = &amp;quot;&amp;quot;&lt;br /&gt;
    local clean_plain_cultivarName = &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    -- cultivarName ----------------------------------&lt;br /&gt;
    if cultivarName then&lt;br /&gt;
        local hierarchy = {}&lt;br /&gt;
        local taxonName = cultivarName&lt;br /&gt;
        -- local parentOverride = args.parent&lt;br /&gt;
        local parentOverride = parentName&lt;br /&gt;
&lt;br /&gt;
        while taxonName and taxonName ~= &amp;quot;&amp;quot; and taxonName ~= &amp;quot;nil&amp;quot; do&lt;br /&gt;
            local _, cleanNameForLookup = TaxonBox.format_taxon_clean(taxonName)&lt;br /&gt;
            local data = TaxonBox[cleanNameForLookup]&lt;br /&gt;
&lt;br /&gt;
            if data then&lt;br /&gt;
                table.insert(hierarchy, { rank = data.rank, name = taxonName })&lt;br /&gt;
                taxonName = data.parent&lt;br /&gt;
            else&lt;br /&gt;
                -- KULTIVÁR/FAJ FELISMERÉS: &lt;br /&gt;
                -- Keressük a nemzetséget (első szó) és a többit&lt;br /&gt;
                local genus_part, rest_part = taxonName:match(&amp;quot;^([%a%-]+)%s+(.+)$&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
                if genus_part and rest_part then&lt;br /&gt;
                    -- Ha a maradék idézőjelben van (kultivár) vagy kisbetűvel kezdődik (faj)&lt;br /&gt;
                    if rest_part:match(&amp;quot;^[&amp;#039;\&amp;quot;].+[&amp;#039;\&amp;quot;]&amp;quot;) or rest_part:match(&amp;quot;^[a-z×]&amp;quot;) then&lt;br /&gt;
                        local actual_parent = (parentOverride ~= &amp;#039;&amp;#039; and parentOverride) or genus_part&lt;br /&gt;
                        &lt;br /&gt;
                        -- Meghatározzuk a rangot: ha van idézőjel, akkor Kultivár, egyébként Faj&lt;br /&gt;
                        local current_rank = rest_part:match(&amp;quot;^[&amp;#039;\&amp;quot;].+[&amp;#039;\&amp;quot;]&amp;quot;) and &amp;quot;Kultivár&amp;quot; or &amp;quot;Faj&amp;quot;&lt;br /&gt;
                        &lt;br /&gt;
                        table.insert(hierarchy, { rank = current_rank, name = taxonName })&lt;br /&gt;
                        taxonName = actual_parent&lt;br /&gt;
                    else&lt;br /&gt;
                        break -- Nem faj, nem kultivár, és nincs az adatbázisban&lt;br /&gt;
                    end&lt;br /&gt;
                else&lt;br /&gt;
                    break&lt;br /&gt;
                end&lt;br /&gt;
            end&lt;br /&gt;
        end&lt;br /&gt;
&lt;br /&gt;
        if #hierarchy == 0 then&lt;br /&gt;
            return &amp;#039;&amp;lt;div style=&amp;quot;color:red;&amp;quot;&amp;gt;Cultivarbox hiba: Nem található adat a &amp;quot;&amp;#039; .. tostring(cultivarName) .. &amp;#039;&amp;quot; taxonhoz.&amp;lt;/div&amp;gt;&amp;#039;&lt;br /&gt;
        end&lt;br /&gt;
&lt;br /&gt;
        -- Itt kapja meg a két értéket&lt;br /&gt;
&lt;br /&gt;
        -- &amp;quot;if cultivarName then&amp;quot; blokkon kívűl deklarálva, hogy a többi if blokkban is elérhető legyen&lt;br /&gt;
        clean_formatted_cultivarName, clean_plain_cultivarName = TaxonBox.format_taxon_clean(cultivarName)&lt;br /&gt;
&lt;br /&gt;
        output = output ..&amp;#039;{| class=&amp;quot;infobox biota cv&amp;quot;\n&amp;#039;&lt;br /&gt;
        output = output .. &amp;quot;|-\n&amp;quot;&lt;br /&gt;
        output = output .. &amp;#039;! class=&amp;quot;taxonnev&amp;quot; colspan=&amp;quot;2&amp;quot; | &amp;#039; .. clean_formatted_cultivarName .. &amp;quot;\n&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        output = output .. &amp;quot;|-\n&amp;quot;&lt;br /&gt;
        output = output .. &amp;#039;! class=&amp;quot;suha-svg&amp;quot; colspan=&amp;quot;2&amp;quot;|[[Fájl:cv.svg|x160px|link=]]&amp;lt;br&amp;gt;Kultivár, termesztett változat.\n&amp;#039;&lt;br /&gt;
&lt;br /&gt;
        if taxonImage ~= &amp;#039;&amp;#039; then&lt;br /&gt;
            output = output .. &amp;#039;|-\n&amp;#039;&lt;br /&gt;
            output = output .. &amp;#039;! class=&amp;quot;suha-svg&amp;quot; colspan=&amp;quot;2&amp;quot;|[[Fájl:&amp;#039; .. taxonImage .. &amp;#039;|340px|&amp;#039; .. imageTitle .. &amp;#039;]]\n&amp;#039;&lt;br /&gt;
        end&lt;br /&gt;
&lt;br /&gt;
        output = output .. &amp;#039;|-\n&amp;#039;&lt;br /&gt;
        output = output .. &amp;#039;! class=&amp;quot;besorolas&amp;quot; colspan=&amp;quot;2&amp;quot;|Rendszertani besorolás\n&amp;#039;&lt;br /&gt;
&lt;br /&gt;
        for i = #hierarchy, 1, -1 do&lt;br /&gt;
            local item = hierarchy[i]&lt;br /&gt;
            local rank_display = item.rank&lt;br /&gt;
&lt;br /&gt;
            -- Itt kapja meg a két értéket&lt;br /&gt;
            local clean_formatted, clean_plain = TaxonBox.format_taxon_clean(item.name)&lt;br /&gt;
&lt;br /&gt;
            local name_display = &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
            -- Kategória hivatkozás tisztított névvel&lt;br /&gt;
            if item.rank == &amp;quot;Faj&amp;quot; then&lt;br /&gt;
                name_display = clean_formatted&lt;br /&gt;
            else&lt;br /&gt;
                -- Megkeressük az alapnevet a kategória linkhez (szerzők nélkül)&lt;br /&gt;
                local category_target = item.name:match(&amp;quot;^([%a%-%.%s×]+)&amp;quot;) or item.name -- ide nem biztos, hogy kell a × jel&lt;br /&gt;
                if item.rank == &amp;quot;Nemzetség&amp;quot; then&lt;br /&gt;
                    -- A nemzetség kategória linkhez a clean_formatted változót használjuk&lt;br /&gt;
                    name_display = &amp;quot;[[:Kategória:&amp;quot; .. clean_plain .. &amp;quot;|&amp;quot; .. clean_formatted .. &amp;quot;]]&amp;quot;&lt;br /&gt;
                else&lt;br /&gt;
                    -- A kategória linkhez a plain (formázás mentes) változót használjuk&lt;br /&gt;
                    name_display = &amp;quot;[[:Kategória:&amp;quot; .. clean_plain .. &amp;quot;|&amp;quot; .. clean_plain .. &amp;quot;]]&amp;quot;&lt;br /&gt;
                end&lt;br /&gt;
            end&lt;br /&gt;
&lt;br /&gt;
            if rank_display == &amp;quot;Nemzetségcsoport&amp;quot; then rank_display = &amp;quot;Nemzetség-&amp;lt;br&amp;gt;csoport&amp;quot; end&lt;br /&gt;
            if rank_display == &amp;quot;Alnemzetségcsoport&amp;quot; then rank_display = &amp;quot;Alnemzetség-&amp;lt;br&amp;gt;csoport&amp;quot; end&lt;br /&gt;
&lt;br /&gt;
            output = output .. &amp;#039;|-\n&amp;#039;&lt;br /&gt;
            output = output .. &amp;#039;| class = &amp;quot;left&amp;quot; | &amp;#039; .. rank_display .. &amp;#039;\n&amp;#039;&lt;br /&gt;
            output = output .. &amp;#039;| class = &amp;quot;right&amp;quot; | &amp;#039; .. name_display .. &amp;#039;\n&amp;#039;&lt;br /&gt;
        end&lt;br /&gt;
&lt;br /&gt;
        if hierarchy[1] and hierarchy[1].rank == &amp;quot;Faj&amp;quot; then&lt;br /&gt;
            local encodedTerm = mw.uri.encode(clean_plain_cultivarName)&lt;br /&gt;
            -- local encodedTerm = mw.uri.encode(clean_plain)&lt;br /&gt;
            output = output .. &amp;#039;|-\n&amp;#039;&lt;br /&gt;
            output = output .. &amp;#039;!colspan=&amp;quot;2&amp;quot; class=&amp;quot;taxobox-icons&amp;quot; |&amp;#039;&lt;br /&gt;
            output = output .. &amp;#039;[[Fájl:Google logo gyz.svg|x30px|link=http://images.google.com/search?tbm=isch&amp;amp;q=&amp;#039; .. encodedTerm .. &amp;#039;|Google képek]] &amp;#039;&lt;br /&gt;
            output = output .. &amp;#039;[[Fájl:Bing fluent logo gyz.svg|x30px|link=https://www.bing.com/images/search?q=&amp;#039; .. encodedTerm .. &amp;#039;|Bing képek]]\n&amp;#039;&lt;br /&gt;
        end&lt;br /&gt;
&lt;br /&gt;
        output = output .. &amp;#039;|}\n&amp;#039;&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    -- synonymName ----------------------------------&lt;br /&gt;
    if synonymName then&lt;br /&gt;
        local syn_hierarchy = {}&lt;br /&gt;
        local taxonName2 = synonymName&lt;br /&gt;
        table.insert(syn_hierarchy, { rank = &amp;quot;Faj&amp;quot;, name = taxonName2 })&lt;br /&gt;
&lt;br /&gt;
        if #syn_hierarchy == 0 then&lt;br /&gt;
            return &amp;#039;&amp;lt;div style=&amp;quot;color:red;&amp;quot;&amp;gt;Cultivarbox hiba: Nem található adat a &amp;quot;&amp;#039; .. tostring(synonymName) .. &amp;#039;&amp;quot; taxonhoz.&amp;lt;/div&amp;gt;&amp;#039;&lt;br /&gt;
        end&lt;br /&gt;
&lt;br /&gt;
        -- 1. Kinyerjük a faji jelzőket (pl. &amp;quot;leucanthum&amp;quot; és &amp;quot;leucantha&amp;quot;)&lt;br /&gt;
        local _, accEpithetFull = cultivarName:match(&amp;quot;^([%a%-]+)%s+([%a%-]+)&amp;quot;)&lt;br /&gt;
        local _, synEpithetFull = synonymName:match(&amp;quot;^([%a%-]+)%s+([%a%-]+)&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
        local synType = &amp;quot;Taxonómiai (heterotipikus)&amp;quot;  -- Alapértelmezett&lt;br /&gt;
        local synHeteroBoo = true                     -- Alapértelmezett&lt;br /&gt;
&lt;br /&gt;
        if accEpithetFull and synEpithetFull then&lt;br /&gt;
            -- 2. Levágjuk a végződéseket (szótő kinyerése: pl. &amp;quot;leucanth&amp;quot;)&lt;br /&gt;
            -- A minta levágja az -um, -a, -us, -is végződéseket&lt;br /&gt;
            local accStem = accEpithetFull:gsub(&amp;quot;[uais][ms%a]*$&amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
            local synStem = synEpithetFull:gsub(&amp;quot;[uais][ms%a]*$&amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
            -- 3. Ha a szótövek egyeznek, akkor nomenklatúrális&lt;br /&gt;
            if accStem == synStem then&lt;br /&gt;
                synType         = &amp;quot;Nomenklatúrális (homotipikus)&amp;quot;&lt;br /&gt;
                synHeteroBoo    = false&lt;br /&gt;
            end&lt;br /&gt;
&lt;br /&gt;
            if synHomoBoo then&lt;br /&gt;
                synType         = &amp;quot;Nomenklatúrális (homotipikus)&amp;quot;&lt;br /&gt;
                synHeteroBoo    = false&lt;br /&gt;
            else -- synHomoBoo == false&lt;br /&gt;
                synType = &amp;quot;Taxonómiai (heterotipikus)&amp;quot;&lt;br /&gt;
                synHeteroBoo = true&lt;br /&gt;
            end&lt;br /&gt;
        end&lt;br /&gt;
&lt;br /&gt;
        -- Itt kapja meg a két értéket&lt;br /&gt;
        local clean_formatted_synonymName, clean_plain_synonymName = TaxonBox.format_taxon_clean(synonymName)&lt;br /&gt;
&lt;br /&gt;
        -- Folytatjuk az cultivarName output-ot&lt;br /&gt;
        output = output .. &amp;#039;{| class=&amp;quot;infobox biota syn&amp;quot;\n&amp;#039;&lt;br /&gt;
        output = output .. &amp;quot;|-\n&amp;quot;&lt;br /&gt;
        output = output .. &amp;#039;! class=&amp;quot;taxonnev&amp;quot; colspan=&amp;quot;2&amp;quot; | &amp;#039; .. clean_formatted_synonymName .. &amp;quot;\n&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        output = output .. &amp;quot;|-\n&amp;quot;&lt;br /&gt;
        if synHeteroBoo then&lt;br /&gt;
            output = output .. &amp;#039;! class=&amp;quot;suha-svg&amp;quot; colspan=&amp;quot;2&amp;quot;|[[Fájl:syn.svg|x160px|link=]]&amp;lt;br&amp;gt;&amp;#039; .. synType .. &amp;#039; szinonima.&amp;lt;br&amp;gt;Az érvényes leírást lásd itt:&amp;lt;br&amp;gt;[[&amp;#039; .. clean_plain_cultivarName .. &amp;#039;|&amp;#039; .. clean_formatted_cultivarName .. &amp;#039;]]\n&amp;#039;&lt;br /&gt;
        else&lt;br /&gt;
            output = output .. &amp;#039;! class=&amp;quot;suha-svg&amp;quot; colspan=&amp;quot;2&amp;quot;|[[Fájl:syn.svg|x160px|link=]]&amp;lt;br&amp;gt;&amp;#039; .. synType .. &amp;#039; szinonima\n&amp;#039;&lt;br /&gt;
        end&lt;br /&gt;
&lt;br /&gt;
        output = output .. &amp;#039;|-\n&amp;#039;&lt;br /&gt;
        output = output .. &amp;#039;! class=&amp;quot;besorolas&amp;quot; colspan=&amp;quot;2&amp;quot;|Rendszertani besorolás\n&amp;#039;&lt;br /&gt;
&lt;br /&gt;
        for i = #syn_hierarchy, 1, -1 do&lt;br /&gt;
            local item = syn_hierarchy[i]&lt;br /&gt;
            local rank_display = item.rank&lt;br /&gt;
&lt;br /&gt;
            -- Itt kapja meg a két értéket&lt;br /&gt;
            local clean_formatted, clean_plain = TaxonBox.format_taxon_clean(item.name)&lt;br /&gt;
&lt;br /&gt;
            local name_display = &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
            -- Kategória hivatkozás tisztított névvel&lt;br /&gt;
            if item.rank == &amp;quot;Faj&amp;quot; then&lt;br /&gt;
                name_display = clean_formatted&lt;br /&gt;
                output = output .. &amp;#039;|-\n&amp;#039;&lt;br /&gt;
                output = output .. &amp;#039;| class = &amp;quot;left&amp;quot; | &amp;#039; .. rank_display .. &amp;#039;\n&amp;#039;&lt;br /&gt;
                output = output .. &amp;#039;| class = &amp;quot;right&amp;quot; | &amp;#039; .. name_display .. &amp;#039;\n&amp;#039;&lt;br /&gt;
            end&lt;br /&gt;
        end&lt;br /&gt;
&lt;br /&gt;
        -- if syn_hierarchy[1] and syn_hierarchy[1].rank == &amp;quot;Faj&amp;quot; then&lt;br /&gt;
        --     local encodedTerm = mw.uri.encode(synonymName)&lt;br /&gt;
        --     output = output .. &amp;#039;|-\n&amp;#039;&lt;br /&gt;
        --     output = output .. &amp;#039;!colspan=&amp;quot;2&amp;quot; class=&amp;quot;taxobox-icons&amp;quot; |&amp;#039;&lt;br /&gt;
        --     output = output .. &amp;#039;[[Fájl:Google logo gyz.svg|x30px|link=http://images.google.com/search?tbm=isch&amp;amp;q=&amp;#039; .. encodedTerm .. &amp;#039;|Google képek]] &amp;#039;&lt;br /&gt;
        --     output = output .. &amp;#039;[[Fájl:Bing fluent logo gyz.svg|x30px|link=https://www.bing.com/images/search?q=&amp;#039; .. encodedTerm .. &amp;#039;|Bing képek]]\n&amp;#039;&lt;br /&gt;
        -- end&lt;br /&gt;
&lt;br /&gt;
        output = output .. &amp;#039;|}\n&amp;#039;&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    return output&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------------------&lt;br /&gt;
function p.format_tudomanyos_nev(frame)&lt;br /&gt;
    local args = frame:getParent().args&lt;br /&gt;
    local names = {&lt;br /&gt;
        { val = args.cultivar,   class = &amp;quot;tnb tnb-cv&amp;quot;,      class2 = &amp;quot;tns tns-cv&amp;quot;,      txt= &amp;quot;kultivár&amp;quot;},&lt;br /&gt;
        { val = args.synonym,    class = &amp;quot;tnb tnb-syn&amp;quot;,     class2 = &amp;quot;tns tns-syn&amp;quot;,     txt= &amp;quot;szinonima név&amp;quot;},&lt;br /&gt;
        { val = args.hybrid,     class = &amp;quot;tnb tnb-hyb&amp;quot;,     class2 = &amp;quot;tns tns-hyb&amp;quot;,     txt= &amp;quot;hibrid név&amp;quot;}&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    local output = &amp;#039;== Tudományos név ==\n&amp;#039;&lt;br /&gt;
    output = output .. &amp;#039;&amp;lt;div class=&amp;quot;tn&amp;quot;&amp;gt;\n&amp;#039;&lt;br /&gt;
    for _, n in ipairs(names) do&lt;br /&gt;
        if n.val and n.val ~= &amp;#039;&amp;#039; then&lt;br /&gt;
            output = output .. &amp;#039;* &amp;lt;span class=&amp;quot;&amp;#039; .. n.class .. &amp;#039;&amp;quot;&amp;gt;&amp;#039; .. TaxonBox.format_taxon_full(n.val) .. &amp;#039;&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&amp;lt;span class=&amp;quot;&amp;#039; .. n.class2 .. &amp;#039;&amp;quot;&amp;gt;&amp;#039; .. (n.txt) .. &amp;#039;&amp;lt;/span&amp;gt;\n&amp;#039;&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    output = output .. &amp;#039;&amp;lt;/div&amp;gt;\n&amp;#039;&lt;br /&gt;
    return output&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- ==========================================================&lt;br /&gt;
-- OFFLINE TESZTELŐ SZAKASZ&lt;br /&gt;
-- ==========================================================&lt;br /&gt;
if arg then&lt;br /&gt;
    mw = { uri = { encode = function(s) return s:gsub(&amp;quot; &amp;quot;, &amp;quot;%%20&amp;quot;) end } }&lt;br /&gt;
    local mock_frame = {&lt;br /&gt;
        getParent = function()&lt;br /&gt;
            return {&lt;br /&gt;
                args = {&lt;br /&gt;
                    cultivar    = arg[1] or &amp;quot;Dracaena &amp;#039;Sammurai&amp;#039;&amp;quot;,&lt;br /&gt;
                    synonym     = arg[1] or &amp;quot;Sanseviera &amp;#039;Sammurai&amp;#039;&amp;quot;,&lt;br /&gt;
                    -- &amp;quot;synhomo&amp;quot;,&lt;br /&gt;
                    -- &amp;quot;synhetero&amp;quot;,&lt;br /&gt;
                    -- image       = &amp;quot;test.jpg&amp;quot;,&lt;br /&gt;
                    -- imageTitle  = &amp;quot;Teszt kép&amp;quot;&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        end&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    print(&amp;quot;\n--- Cultivarbox GENERÁLT WIKITEXT ---&amp;quot;)&lt;br /&gt;
    local success, result = pcall(p.buildCultivarbox, mock_frame)&lt;br /&gt;
    print(success and result or &amp;quot;HIBA: &amp;quot; .. result)&lt;br /&gt;
&lt;br /&gt;
    print(&amp;quot;\n--- TUDOMÁNYOS NÉV SZAKASZ ---&amp;quot;)&lt;br /&gt;
    local success2, result2 = pcall(p.format_tudomanyos_nev, mock_frame)&lt;br /&gt;
    print(success2 and result2 or &amp;quot;HIBA: &amp;quot; .. result2)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- ==========================================================&lt;br /&gt;
-- ONLINE HASZNÁLAT&lt;br /&gt;
-- ==========================================================&lt;br /&gt;
&lt;br /&gt;
-- {{Cultivarbox&lt;br /&gt;
-- | accepted = Astrophytum coahuilense&lt;br /&gt;
-- | synonym = Astrophytum myriostigma var. coahuilense&lt;br /&gt;
-- | synhomo v. synhetero&lt;br /&gt;
-- | image = test.jpg&lt;br /&gt;
-- | imageTitle  = &amp;quot;Teszt kép&amp;quot;&lt;br /&gt;
-- }}&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Dr. Gyúró Zoltán</name></author>
	</entry>
</feed>