Subversion Repositories eFlore/Applications.coel-consultation

Compare Revisions

Ignore whitespace Rev 245 → Rev 246

/trunk/controleurs/Recherche.php
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);