Subversion Repositories eFlore/Applications.eflore-consultation

Rev

Rev 53 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
33 jpm 1
<?php
2
class RechercheSimple extends aControleur {
3
 
4
	//+----------------------------------------------------------------------------------------------------------------+
5
	// Méthodes
6
	/**
7
	 * Fonction d'affichage par défaut
8
	 */
53 delphine 9
 
10
 
33 jpm 11
	public function executerActionParDefaut() {
53 delphine 12
		if (isset($_GET['referentiel'])) {
13
			Registre::set('parametres.referentiel', $_GET['referentiel']);
14
		}
33 jpm 15
		$this->executerAccueil();
16
	}
17
 
18
	public function executerAccueil() {
19
		$donnees = array();
20
		$donnees['i18n'] = I18n::get('Recherche-accueil');
21
 
22
		$donnees['referentiel_titre'] = I18n::get('Referentiels-titres.'.Config::get('referentiel'));
23
 
24
		$donnees['form_nom'] = $this->executerFormulaireNom();
25
 
26
		$this->setSortie(self::RENDU_CORPS, $this->getVue('recherche_accueil', $donnees));
27
	}
28
 
29
	public function executerFormulaireNom() {
43 delphine 30
		$donnees['eflore_type_nom'] = 'nom_vernaculaire';
33 jpm 31
		$donnees['i18n'] = I18n::get('Recherche-form-nom');
32
		$donnees['url_js'] = Config::get('url_js');
33
 
34
		return $this->getVue('form_nom', $donnees);
35
	}
36
 
43 delphine 37
	public function executerRechercheNom() {
54 delphine 38
		if (strlen($_GET['eflore_nom']) < 3) {
43 delphine 39
			$donnees['information'] = 'Veuillez saisir un radical contenant au moins 3 caractères alphabétiques !';
40
		} else {
54 delphine 41
			$noms = ($_GET['eflore_type_nom'] == 'nom_vernaculaire')
42
				? new NomsVernaculaires(Config::get('referentielVerna'))
43
				: new Noms(Registre::get('parametres.referentiel'));
44
			$presence = $this->rechercherNom($noms);
45
			if ($presence == '') {
46
				$donnees['information'] = 'Nom inconnu';
47
			} elseif ($presence != 'ok') {
48
				$donnees['nom_approche'] = $presence;
49
			}
43 delphine 50
		}
54 delphine 51
 
52
 
43 delphine 53
		if (isset($donnees)) {
54
			$donnees['eflore_type_nom'] = $_GET['eflore_type_nom'];
55
			$donnees['i18n'] = I18n::get('Recherche-accueil');
56
			$donnees['referentiel_titre'] = I18n::get('Referentiels-titres.'.Config::get('referentiel'));
57
 
58
			$donnees['i18n'] = I18n::get('Recherche-form-nom');
59
			$donnees['url_js'] = Config::get('url_js');
54 delphine 60
			$donnees['nom'] = $_GET['eflore_nom'];
43 delphine 61
 
62
			$donnees['form_nom'] = $this->getVue('form_nom', $donnees);
63
			$this->setSortie(self::RENDU_CORPS, $this->getVue('recherche_accueil', $donnees));
64
		} else {
54 delphine 65
			print_r($_GET['eflore_nom']);
43 delphine 66
			// envoyerResultat;
67
		}
33 jpm 68
	}
53 delphine 69
 
54 delphine 70
	private function rechercherNom($noms) {
71
		$approche = '';
53 delphine 72
		$res = $noms->getRechercheEtendue($_GET['eflore_nom']); //print_r($res);
73
		if ($res == false || $res->entete->total == 0) {
74
			$res = $noms->getRechercheFloue($_GET['eflore_nom']);
75
			if (!($res == false || $res->entete->total == 0)) {
54 delphine 76
				$liste = (array) $res->resultat;
77
				$nom_proche = array_shift($liste);
78
				$approche = ($_GET['eflore_type_nom'] == 'nom_vernaculaire') ? $nom_proche->nom : $nom_proche->nom_sci;
53 delphine 79
			}
54 delphine 80
		} else {
81
			$approche = 'ok';
53 delphine 82
		}
54 delphine 83
		return $approche;
53 delphine 84
	}
54 delphine 85
 
33 jpm 86
}
87
?>