Modulo a supporto del template {{Tassobox}}.

Ha una sottopagina di configurazione: Modulo:Tassobox/Configurazione.


--[[  
Questo modulo è in appoggio al template Tassobox, per il richiamo di un'immagine
di file mancante appropriata al regno/phylum/classe/ordine/ecc della voce in cui è inserito
]]

local p = {}

--Tabella di corrispondenza tra valore e file da richiamare
local missing_table ={
    ['[[coleoptera]]'] = 'File:Missing Coleoptera.png',
    ['[[diptera]]'] = 'File:Missing Diptera.png',
    ['[[hymenoptera]]'] = 'File:Missing Hymenoptera.png',
    ['[[lepidoptera]]'] = 'File:Missing Lepidoptera.png',
    ['[[rhynchota]]'] = 'File:Missing Rhynchota.png',
    ['[[artiodactyla]]'] = 'File:Missing Artiodactyla.png',
    ['[[carnivora]]'] = 'File:Missing Carnivora.png',
    ['[[cetacea]]'] = 'File:Missing Cetacea.png',
    ['[[cingulata]]'] = 'File:Missing Cingulata.png',
    ['[[chiroptera]]'] = 'File:Missing Chiroptera.png',
    ['[[diprotodontia]]'] = 'File:Missing Diprotodontia.png',
    ['[[dasyuromorphia]]'] = 'File:Missing Dasyuromorphia.png',
    ['[[peramelemorphia]]'] = 'File:Missing Peramelemorphia.png',
    ['[[didelphimorphia]]'] = 'File:Missing Didelphimorphia.png',
    ['[[lagomorpha]]'] = 'File:Missing Lagomorpha.png',
    ['[[perissodactyla]]'] = 'File:Missing Perissodactyla.png',
    ['[[pilosa]]'] = 'File:Missing Pilosa.png',
    ['[[proboscidea]]'] = 'File:Missing Proboscidea.png',
    ['[[primates]]'] = 'File:Missing Primates.png',
    ['[[rodentia]]'] = 'File:Missing Rodentia.png',
    ['[[soricomorpha]]'] = 'File:Missing Soricomorpha.png',
    ['[[actinopterygii]]'] = 'File:Missing Actinopterygii.png',
    ['[[amphibia]]'] = 'File:Missing Amphibia.png',
    ['[[arachnida]]'] = 'File:Missing Arachnida.png',
    ['[[aves]]'] = 'File:Missing Aves.png',
    ['[[chondrichthyes]]'] = 'File:Missing Chondrichthyes.png',
    ['[[gastropoda]]'] = 'File:Missing Gastropoda.png',
    ['[[diapsida]]'] = 'File:Missing Dinosauria.png',
    ['[[reptilia]]'] = 'File:Missing Reptilia.png',
    ['[[lacertilia]]'] = 'File:Missing Sauria.png',
    ['[[sauria]]'] = 'File:Missing Sauria.png',
    ['[[serpentes]]'] = 'File:Missing Reptilia.png',
    ['[[testudines]]'] = 'File:Missing Testudines.png',
    ['[[crocodilia]]'] = 'File:Missing Crocodilia.png',
    ['[[crocodylia]]'] = 'File:Missing Crocodilia.png',
    ['[[hexapoda]]'] = 'File:Missing Hexapoda.png',
    ['[[mammalia]]'] = 'File:Missing Mammalia.png',
    ['[[crustacea]]'] = 'File:Missing Crustacea.png',
    ['[[arthropoda]]'] = 'File:Missing Arthropoda.png',
    ['[[annelida]]'] = 'File:Missing Annelida.png',
    ['[[anthozoa]]'] = 'File:Missing Anthozoa.png',
    ['[[cnidaria]]'] = 'File:Missing Cnidaria.png',
    ['[[echinodermata]]'] = 'File:Missing Echinodermata.png',
    ['[[animalia]]'] = 'File:Animalia missing.png',
    ['[[plantae]]'] = 'File:Plantae missing 1.png',
    ['[[fungi]]'] = 'File:Fungi missing.png',
    ['[[archaea]]'] = 'File:Bacteria missing.png',
    ['[[bacteria]]'] = 'File:Bacteria missing.png',
    ['[[protista]]'] = 'File:Protista missing 1.png',
    ['[[chromista]]'] = 'File:Protista missing 1.png',
    ['[[acytota]]'] = 'File:Acytota missing.png',
    ['[[cycadophyta]]'] = 'File:Missing Cycadophyta.png',
    ['[[magnoliophyta]]'] = 'File:Missing Magnoliophyta.png',
    ['[[charophyta]]'] = 'File:Missing Charophyta.png',
    ['[[pteridophyta]]'] = 'File:Missing Pteridophyta.png',
    ['[[pinophyta]]'] = 'File:Missing Pinophyta.png',
    ['[[chlorophyta]]'] = 'File:Missing Chlorophyta.png',
    ['[[rhodophyta]]'] = 'File:Missing Rhodophyta.png'
    }

local function check_value(valore)
    if valore == nil then
        return nil
    else
        return missing_table[mw.ustring.lower(valore)]
    end
end

function p.missing_image(frame)
    -- Richiama i parametri originali del template
    local pframe = frame:getParent()
    -- testa in ordine dal più specifico al più generico la classificazione di un essere vivente
    -- se non trova il valore nella tabella ricade nell'immagine di default
    missing_link = check_value(pframe.args["sottordine"]) or check_value(pframe.args["ordine"]) or check_value(pframe.args["classe"]) or  check_value(pframe.args["superclasse"]) or
                   check_value(pframe.args["subphylum"]) or check_value(pframe.args["phylum"]) or check_value(pframe.args["divisione"]) or  
                   check_value(pframe.args["regno"]) or check_value(pframe.args["dominio"]) or "File:Unknown missing 1.png"
    return '[[' .. missing_link ..'|220px|Immagine di ' .. mw.title.getCurrentTitle().text .. ' mancante]]'
end

return p