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 |
?>
|