Subversion Repositories eFlore/Applications.coel-consultation

Compare Revisions

Ignore whitespace Rev 14 → Rev 15

/trunk/modeles/PersonneDao.php
New file
0,0 → 1,35
<?php
// declare(encoding='UTF-8');
/**
* Modèle d'accès à la base de données des Collections pour le module Personnes.
*
* @package Collection
* @category php 5.2
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org>
* @copyright 2010 Tela-Botanica
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
* @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
* @version SVN: $Id$
*
*/
class PersonneDao extends ColModele {
 
/**
* Retourne l'ensemble des information d'une personne.
*
* @param integer l'id de la personne.
* @return array un tableau contenant les informations sur la personne.
*/
public function getPersonne($id) {
$json = file_get_contents("http://www.tela-botanica.org/eflore/coel/jrest/CoelPersonne/$id");
$donnees = json_decode($json, true);
return $donnees;
}
public function getPersonneNomComplet($id) {
$donnees = $this->getPersonne($id);
$nom_complet = $donnees[1][0]['cp_fmt_nom_complet'];
return $nom_complet;
}
}
?>
/trunk/modeles/Ontologie.php
New file
0,0 → 1,95
<?php
// declare(encoding='UTF-8');
/**
* Classe contenant les données de l'ontologie des Collections en Ligne.
* Elle contient un cache de l'ontologie.
* C'est un Singleton.
*
* @package Collection
* @category php 5.2
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org>
* @copyright 2010 Tela-Botanica
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
* @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
* @version SVN: $Id$
*
*/
class Ontologie {
public static $ontologie_liste = array();
public static $ontologie_valeur = array();
 
public static function chargerListe($id_liste) {
$retour = false;
if (!isset(self::$ontologie_liste[$id_liste])) {
$metadonnees = new MetadonneeDao();
$donnees = $metadonnees->getOntologie($id_liste);
$traitementValeursOk = self::traiterValeurs($donnees['valeurs']);
if ($traitementValeursOk) {
self::$ontologie_liste[$id_liste] = $donnees['valeurs'];
$retour = true;
}
}
return $retour;
}
public static function getListe($id_liste) {
$retour = false;
$chargementOk = self::chargerListe($id_liste);
if ($chargementOk) {
$retour = self::$ontologie_liste[$id_liste];
}
return $retour;
}
public static function chargerValeur($id_valeur) {
$retour = true;
if (!isset(self::$ontologie_valeur[$id_valeur])) {
$metadonnees = new MetadonneeDao();
$donnees = $metadonnees->getOntologieValeur($id_valeur);
$retour = self::traiterValeurs($donnees['valeurs']);
}
return $retour;
}
public static function getValeur($id_valeur) {
$retour = false;
$chargementOk = self::chargerValeur($id_valeur);
if ($chargementOk) {
$retour = self::$ontologie_valeur[$id_valeur];
}
return $retour;
}
public static function getValeurNom($id_valeur) {
$retour = false;
$valeur = self::getValeur($id_valeur);
if ($valeur !== false) {
$retour = $valeur['nom'];
}
return $retour;
}
private static function traiterValeurs($valeurs) {
$retour = true;
if (is_null($valeurs)) {
$retour = false;
} else {
if (count($valeurs) == 0) {
$retour = false;
} else {
foreach ($valeurs as $valeur) {
self::$ontologie_valeur[$valeur['cmlv_id_valeur']] = array(
'parent' => $valeur['cmlv_id_valeur'],
'projet' => $valeur['cmlv_ce_projet'],
'nom' => $valeur['cmlv_nom'],
'abreviation' => $valeur['cmlv_abreviation'],
'description' => $valeur['cmlv_description'],
'meta' => $valeur['cmlv_ce_meta']
);
}
}
}
return $retour;
}
}
?>
/trunk/modeles/MetadonneeDao.php
New file
0,0 → 1,41
<?php
// declare(encoding='UTF-8');
/**
* Modèle d'accès à la base de données des Collections pour le module Métadonnées.
*
* @package Collection
* @category php 5.2
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org>
* @copyright 2010 Tela-Botanica
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
* @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
* @version SVN: $Id$
*
*/
class MetadonneeDao extends ColModele {
 
/**
* Retourne l'ensemble des information d'une liste de valeurs.
*
* @param integer l'id de la liste.
* @return array un tableau contenant les valeurs de la liste.
*/
public function getOntologie($id) {
$json = file_get_contents("http://www.tela-botanica.org/eflore/coel/jrest/CoelValeurListe/id/$id?limit=500");
$donnees = json_decode($json, true);
return $donnees;
}
/**
* Retourne l'ensemble des information d'une liste de valeurs.
*
* @param integer l'id d'une valeur ou un ensemble d'id de valeurs séparés par des virgules.
* @return array un tableau contenant les valeurs.
*/
public function getOntologieValeur($id_valeurs) {
$json = file_get_contents("http://www.tela-botanica.org/eflore/coel/jrest/CoelValeurListe/idv/$id_valeurs");
$donnees = json_decode($json, true);
return $donnees;
}
}
?>
/trunk/modeles/StructureDao.php
New file
0,0 → 1,30
<?php
// declare(encoding='UTF-8');
/**
* Modèle d'accès à la base de données des Collections pour le module Structure.
*
* @package Collection
* @category php 5.2
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org>
* @copyright 2010 Tela-Botanica
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
* @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
* @version SVN: $Id$
*
*/
class StructureDao extends ColModele {
 
/**
* Retourne l'ensemble des information sur une structure.
*
* @param integer l'id de la structure.
* @return array un tableau contenant les informations sur la structure.
*/
public function getStructure($id) {
$json = file_get_contents("http://www.tela-botanica.org/eflore/coel/jrest/CoelStructure/*/$id/*");
$donnees = json_decode($json, true);
//Debug::printr($json);
return $donnees[1];
}
}
?>
/trunk/bibliotheque/noyau/ColControleur.php
16,6 → 16,12
const RENDU_TETE = 'tete';
const RENDU_CORPS = 'corps';
const RENDU_PIED = 'pied';
const TYPE_AUTRE = 'AUTRE';
const TYPE_TOTAL = 'TOTAL';
const SEPARATEUR_TYPE_VALEUR = '##';
const SEPARATEUR_VALEURS = ';;';
const SEPARATEUR_DONNEES = '||';
const VALEUR_NULL = 'NC';
private $sortie = array();
private $parametres = array();
83,4 → 89,175
$this->sortie = array_merge($this->sortie, $sortie);
}
protected function construireTxtTruckSansMajuscule($chaine_a_analyser) {
return $this->construireTxtTruck($chaine_a_analyser, false);
}
protected function construireTxtTruck($chaine_a_analyser, $majuscule = true) {
$termes = array();
if ((!is_null($chaine_a_analyser)) && (trim($chaine_a_analyser) != '')) {
$valeurs = explode(self::SEPARATEUR_VALEURS, $chaine_a_analyser);
$nbre_valeurs = count($valeurs);
if ($nbre_valeurs > 0) {
for ($i = 0; $i < $nbre_valeurs; $i++) {
$valeur = trim($valeurs[$i]);
if ($valeur != '') {
$valeur_formatee = $this->formaterValeurTruck($valeur);
$termes[] = $valeur_formatee;
}
}
}
}
$chaine_a_retourner = $this->formaterTableauDeTxt($termes, $majuscule);
return $chaine_a_retourner;
}
private function formaterValeurTruck($valeur) {
$chaine_a_retourner = '';
if (preg_match('/^[^#]+##[^$]+$/', $valeur)) {
$cle_valeur = explode(self::SEPARATEUR_TYPE_VALEUR, $valeur);
$chaine_a_retourner = (($cle_valeur[1] == '' || $cle_valeur[1] == 'null') ? self::VALEUR_NULL : $cle_valeur[1]);
$chaine_a_retourner .= ' '.$this->formaterParenthese($cle_valeur[0]);
} else if ($valeur != '') {
$chaine_a_retourner = $valeur;
} else {
trigger_error("Valeur truck posant problème :$valeur", E_USER_NOTICE);
}
return $chaine_a_retourner;
}
protected function formaterParenthese($chaine_a_afficher) {
if ($chaine_a_afficher != '') {
$chaine_a_afficher = '('.$chaine_a_afficher.')';
}
return $chaine_a_afficher;
}
protected function formaterSautDeLigne($chaine_a_formater) {
$txt_a_retourner = preg_replace('/\n/', '<br />', $chaine_a_formater);
return $txt_a_retourner;
}
protected function formaterTableauDeTxt($tableau_de_txt, $majuscule = true) {
$chaine_a_afficher = '';
$taille_du_tableau = count($tableau_de_txt);
if ($taille_du_tableau > 0) {
$index_avt_dernier = $taille_du_tableau - 1;
for ($i = 0; $i < $taille_du_tableau; $i++) {
$mot = $tableau_de_txt[$i];
if ($i != $index_avt_dernier) {
$chaine_a_afficher .= $mot.', ';
} else {
$chaine_a_afficher .= $this->nettoyerPointFinal($mot).'.';
}
}
}
if ($majuscule) {
$chaine_a_afficher = ucfirst($chaine_a_afficher);
}
return $chaine_a_afficher;
}
protected function formaterAutre($chaine_a_afficher) {
if ($chaine_a_afficher != '') {
$chaine_a_afficher = ' [Autre : '.$chaine_a_afficher.']';
}
return $chaine_a_afficher;
}
protected function formaterOuiNon($chaine_a_formater) {
$txt_a_retourner = '';
if ($chaine_a_formater == '0') {
$txt_a_retourner = 'non';
} else if ($chaine_a_formater == '1') {
$txt_a_retourner = 'oui';
}
return $txt_a_retourner;
}
protected function nettoyerPointFinal($mot) {
$mot = preg_replace('/[.]$/', '', $mot);
return $mot;
}
public function construireTxtListeOntologie($chaineAAnalyser, $valeurEstOntologie = true, $typeEstOntologie = true, $donneeEstOntologie = false) {
$termes = array();
$autres = array();
$chaineAAnalyser = trim($chaineAAnalyser);
if ($chaineAAnalyser != '') {
$valeurs = explode(self::SEPARATEUR_VALEURS, $chaineAAnalyser);
$nbreValeurs = count($valeurs);
if ($nbreValeurs > 0) {
for ($i = 0; $i < $nbreValeurs; $i++) {
$valeur = $valeurs[$i];
// VALEUR SANS TYPE
// La valeur sans type est une entrée de l'ontologie
if ($valeurEstOntologie && preg_match('/^[0-9]+$/', $valeur)) {
if ($valeur == '0') {
$valeur = '';
} else {
$valeurOntologie = Ontologie::getValeur($valeur);
if ($valeurOntologie != '') {
$valeur = $valeurOntologie['nom'];
}
}
}
// VALEUR AVEC TYPE
// Type : AUTRE
$valeurTypeAutre = self::TYPE_AUTRE.self::SEPARATEUR_TYPE_VALEUR;
if (preg_match('/^'.$valeurTypeAutre.'.+$/', $valeur)) {
$txtAutre = preg_replace('/^'.$valeurTypeAutre.'/', '', $valeur);
if ($txtAutre != '') {
$autres[] = $txtAutre;
}
$valeur = '';
}
// Type correspondant à une entrée de l'ontologie
if ($typeEstOntologie) {
$valeurTypeOntologie = '[0-9]+'.self::SEPARATEUR_TYPE_VALEUR;
if (preg_match('/^'.$valeurTypeOntologie.'.+$/', $valeur)) {
$type = substr($valeur, 0, strripos($valeur, self::SEPARATEUR_TYPE_VALEUR));
$valeurOntologie = Ontologie::getValeur($type);
if ($valeurOntologie != '') {
$valeurOntologieNom = $valeurOntologie['nom'];
$valeur = preg_replace('/^'.$type.'/', $valeurOntologieNom.': ', $valeur);
}
}
}
// Donnée correspondant à une entrée de l'ontologie
if ($donneeEstOntologie) {
$donneeOntologie = self::SEPARATEUR_TYPE_VALEUR.'([0-9]+)';
if (preg_match('/^.+'.$donneeOntologie.'$/', $valeur, $match)) {
$donnee = $match[1];
$donnee = str_replace(self::SEPARATEUR_TYPE_VALEUR, '', $donnee);
$valeurOntologie = Ontologie::getValeur($donnee);
if ($valeurOntologie != '') {
$valeurOntologieNom = $valeurOntologie['nom'];
$valeur = preg_replace('/'.$donnee.'$/', $valeurOntologieNom, $valeur);
}
}
}
// Nettoyage final
$valeur = preg_replace('/'.self::SEPARATEUR_TYPE_VALEUR.'/', '', $valeur);
if ($valeur != '') {
$termes[] = $valeur;
}
}
}
}
$chaineTermes = $this->formaterTableauDeTxt($termes);
$chaineAutres = $this->formaterTableauDeTxt($autres);
$chaineARetourner = $chaineTermes.$this->formaterAutre($chaineAutres);
return $chaineARetourner;
}
}
/trunk/squelettes/fiche_structure.tpl.html
1,0 → 0,0
<h1>Collection <?=$id?></h1>
<!-- DEBUT FICHE STRUCTURE -->
<h1><?=$info['cs_nom']?> <span class="discretion">(id:<?=$id?>)</span></h1>
 
