13,9 → 13,9 |
*/ |
class Recherche extends aControleur { |
|
//private $chaine_recherche = null; |
private $masque = null; |
private static $url_exemple = null; |
//protected $chaine_recherche = null; |
protected $masque = null; |
protected static $url_exemple = null; |
|
//+----------------------------------------------------------------------------------------------------------------+ |
// Méthodes |
52,7 → 52,7 |
$this->setSortie(self::RENDU_TETE, $this->getVue('moteur', $donnees)); |
} |
|
private function obtenirMasqueRecherche() { |
protected function obtenirMasqueRecherche() { |
$masque = array(); |
if (!is_null($this->masque)) { |
$masque = $this->masque; |
96,15 → 96,18 |
//echo "PARAM 2: <pre>" . print_r($parametres, true) . "</pre><br/>"; |
|
// Gestion du nombre de résultats |
switch ($masque['cible']) { |
case 'collections': |
$donnees_total = $rechercheDao->chercherCollectionsNbre($parametres); |
break; |
case 'personnes': |
$donnees_total = $rechercheDao->chercherPersonnesNbre($parametres); |
break; |
default: |
// @TODO qu'est-ce qui se passe ? |
$donnees_total = null; |
if (isset($masque['cible'])) { |
switch ($masque['cible']) { |
case 'collections': |
$donnees_total = $rechercheDao->chercherCollectionsNbre($parametres); |
break; |
case 'personnes': |
$donnees_total = $rechercheDao->chercherPersonnesNbre($parametres); |
break; |
default: |
// @TODO qu'est-ce qui se passe ? |
} |
} |
|
// Gestion du fragmenteur |
124,58 → 127,62 |
$rechercheDao->setDistinction(1); |
|
// Récupération des résultats |
switch ($masque['cible']) { |
case 'collections': |
$resultats = $rechercheDao->chercherCollections($parametres); |
break; |
case 'personnes': |
$resultats = $rechercheDao->chercherPersonnes($parametres); |
break; |
default: |
if (isset($masque['cible'])) { |
switch ($masque['cible']) { |
case 'collections': |
$resultats = $rechercheDao->chercherCollections($parametres); |
break; |
case 'personnes': |
$resultats = $rechercheDao->chercherPersonnes($parametres); |
break; |
default: |
} |
} |
|
// Affichage de la liste de résultats |
switch ($masque['cible']) { |
case 'collections': |
foreach ($resultats as $resultat) { |
// Ajout des données concernant la structure si ce n'est pas déjà fait |
$structure_id = $resultat['cs_id_structure']; |
if (!isset($donnees['infos'][$structure_id])) { |
$structure = array( |
'nom' => $resultat['cs_nom'], |
'ville' => $resultat['cs_ville'], |
'url' => $this->obtenirUrlFicheStructure($resultat['cs_id_structure']) |
); |
$donnees['infos'][$structure_id]['structure'] = $structure; |
if (isset($masque['cible'])) { |
switch ($masque['cible']) { |
case 'collections': |
foreach ($resultats as $resultat) { |
// Ajout des données concernant la structure si ce n'est pas déjà fait |
$structure_id = $resultat['cs_id_structure']; |
if (!isset($donnees['infos'][$structure_id])) { |
$structure = array( |
'nom' => $resultat['cs_nom'], |
'ville' => $resultat['cs_ville'], |
'url' => $this->obtenirUrlFicheStructure($resultat['cs_id_structure']) |
); |
$donnees['infos'][$structure_id]['structure'] = $structure; |
} |
|
// Si la structure possède des collections |
if (!empty($resultat['cc_id_collection'])) { |
$collection = array( |
'nom' => $resultat['cc_nom'], |
'url' => $this->obtenirUrlFicheCollection($resultat['cc_id_collection']) |
); |
$donnees['infos'][$structure_id]['collections'][] = $collection; |
} |
} |
|
// Si la structure possède des collections |
if (!empty($resultat['cc_id_collection'])) { |
$collection = array( |
'nom' => $resultat['cc_nom'], |
'url' => $this->obtenirUrlFicheCollection($resultat['cc_id_collection']) |
); |
$donnees['infos'][$structure_id]['collections'][] = $collection; |
break; |
|
case 'personnes': |
foreach ($resultats as $resultat) { |
//echo "<pre>".print_r($resultat,true)."</pre>"; |
if (!empty($resultat['cp_id_personne'])) { |
$personne = array( |
'nomcomplet' => $resultat['cp_fmt_nom_complet'], |
'nom' => $resultat['cp_nom'], |
'prenom' => $resultat['cp_prenom'], |
'url' => $this->obtenirUrlFichePersonne($resultat['cp_id_personne']) |
); |
$donnees['infos']['personnes'][] = $personne; |
} |
} |
} |
break; |
|
case 'personnes': |
foreach ($resultats as $resultat) { |
//echo "<pre>".print_r($resultat,true)."</pre>"; |
if (!empty($resultat['cp_id_personne'])) { |
$personne = array( |
'nomcomplet' => $resultat['cp_fmt_nom_complet'], |
'nom' => $resultat['cp_nom'], |
'prenom' => $resultat['cp_prenom'], |
'url' => $this->obtenirUrlFichePersonne($resultat['cp_id_personne']) |
); |
$donnees['infos']['personnes'][] = $personne; |
} |
} |
break; |
|
default: |
break; |
|
default: |
} |
} |
|
// Post-traitement des résultats pour l'affichage |
188,7 → 195,7 |
$this->chargerPiedDePage(); |
} |
|
private function initialiserMasquesVides($masque) { |
protected function initialiserMasquesVides($masque) { |
$masques_possibles = array('lieu-stockage', |
'veg','zg','bot','p','pr','nom-famille','date-vivant','date-deces','adresse'); |
foreach($masques_possibles as $masque_possible) { |
199,7 → 206,7 |
return $masque; |
} |
|
private function remplacerAbreviationParId(&$parametres) { |
protected function remplacerAbreviationParId(&$parametres) { |
// liste 27 : Liste des relations entre une collection et une personne (id:1030) |
// liste 80 : Liste des types de collection botanique (id:1083) |
$params_a_remplacer = array('veg' => 1043, 'bot' => 1083, 'pr' => 1030); |