Subversion Repositories eFlore/Applications.eflore-consultation

Rev

Rev 43 | Go to most recent revision | Blame | Last modification | View Log | RSS feed

<?php
class RechercheSimple extends aControleur {
        
        //+----------------------------------------------------------------------------------------------------------------+
        // Méthodes
        /**
         * Fonction d'affichage par défaut
         */
        
        
        public function executerActionParDefaut() {
                if (isset($_GET['referentiel'])) {
                        Registre::set('parametres.referentiel', $_GET['referentiel']);
                }
                $this->executerAccueil();
        }
        
        public function executerAccueil() {
                $donnees = array();
                $donnees['i18n'] = I18n::get('Recherche-accueil');
                
                $donnees['referentiel_titre'] = I18n::get('Referentiels-titres.'.Config::get('referentiel'));
                
                $donnees['form_nom'] = $this->executerFormulaireNom();
                
                $this->setSortie(self::RENDU_CORPS, $this->getVue('recherche_accueil', $donnees));
        }
        
        public function executerFormulaireNom() {
                $donnees['eflore_type_nom'] = 'nom_vernaculaire';
                $donnees['i18n'] = I18n::get('Recherche-form-nom');
                $donnees['url_js'] = Config::get('url_js');
                
                return $this->getVue('form_nom', $donnees);
        }
        
        public function executerRechercheNom() {
                if ($_GET['eflore_nom'] == '') {
                        $donnees['information'] = 'Veuillez saisir un radical contenant au moins 3 caractères alphabétiques !';
                } elseif ($_GET['eflore_type_nom'] == 'nom_vernaculaire') {
                        $noms = new NomsVernaculaires(Config::get('referentielVerna'));
                        $donnees['nom_approche'] = $this->rechercherNom($noms);
                } else {
                        $noms = new Noms(Registre::get('parametres.referentiel'));
                        $donnees['nom_approche'] = $this->rechercherNom($noms);
                }
                if (isset($donnees)) {
                        $donnees['eflore_type_nom'] = $_GET['eflore_type_nom'];
                        $donnees['i18n'] = I18n::get('Recherche-accueil');
                        $donnees['referentiel_titre'] = I18n::get('Referentiels-titres.'.Config::get('referentiel'));
                        
                        $donnees['i18n'] = I18n::get('Recherche-form-nom');
                        $donnees['url_js'] = Config::get('url_js');
                        
                        $donnees['form_nom'] = $this->getVue('form_nom', $donnees);
                        $this->setSortie(self::RENDU_CORPS, $this->getVue('recherche_accueil', $donnees));
                } else {
                        // envoyerResultat;
                }
        }
        
        public function rechercherNom($noms) {
                $noms_approches = '';
                $res = $noms->getRechercheEtendue($_GET['eflore_nom']); //print_r($res);
                if ($res == false || $res->entete->total == 0) {
                        $res = $noms->getRechercheFloue($_GET['eflore_nom']);
                        if (!($res == false || $res->entete->total == 0)) {
                                $res = (array) $res->resultat;
                                $noms_appr = array_shift($res); //print_r($noms_appr);
                                /*foreach ($res->resultat as $id=>$nom) {
                                        $noms_approches[$id]['nom'] = ($_GET['eflore_type_nom'] == 'nom_vernaculaire') ? $nom->nom : $nom->nom_sci;
                                        $noms_approches[$id]['url'] = $nom->href;
                                }*/
                        }
                }
                return $noms_approches;
        }
}
?>