<h2>Général</h2>
<h3>Renseignements administratifs</h3>
<dl>
<dt>Acronyme</dt> <dd><?=$info['_acronyme_']?></dd>
<dt>Statut</dt> <dd><?=$info['_type_prive_']?><?=$info['_type_public_']?></dd>
<dt>Date de fondation</dt> <dd><?=$info['cs_date_fondation']?></dd>
<dt>Personne travaillant dans l'institution</dt> <dd><?=$info['cs_nbre_personne']?></dd>
</dl>
 
<h3>Adresse</h3>
<dl>
<dt>Adresse</dt> <dd><?=$info['cs_adresse_01']?></dd>
<dt>Complément d'adresse</dt> <dd><?=$info['cs_adresse_02']?></dd>
<dt>Code postal</dt> <dd><?=$info['cs_code_postal']?></dd>
<dt>Ville</dt> <dd><?=$info['cs_ville']?></dd>
<dt>Région</dt> <dd><?=$info['_region_']?></dd>
<dt>Pays</dt> <dd><?=$info['_pays_']?></dd>
<dt>Latitude/Longitude</dt> <dd><?=$info['_latitude_longitude_']?></dd>
</dl>
 
<h3>Description</h3>
<dl>
<dt>Description</dt> <dd><?=$info['cs_adresse_01']?></dd>
<dt>Condition d'accès</dt> <dd><?=$info['cs_condition_acces']?></dd>
<dt>Condition d'usage</dt> <dd><?=$info['cs_condition_usage']?></dd>
</dl>
 
