Subversion Repositories eFlore/Applications.eflore-consultation

Compare Revisions

Ignore whitespace Rev 290 → Rev 291

/trunk/modules/fiche/formateurs/Repartition.php
13,40 → 13,48
* @version $Id$
*/
class Repartition extends aControleur {
 
private $conteneur = null;
private $nomCourrant = null;
private $tailleBloc = "190x178";
private $serviceChorodep = null;
public function __construct($num_nom = null, $type = null, $taille = 630) {
$this->initialiser($num_nom, $type, $taille);
 
public function __construct(Conteneur $conteneur) {
$this->conteneur = $conteneur;
$this->nomCourrant = $this->conteneur->getNomCourrant();
$this->cartes = $this->conteneur->getApiCartes();
$this->meta = $this->conteneur->getApiMetaDonnees();
$this->appUrls = $this->conteneur->getAppUrls();
}
public function initialiser($num_nom, $type, $taille = 630) {
$this->serviceChorodep = new Cartes('chorodep', $num_nom, $type, $taille);
$this->serviceMetaDonneesChorodep = new MetaDonnees('chorodep');
}
public function obtenirDonnees($num_nom, $type = 'nn') {
$this->initialiser($num_nom, $type);
$donnees['svg'] = $this->getUrlDataSvg();
$donnees['png'] = $this->getUrlPng();
$donnees['legende'] = $this->getLegende();
$donnees['metadonnees'] = $this->getMetaDonnees();
 
public function obtenirDonnees() {
$donnees['chorodep'] = $this->getChorodep();
return $donnees;
}
public function getUrlDataSvg() {
return $this->serviceChorodep->getUrlDataSvg();
 
public function getChorodep() {
$this->cartes->setProjet('chorodep');
$this->cartes->setLargeur('630');
$id = 'nn:'.$this->nomCourrant->getNns();
$this->cartes->setId($id);
$chorodep['svgUrl'] = $this->cartes->getUrlDataSvg();
$chorodep['pngUrl'] = $this->cartes->getUrlPng();
$chorodep['legende'] = $this->cartes->getLegende();
$this->meta->setProjet('chorodep');
$meta = $this->meta->getMetaDonnees();
$citation = $meta[0]['citation'];
$chorodep['meta']['citation'] = $citation;
$chorodep['meta']['url'] = $this->appUrls->obtenirUrlMetaDonnees('chorodep');
return $chorodep;
}
public function getUrlPng() {
return $this->serviceChorodep->getUrlPng();
 
public function getBloc() {
$this->cartes->setProjet('chorodep');
$this->cartes->setLargeur('190x178');
$id = 'nn:'.$this->nomCourrant->getNns();
$this->cartes->setId($id);
$donnees['carteUrl'] = $this->cartes->getUrlPng();
return $donnees;
}
public function getLegende () {
return $this->serviceChorodep->getLegende();
}
public function getMetaDonnees () {
return $this->serviceMetaDonneesChorodep->getMetaDonnees();
}
}
?>
/trunk/modules/fiche/formateurs/Synthese.php
New file
0,0 → 1,40
<?php
// declare(encoding='UTF-8');
/**
* Classe Onglet Synthese.
*
* @category PHP 5.2
* @package eflore-consultation
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org>
* @author Delphine CAUQUIL <delphine@tela-botanica.org>
* @author Grégoire DUCHÉ <gregoire@tela-botanica.org>
* @copyright 2011 Tela-Botanica
* @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL-v3
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL-v2
* @version $Id$
*/
class Synthese extends aControleur {
 
private $conteneur = null;
private $nomCourrant = null;
 
public function __construct(Conteneur $conteneur) {
$this->conteneur = $conteneur;
$this->nomCourrant = $this->conteneur->getNomCourrant();
}
 
public function obtenirDonnees() {
$donnees = array();
$illustrations = new Illustrations($this->conteneur);
$donnees['illustration'] = $illustrations->getBloc();
$repartition = new Repartition($this->conteneur);
$donnees['repartition'] = $repartition->getBloc();
$nomenclature = new Nomenclature($this->conteneur);
$donnees['nomenclature'] = $nomenclature->getBloc();
$description = new Description($this->conteneur);
$donnees['description'] = $description->getBloc();
return $donnees;
}
 
}
?>
/trunk/modules/fiche/formateurs/Description.php
13,9 → 13,51
* @version $Id$
*/
class Description extends aControleur {
public function obtenirDonnees($num_nom) {
$donnees = null;
 
private $conteneur = null;
private $nomCourrant = null;
private $textes = null;
private $meta = null;
 
public function __construct(Conteneur $conteneur) {
$this->conteneur = $conteneur;
$this->nomCourrant = $this->conteneur->getNomCourrant();
$this->textes = $this->conteneur->getApiTextes();
$this->meta = $this->conteneur->getApiMetaDonnees();
$this->appUrls = $this->conteneur->getAppUrls();
}
 
public function obtenirDonnees() {
$donnees = array();
$donnees['wp'] = $this->getWp();
return $donnees;
}
 
public function getBloc() {
$this->textes->setProjet('wikipedia');
$this->textes->setId($this->getIdWp());
$this->textes->setSectionTitre('Description');
$texte = $this->textes->getTexte();
$donnees['texte'] = $texte['texte'];
return $donnees;
}
 
private function getWp() {
$wp = array();
$this->textes->setProjet('wikipedia');
$this->textes->setId($this->getIdWp());
$texte = $this->textes->getTexte();
$wp['titre'] = $texte['titre'];
$wp['description'] = $texte['texte'];
$this->meta->setProjet('wikipedia');
$wp['meta']['url'] = $this->appUrls->obtenirUrlMetaDonnees('wikipedia');
return $wp;
}
 
private function getIdWp() {
$nomSci = $this->nomCourrant->getNomRetenu()->get('nom_sci');
$idWp = str_replace(' ', '_', $nomSci);
return $idWp;
}
}
?>
/trunk/modules/fiche/formateurs/Illustrations.php
13,16 → 13,45
* @version $Id$
*/
class Illustrations extends aControleur {
private $imagesCel = null;
public function __construct(Images $images = null) {
$this->imagesCel = (is_null($images)) ? new Images('cel') : $images;
 
private $conteneur = null;
private $nomCourrant = null;
private $images = null;
private $meta = null;
 
public function __construct(Conteneur $conteneur) {
$this->conteneur = $conteneur;
$this->nomCourrant = $this->conteneur->getNomCourrant();
$this->images = $this->conteneur->getApiImages();
$this->appUrls = $this->conteneur->getAppUrls();
}
public function obtenirDonnees($num_nom) {
$urls = $this->imagesCel->getUrlsImagesParIdsNoms(array($num_nom));
$donnees['img'] = $urls['bdtfx.'.$num_nom];
 
public function obtenirDonnees() {
$donnees = array();
$donnees['cel'] = $this->getCel();
return $donnees;
}
 
public function getBloc() {
// Trop long, il faut un service spécial...
/*
$this->images->setProjet('cel');
$nns = $this->nomCourrant->getNns();
$urls = $this->images->getUrlsImagesParIdsNoms(array($nns));
$donnees['imageUrl'] = $urls["bdtfx.$nns"][0];
*/
return $donnees;
}
 
public function getCel() {
$cel = array();
$this->images->setProjet('cel');
$nns = $this->nomCourrant->getNns();
$urls = $this->images->getUrlsImagesParIdsNoms(array($nns));
$cel['imagesUrl'] = $urls["bdtfx.$nns"];
 
$cel['meta']['url'] = $this->appUrls->obtenirUrlMetaDonnees('cel');
return $cel;
}
}
?>
/trunk/modules/fiche/formateurs/Nomenclature.php
13,15 → 13,35
* @version $Id$
*/
class Nomenclature extends aControleur {
private $nom = null;
public function __construct(Images $images = null) {
$this->nom = (is_null($nom)) ? new Noms() : $nom;
 
private $conteneur = null;
private $nomCourrant = null;
private $noms = null;
private $meta = null;
 
public function __construct(Conteneur $conteneur) {
$this->conteneur = $conteneur;
$this->nomCourrant = $this->conteneur->getNomCourrant();
$this->noms = $this->conteneur->getApiNoms();
$this->appUrls = $this->conteneur->getAppUrls();
}
public function obtenirDonnees($num_nom) {
$donnees['synonymes'] = $this->nom->getSynonymes($num_nom);//print_r($donnees['synonymes']);
 
public function obtenirDonnees() {
$donnees = array();
$donnees['synonymes'] = $this->getSynonymes();
return $donnees;
}
 
public function getBloc() {
$synonymes = $this->getSynonymes();
$donnees['synonymesNbre'] = count($synonymes);
return $donnees;
}
 
private function getSynonymes() {
$nns = $this->nomCourrant->getNns();
$synonymes = $this->noms->getSynonymes($nns);
return $synonymes['resultat'];
}
}
?>
/trunk/modules/fiche/squelettes/fiche_description.tpl.html
1,6 → 1,10
<div id="description">
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.
Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt.
Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem.
Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur?
<h2>Wikipedia : <?=$wp['titre']?></h2>
<div class="description wp">
<?=$wp['description']?>
</div>
<hr class="nettoyage"/>
<div id="metadonnees" class="conteneur_lien_metadonnees">
<a class="lien_metadonnees lien_popup" href="<?= $wp['meta']['url']; ?>"> Voir + </a>
</div>
</div>
/trunk/modules/fiche/squelettes/fiche_illustrations.tpl.html
1,5 → 1,10
<div id="illustrations">
<?php foreach($img as $url) : ?>
<img alt="photos cel" src="<?=$url?>"/><br />
<?php endforeach; ?>
<h2>Carnet en Ligne</h2>
<div id="metadonnees" class="conteneur_lien_metadonnees">
<a class="lien_metadonnees lien_popup" href="<?= $cel['meta']['url']; ?>"> Voir + </a>
</div>
<?php foreach($cel['imagesUrl'] as $url) : ?>
<img alt="photos cel" src="<?=$url?>"/><br />
<?php endforeach; ?>
</div>
/trunk/modules/fiche/squelettes/fiche_nomenclature.tpl.html
1,10 → 1,10
<div id="nomenclature">
<h3>Synonymes</h3>
<ul>
<?php foreach ($synonymes['resultat'] as $synonyme) : ?>
<?php foreach ($synonymes as $synonyme) : ?>
<li class="item_nomenclature">
Nom scientifique : <?=$synonyme['nom_sci'];?><br />
<?= ($synonyme['basionyme']) ?"Basionyme : ".$synonyme['basionyme'] : ''; ?>
<?= ($synonyme['basionyme']) ? "Basionyme : ".$synonyme['basionyme'] : ''; ?>
</li>
<?php endforeach; ?>
</ul><hr class="nettoyage" />
/trunk/modules/fiche/squelettes/fiche_repartition.tpl.html
1,10 → 1,11
<div id="repartition">
<object type="image/svg+xml" data="<?=$svg?>">
<!-- img src="<?=$png?>" / -->
</object>
<h2>Chorologie départementale</h2>
<object type="image/svg+xml" data="<?=$chorodep['svgUrl']?>">
<!-- img src="<?=$chorodep['pngUrl']?>" / -->
</object>
<div id="legende" style="padding:15px;">
<h3>Légende</h3><br />
<? foreach ($legende as $id => $details) :?>
<? foreach ($chorodep['legende'] as $id => $details) :?>
<div style="clear:left; ">
<div class="bloc_legende_repartition" style="background:<?=$details['couleur']?>"></div>
<div class="texte_legende_repartition"><b><?=$details['nom']?></b></div>
12,10 → 13,9
<? endforeach; ?>
</div>
<div class="conteneur_lien_metadonnees">
<?=$metadonnees[0]['citation']?>
<?=$chorodep['meta']['citation']?>
</div>
<div id="metadonnees" class="conteneur_lien_metadonnees">
<? $lien_metadonnees = 'index_botanique.php?module=fiche-metadonnees&action=affichagemetadonnees&projet=chorodep'; ?>
<a class="lien_metadonnees lien_popup" href="<?= $lien_metadonnees; ?>"> Voir + </a>
<a class="lien_metadonnees lien_popup" href="<?= $chorodep['meta']['url']; ?>"> Voir + </a>
</div>
</div>
/trunk/modules/fiche/squelettes/fiche_synthese.tpl.html
6,8 → 6,7
<a class="lien-onglet-synthese" href="<?=$url;?>illustrations">Illustrations</a>
</h3>
<span id="contenu-0" class="contenu">
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
<img src="<?=$illustration['imageUrl']?>" alt="Illustration du taxon"/>
</span>
</div>
<div id="synthese_description" class="module ui-widget ui-widget-content ui-helper-clearfix ui-corner-all">
14,10 → 13,9
<h3 class="titre ui-widget-header ui-corner-all" id="titre-1">
<a class="lien-onglet-synthese" href="<?=$url;?>description">Description</a>
</h3>
<span id="contenu-0" class="contenu">
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
</span>
<div id="contenu-0" class="contenu">
<?=$description['texte']?>
</div>
</div>
<div id="synthese_classification" class="module ui-widget ui-widget-content ui-helper-clearfix ui-corner-all">
<h3 class="titre ui-widget-header ui-corner-all" id="titre-2">
48,7 → 46,7
<a class="lien-onglet-synthese" href="<?=$url;?>repartition">Répartition</a>
</h3>
<span id="contenu-0" class="contenu">
<img src="<?=$repartition_vignette?>" alt="vignette répartition"/>
<img src="<?=$repartition['carteUrl']?>" alt="Carte de répartition"/>
</span>
</div>
<div id="synthese_ethnobotanique" class="module ui-widget ui-widget-content ui-helper-clearfix ui-corner-all">
55,10 → 53,10
<h3 class="titre ui-widget-header ui-corner-all" id="titre-5">
<a class="lien-onglet-synthese" href="<?=$url;?>ethnobotanique">Ethnobotanique</a>
</h3>
<span id="contenu-0" class="contenu">
<div id="contenu-0" class="contenu">
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
</span>
</div>
</div>
</div>
<div class="colonne">
77,10 → 75,9
<h3 class="titre ui-widget-header ui-corner-all" id="titre-8">
<a class="lien-onglet-synthese" href="<?=$url;?>nomenclature">Nomenclature</a>
</h3>
<span id="contenu-0" class="contenu">
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
</span>
<div id="contenu-0" class="contenu">
<p>Nombre de synonymes : <?=$nomenclature['synonymesNbre']?></p>
</div>
</div>
<div id="synthese_phytosociologie" class="module ui-widget ui-widget-content ui-helper-clearfix ui-corner-all">
<h3 class="titre ui-widget-header ui-corner-all" id="titre-9">
/trunk/modules/fiche/Fiche.php
13,15 → 13,43
* @version $Id$
*/
class Fiche extends aControleur {
 
private $onglet = 'synthese';
private $parametres = array();
private $conteneur = null;
private $num_nom = 0;
 
 
public function initialiser() {
$this->capturerParametres();
$this->conteneur = new Conteneur($this->parametres);
spl_autoload_register(array($this, 'chargerClassesOnglets'));
}
 
private function capturerParametres() {
if (isset($_GET['num_nom'])) {
$this->parametres['num_nom'] = $_GET['num_nom'];
}
 
if (isset($_GET['nom_retenu'])) {
$this->parametres['nom_retenu'] = $_GET['nom_retenu'];
}
 
if (isset($_GET['nom'])) {
$this->parametres['nom'] = $_GET['nom'];
}
if (isset($_GET['type_nom'])) {
$this->parametres['type_nom'] = $_GET['type_nom'];
}
 
if (isset($_GET['niveau'])) {
Registre::set('parametres.niveau', $_GET['niveau']);
}
if (isset($_GET['onglet'])) {
$this->onglet = $_GET['onglet'];
}
}
 
private function chargerClassesOnglets($classe) {
$base = dirname(__FILE__).DS;
$cheminFormateurs = $base.'formateurs'.DS;
34,80 → 62,37
}
}
}
 
public function executerActionParDefaut() {
$this->executerFiche();
}
 
public function executerFiche(){
$donnees = array('type_nom' => $this->type_nom, 'nom' => $this->nom);
$this->executerAction('Recherche', 'executerAccueil', $donnees);
$donnees['num_nom'] = $this->num_nom;
$blocs_niveaux = $this->recupererTableauConfig('blocs_fiche_defaut');
$donnees = $this->parametres;
$this->executerAction('Recherche', 'executerAccueil', $this->parametres);
$blocs_niveaux = $this->conteneur->getParametreTableau('blocs_fiche_defaut');
$donnees['blocs'] = '"'.str_replace('|', '","', $blocs_niveaux[Registre::get('parametres.niveau')]).'"';
$donnees = $this->obtenirDonnees($donnees);
 
$donnees = array_merge($this->obtenirDonnees(), $donnees);
$donnees['onglet'] = $this->onglet;
$donnees['contenu_onglet'] = $this->getVue('fiche_'.$this->onglet, $donnees);
$donnees['nom_retenu'] = $this->nom_retenu;
 
$this->setSortie(self::RENDU_CORPS, $this->getVue('fiche_accueil', $donnees), true);
}
 
public function executerOnglet(){
$donnees = $this->obtenirDonnees();
header('Content-type: text/html');
header('Content-type: text/html');
echo $this->getVue('fiche_'.$this->onglet, $donnees);
exit;
}
private function obtenirDonnees($donnees = array()) {
if ($this->onglet == 'synthese') {
$serviceRepartition = new Repartition($this->num_nom, 'nn', "190x178");
$donnees['repartition_vignette'] = $serviceRepartition->getUrlPng();
} else {
$classe = ucfirst($this->onglet);
$metier = new $classe();
$donnees = $metier->obtenirDonnees($this->num_nom);
}
 
private function obtenirDonnees() {
$donnees = array();
$classe = ucfirst($this->onglet);
$onglet = new $classe($this->conteneur);
$donnees = $onglet->obtenirDonnees();
return $donnees;
}
private function capturerParametres() {
if (isset($_GET['num_nom'])) {
$this->num_nom = $_GET['num_nom'];
}
if (isset($_GET['nom_retenu'])) {
$this->nom_retenu = $_GET['nom_retenu'];
}
if (isset($_GET['nom'])) {
$this->nom = $_GET['nom'];
}
if (isset($_GET['type_nom'])) {
$this->type_nom = $_GET['type_nom'];
}
if (isset($_GET['niveau'])) {
Registre::set('parametres.niveau', $_GET['niveau']);
}
if (isset($_GET['onglet'])) {
$this->onglet = $_GET['onglet'];
}
}
protected function recupererTableauConfig($param) {
$tableau = array();
$tableauPartiel = explode(',', Config::get($param));
$tableauPartiel = array_map('trim', $tableauPartiel);
foreach ($tableauPartiel as $champ) {
if (strpos($champ, '=') === false) {
$tableau[] = $champ;
} else {
list($cle, $val) = explode('=', $champ);
$tableau[$cle] = $val;
}
}
return $tableau;
}
}
?>