Subversion Repositories eFlore/Archives.eflore-consultation-v2

Rev

Rev 170 | Blame | Compare with Previous | Last modification | View Log | RSS feed

<?php
class NOM_RECHERCHE extends macroElement {
    function getSQL()
    {
        $contexte = array();
        if (array_key_exists('radical', $this->contexteRef) AND array_key_exists('rang', $this->contexteRef) ) {
            $contexte['radical'] = $this->contexteRef['radical'];
            $contexte['rang'] = $this->contexteRef['rang'];
            if(!empty($contexte['radical']) AND !empty($contexte['rang']) ) {
                return 
                'SELECT 
                nom.en_id_nom,
                nom.en_nom_supra_generique,
                nom.en_nom_genre,
                nom.en_epithete_infra_generique,
                nom.en_epithete_espece,
                nom. en_epithete_infra_specifique,
                auteur_bex. enaia_intitule_naturaliste_abrege AS intitule_abrege_auteur_basio_ex,
                auteur_b. enaia_intitule_naturaliste_abrege AS intitule_abrege_auteur_basio,
                auteur_mex.enaia_intitule_naturaliste_abrege AS intitule_abrege_auteur_modif_ex,
                auteur_m.enaia_intitule_naturaliste_abrege AS intitule_abrege_auteur_modif,
                citation.enci_intitule_complet_citation,
                intitule.eni_intitule_nom ,
                commentaire.enic_intitule_cn_complet
                
                FROM 
                eflore_nom_intitule AS intitule,
                eflore_nom AS nom,
                eflore_naturaliste_intitule_abreviation AS auteur_bex,
                eflore_naturaliste_intitule_abreviation AS auteur_b,
                eflore_naturaliste_intitule_abreviation AS auteur_mex,
                eflore_naturaliste_intitule_abreviation AS auteur_m,
                eflore_nom_citation AS citation,
                eflore_nom_intitule_commentaire AS commentaire
                
                WHERE 
                intitule.eni_intitule_nom LIKE "'.$contexte['radical'].'" 
                AND intitule.eni_id_categorie_format = 3 
                AND intitule.eni_id_valeur_format = 5 
                AND intitule.eni_id_nom = nom.en_id_nom 
                AND nom.en_ce_auteur_basio_ex = auteur_bex.enaia_id_intitule_naturaliste_abrege 
                AND nom.en_ce_auteur_basio = auteur_b.enaia_id_intitule_naturaliste_abrege 
                AND nom.en_ce_auteur_modif_ex = auteur_mex.enaia_id_intitule_naturaliste_abrege 
                AND nom.en_ce_auteur_modif = auteur_m.enaia_id_intitule_naturaliste_abrege 
                AND nom.en_ce_citation_initiale = citation.enci_id_citation 
                AND nom.en_ce_intitule_cn = commentaire.enic_id_intitule_cn 
                AND nom.en_id_nom = commentaire.enic_id_intitule_cn 
                AND nom.en_ce_rang = '.$contexte['rang'];
            }
        }
        if (array_key_exists('radical', $this->contexteRef) AND array_key_exists('nvp', $this->contexteRef) ) {
            $contexte['radical'] = $this->contexteRef['radical'];
            $contexte['nvp'] = $this->contexteRef['nvp'];
            if(!empty($contexte['radical']) AND !empty($contexte['nvp']) ) {
                return 
                    'SELECT 
                    nom.*, 
                    intitule.eni_intitule_nom, 
                    selection.esn_ce_statut, 
                    selection.esn_id_version_projet_taxon 
                    
                    FROM 
                    eflore_nom_intitule AS intitule, 
                    eflore_nom AS nom, 
                    eflore_selection_nom AS selection 
                    
                    WHERE 
                    intitule.eni_intitule_nom LIKE "'.$contexte['radical'].'"
                    AND intitule.eni_id_categorie_format = 3 
                    AND intitule.eni_id_valeur_format = 4 
                    AND nom.en_id_nom = intitule.eni_id_nom 
                    AND nom.en_id_nom = selection.esn_id_nom 
                    AND selection.esn_id_version_projet_taxon = '.$contexte['nvp'];
            }
        }
        if (array_key_exists('radical', $this->contexteRef) ) {
            $contexte['radical'] = $this->contexteRef['radical'];
            if(!empty($contexte['radical']) ) {
                return 
                    'SELECT 
                    nom.*, intitule.eni_intitule_nom 
                    
                    FROM 
                    eflore_nom_intitule AS intitule, 
                    eflore_nom AS nom 
                    
                    WHERE 
                    intitule.eni_intitule_nom LIKE "'.$contexte['radical'].'"
                    AND intitule.eni_id_categorie_format = 3 
                    AND intitule.eni_id_valeur_format = 4 
                    AND nom.en_id_nom = intitule.eni_id_nom';
            }
        }
        return null;
    }
}
?>