<h3>Communication</h3>
<dl>
<dt>Téléphone/Fax</dt> <dd><?=$info['_telephone_fax_']?></dd>
<dt>Courriel</dt> <dd><?=$info['cs_courriel']?></dd>
<dt>Site web</dt> <dd><?=$info['_web_']?></dd>
</dl>
 
<h3>Divers</h3>
<dl>
<dt>GUID</dt> <dd><?=$info['cs_guid']?> </dd>
<dt>Notes</dt> <dd><?=$info['cmhl_notes']?> </dd>
<dt>Sources</dt> <dd><?=$info['cmhl_source']?> </dd>
<dt>Modifié par</dt> <dd><?=$info['_modifier_par_']?> </dd>
<dt>Date de dernière modification</dt> <dd><?=$info['cmhl_date_modification']?> </dd>
<dt>État de l'enregistrement</dt> <dd><?=$info['_etat_']?> </dd>
</dl>
 
<h2>Personnel</h2>
 
<h2>Conservation</h2>
<h3>Formation du personnel à la conservation</h3>
<dl>
<dt>Formation en conservation</dt> <dd><?=$info['_formation_']?> <?=$info['_formation_info_']?></dd>
<dt>Intérêt pour une formation</dt> <dd><?=$info['_formation_interet_']?></dd>
</dl>
 
<h3>Opérations & matériels</h3>
<dl>
<dt>Opérations actuelles de restauration</dt> <dd><?=$info['_restauration_']?> <?=$info['_restauration_operation_']?></dd>
<dt>Utilisation de matériel de conservation</dt> <dd><?=$info['_materiel_conservation_']?> <?=$info['_materiel_autre_']?></dd>
<dt>Traitements globaux</dt> <dd><?=$info['_traitement_']?> <?=$info['_traitement_liste_']?></dd>
</dl>
 
<h3>Local</h3>
<dl>
<dt>Locaux spécifiques aux collections</dt> <dd><?=$info['_stockage_local_']?></dd>
<dt>Meubles spécifiques aux collections</dt> <dd><?=$info['_stockage_meuble_']?></dd>
<dt>Paramêtres maîtrisés</dt> <dd><?=$info['_stockage_parametre_']?></dd>
<dt>Conservation des collections en commun</dt> <dd><?=$info['_collection_commune_']?> <?=$info['_collection_autre_']?></dd>
<dt>Accès contrôlé</dt> <dd><?=$info['_acces_controle_']?></dd>
</dl>
 
<h3>Acquisitions</h3>
<dl>
<dt>Acquisition de nouvelles collections</dt> <dd><?=$info['_acquisition_collection_']?></dd>
<dt>Mise en herbier de nouveaux échantillons</dt> <dd><?=$info['_acquisition_echantillon_']?></dd>
<?php if ($info['csc_mark_acquisition_echantillon'] == '1') : ?>
<dt>Traitement avant intégration</dt> <dd><?=$info['_acquisition_traitement_']?></dd>
<?php if ($info['csc_mark_acquisition_traitement'] == '1') : ?>
<dt>Désinsectisation</dt> <dd><?=$info['_acquisition_traitement_insecte_']?></dd>
<dt>Empoisonnement</dt> <dd><?=$info['_acquisition_traitement_poison_']?></dd>
<?php endif; ?>
<?php endif; ?>
</dl>
 
 
<h2>Valorisation</h2>
<!-- FIN FICHE STRUCTURE -->
/trunk/squelettes/collection.css
1,36 → 1,68
@CHARSET "UTF-8";
/*--------------------------------------------------------------------------------------------------------------*/
/* Général */
dl{
margin:1em 0;
padding:0;}
dt{
background-color:#EEEEEE;
width:20em;
float:left;
margin:0 0 0 0;
padding:.3em;
border-top:1px solid #999;
font-weight:bold;}
dt:after{
content:" : ";}
/* hack de commentaire avec un antislash pour ie5 mac \*/
h2, h3, dt { clear: both; }
/* end hack */
dd{
float:left;
width:48em;
margin:0 0 0 0;
padding:.3em;
border-top:1px solid #999;}
/*--------------------------------------------------------------------------------------------------------------*/
/* Présentation fiche */
.discretion{
color:#A9A9A9;
font-size:10px;
font-weight:normal;}
/*--------------------------------------------------------------------------------------------------------------*/
/* Tableau du chronométrage du programme */
#pied_texte #chrono {
#pied_texte #chrono{
text-align: center;
margin:0 auto;}
#chrono table {
#chrono table{
display:block;
border:3px solid #6495ed;
border-collapse:collapse;}
#chrono thead, tfoot {
#chrono thead, tfoot{
background-color:#D0E3FA;
border:1px solid #6495ed;}
#chrono tbody {
#chrono tbody{
background-color:#FFFFFF;
border:1px solid #6495ed;}
#chrono th {
#chrono th{
font-family:monospace;
border:1px dotted #6495ed;
padding:5px;
background-color:#EFF6FF;
width:25%;}
#chrono td {
#chrono td{
font-family:sans-serif;
font-size:80%;
border:1px solid #6495ed;
padding:5px;
text-align:center;}
#chrono caption {
#chrono caption{
font-family:sans-serif;
text-align: center;
width:90%;
margin:auto;}
/*--------------------------------------------------------------------------------------------------------------*/
/* Débogage */
.debogage{
color:black;
border:3px solid #6495ed;}
/trunk/controleurs/Fiche.php
11,7 → 11,7
* @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
* @version SVN: $Id$
*/
class Recherche extends ColControleur {
class Fiche extends ColControleur {
//+----------------------------------------------------------------------------------------------------------------+
// Méthodes
22,23 → 22,116
return $this->afficherStructure();
}
/**
* Charge le moteur de recherche et l'envoie à la vue.
*/
public function afficherStructure() {
$donnees = array();
$structureDao = $this->getModele('StructureDao');
// Gestion des actions par défaut
$this->executerAction('Recherche', 'chargerMoteurRecherche');
// Gestion des données de la requête
$donnees['recherche'] = (isset($_GET['recherche']) ? $_GET['recherche'] : '');
if (!isset($_GET['id'])) {
} else {
$donnees['id'] = $_GET['id'];
$donnees['info'] = $structureDao->getStructure($donnees['id']);
$this->traiterMetaDonnees($donnees['info']);
$this->traiterDonneesStructure($donnees['info']);
$this->traiterDonneesStructureConservation($donnees['info']);
Debug::printr($donnees);
$this->setSortie(self::RENDU_CORPS, $this->getVue('fiche_structure', $donnees));
}
}
private function traiterMetaDonnees(&$donnees) {
$donnees['_modifier_par_'] = $this->traiterPersonne($donnees['cmhl_ce_modifier_par']);
$donnees['_etat_'] = $this->construireTxtListeOntologie($donnees['cmhl_ce_etat']);
}
private function traiterDonneesStructure(&$donnees) {
// liste 01 : Liste des états des enregistrements de la base de données
Ontologie::chargerListe(1001);
// liste 12 : Liste des types de structure privé
Ontologie::chargerListe(1015);
// liste 13 : Liste des types de structure public
Ontologie::chargerListe(1016);
// liste 71 : Liste des pays du standard ISO-3166-1
Ontologie::chargerListe(1074);
// Gestion de l'url
$this->url->setVariableRequete('module', 'Recherche');
$this->url->setVariableRequete('action', 'rechercher');
$donnees['url_form'] = $this->url->getUrl();
$donnees['url_module'] = 'Recherche';
$donnees['url_action'] = 'rechercher';
$donnees['_acronyme_'] = $this->construireTxtTruck($donnees['cs_truk_identifiant_alternatif']);
$donnees['_telephone_fax_'] = $this->construireTxtTruck($donnees['cs_truk_telephone']);
$donnees['_type_prive_'] = $this->construireTxtListeOntologie($donnees['cs_ce_truk_type_prive']);
$donnees['_type_public_'] = $this->construireTxtListeOntologie($donnees['cs_ce_truk_type_public']);
$donnees['_region_'] = Ontologie::getValeurNom($donnees['cs_ce_truk_region']);
$donnees['_pays_'] = $this->construireTxtListeOntologie($donnees['cs_ce_truk_pays']);
$donnees['_web_'] = $this->construireTxtTruckSansMajuscule($donnees['cs_truk_url']);
$latitude = $donnees['cs_latitude'];
$longitude = $donnees['cs_longitude'];
$donnees['_latitude_longitude_'] = ($longitude != '' && $latitude != '') ? $latitude+' / '+$longitude : '';
}
private function traiterDonneesStructureConservation(&$donnees) {
// liste 15 : Liste des types de local de stockage de collections
Ontologie::chargerListe(1018);
// liste 16 : Liste des types de mobilier de stockage de collections
Ontologie::chargerListe(1019);
// liste 17 : Liste des paramètres de contrôle environnemental d'un local
Ontologie::chargerListe(1020);
// liste 18 : Liste des types de collection non botanique
Ontologie::chargerListe(1021);
// liste 19 : Liste des types d'opération de restauration pour les collections botaniques
Ontologie::chargerListe(1022);
// liste 20 : Liste oui/non/en partie
Ontologie::chargerListe(1023);
// liste 21 : Liste du matériel dit de nom conservation des parts d'herbier
Ontologie::chargerListe(1024);
$donnees['_formation_'] = $this->formaterOuiNon($donnees['csc_mark_formation']);
$donnees['_formation_info_'] = $this->formaterParenthese($donnees['csc_formation']);
$donnees['_formation_info_'] = $this->formaterSautDeLigne($donnees['_formation_info_']);
$donnees['_formation_interet_'] = $this->formaterOuiNon($donnees['csc_mark_formation_interet']);
$donnees['_stockage_local_'] = $this->construireTxtListeOntologie($donnees['csc_truk_stockage_local']);
$donnees['_stockage_meuble_'] = $this->construireTxtListeOntologie($donnees['csc_truk_stockage_meuble']);
$donnees['_stockage_parametre_'] = $this->construireTxtListeOntologie($donnees['csc_truk_stockage_parametre']);
$donnees['_collection_commune_'] = $this->formaterOuiNon($donnees['csc_mark_collection_commune']);
$donnees['_collection_autre_'] = $this->construireTxtListeOntologie($donnees['csc_truk_collection_autre']);
$donnees['_collection_autre_'] = $this->formaterParenthese($donnees['_collection_autre_']);
$donnees['_acces_controle_'] = $this->formaterOuiNon($donnees['csc_mark_acces_controle']);
$donnees['_restauration_'] = $this->formaterOuiNon($donnees['csc_mark_restauration']);
$donnees['_restauration_operation_'] = $this->construireTxtListeOntologie($donnees['csc_truk_restauration_operation']);
$donnees['_restauration_operation_'] = $this->formaterParenthese($donnees['_restauration_operation_']);
$donnees['_materiel_conservation_'] = $this->construireTxtListeOntologie($donnees['csc_ce_materiel_conservation']);
$donnees['_materiel_autre_'] = $this->construireTxtListeOntologie($donnees['csc_truk_materiel_autre']);
$donnees['_materiel_autre_'] = $this->formaterParenthese($donnees['_materiel_autre_']);
$donnees['_traitement_'] = $this->formaterOuiNon($donnees['csc_mark_traitement']);
$donnees['_traitement_liste_'] = $this->construireTxtListeOntologie($donnees['csc_truk_traitement']);
$donnees['_traitement_liste_'] = $this->formaterParenthese($donnees['_traitement_liste_']);
$donnees['_acquisition_collection_'] = $this->formaterOuiNon($donnees['csc_mark_acquisition_collection']);
$donnees['_acquisition_echantillon_'] = $this->formaterOuiNon($donnees['csc_mark_acquisition_echantillon']);
$donnees['_acquisition_traitement_'] = $this->formaterOuiNon($donnees['csc_mark_acquisition_traitement']);
$donnees['_acquisition_traitement_poison_'] = $this->construireTxtListeOntologie($donnees['csc_truk_acquisition_traitement_poison']);
$donnees['_acquisition_traitement_insecte_'] = $this->construireTxtListeOntologie($donnees['csc_truk_acquisition_traitement_insecte']);
}
private function traiterPersonne($personne_id) {
$personneDao = $this->getModele('PersonneDao');
$personne_nom = $personneDao->getPersonneNomComplet($personne_id);
return $personne_nom;
}
public function afficherCollection() {
$donnees = array();
// Gestion des données de la requête
if (!isset($_GET['id'])) {
} else {
$donnees['id'] = $_GET['id'];
}
// Gestion du squelette et de la sortie
$this->setSortie(self::RENDU_TETE, $this->getVue('moteur', $donnees));
$this->executerAction('Recherche', 'chargerMoteurRecherche');
$this->setSortie(self::RENDU_CORPS, $this->getVue('fiche_collection', $donnees));
}
}
/trunk/controleurs/Recherche.php
29,7 → 29,9
$donnees = array();
// Gestion des données de la requête
$donnees['recherche'] = (isset($_GET['recherche']) ? $_GET['recherche'] : '');
$chaine = $this->obtenirChaineRecherche();
$this->memoriserChaineRecherche($chaine);
$donnees['recherche'] = $chaine;
// Gestion de l'url
$this->url->setVariableRequete('module', 'Recherche');
42,6 → 44,20
$this->setSortie(self::RENDU_TETE, $this->getVue('moteur', $donnees));
}
private function obtenirChaineRecherche() {
$chaine = '';
if (isset($_GET['recherche'])) {
$chaine = $_GET['recherche'];
} else if (isset($_SESSION['col']['recherche'])) {
$chaine = $_SESSION['col']['recherche'];
}
return $chaine;
}
private function memoriserChaineRecherche($chaine) {
$_SESSION['col']['recherche'] = $chaine;
}
/**
* Recherche des collections.
* @return string la vue correspondante
/trunk/controleurs/Collection.php
45,6 → 45,7
*/
public static function initialiser() {
self::verifierCreationInstance();
self::gererSession();
if (isset($_GET['module'])) {
self::$parametres['module'] = $_GET['module'];
65,6 → 66,15
self::fusionnerSortie($module->getSortie());
}
private static function gererSession() {
if (Config::get('session_demarrage')) {
// Attribution d'un nom à la session
session_name(Config::get('session_nom'));
// Démarrage de la session
session_start();
}
}
/**
* Fusionne un tableau de sortie par défaut avec le tableau renvoyé par l'action du module.
* @param array le tableau à fusionner