New file |
0,0 → 1,92 |
<?php |
// declare(encoding='UTF-8'); |
/** |
* Affiche un pop-up avec une galerie d'illustrations. |
* |
* @category php 5.2 |
* @package eFlore-consultation |
* @author Aurélien PERONNET <aurelien@tela-botanica.org> |
* @copyright Copyright (c) 2012, Tela Botanica (accueil@tela-botanica.org) |
* @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 $Id$ |
*/ |
|
class PopupGalerie extends aControleur { |
private $conteneur = null; |
private $urlImage = null; |
private $images = null; |
private $appUrls = null; |
private $titre = ''; |
private $formats_possibles = array("O","CRX2S","CRS","CXS","CS","XS","S","M","L","XL","X2L","X3L"); |
private $format_agrandi = 'L'; |
|
public function initialiser() { |
$this->capturerParametres(); |
$this->conteneur = new Conteneur(); |
$this->images = $this->conteneur->getApiImages(); |
$this->appUrls = $this->conteneur->getAppUrls(); |
} |
|
private function capturerParametres() { |
if (isset($_GET['num_nom'])) { |
$this->num_nom = $_GET['num_nom']; |
} |
if (isset($_GET['url_image'])) { |
$this->urlImage = urldecode($_GET['url_image']); |
} |
if (isset($_GET['format'])) { |
$this->format = $_GET['format']; |
} |
if (isset($_GET['titre'])) { |
$this->titre = $_GET['titre']; |
} |
} |
|
public function executerActionParDefaut() { |
$this->executerFiche(); |
} |
|
public function executerFiche(){ |
$infos = array(); |
$this->images->setProjet('cel'); |
$urls = $this->images->getUrlsImagesOrganesParIdsNom($this->num_nom); |
$urls = $urls[Registre::get('parametres.referentiel').'.'.$this->num_nom]; |
$ids = array(); |
foreach($urls as $index => $url) { |
$urls[$index] = str_replace($this->formats_possibles, $this->format_agrandi, $url); |
$ids[$index] = $this->extraireIdDeUrl($url); |
} |
$infos['urls'] = $urls; |
$infos['ids'] = $ids; |
$infos['num_nom'] = $this->num_nom; |
$infos['referentiel'] = Registre::get('parametres.referentiel'); |
$infos['url_image'] = str_replace($this->formats_possibles, $this->format_agrandi, $this->urlImage); |
$infos['titre'] = $this->titre; |
$infos['url_meta'] = Config::get('imagesPopupTpl'); |
$infos['url_contact'] = $this->appUrls->obtenirUrlPopUpContact("{id_auteur}", "{id_img}"); |
|
$this->setSortie(self::META_TITRE,$this->titre, true); |
$this->setSortie(self::RENDU_CORPS, $this->getVue('popup_galerie_illustrations', $infos)); |
} |
|
private function extraireIdDeUrl($url) { |
$matches = array(); |
$formats = implode("|", $this->formats_possibles); |
//preg_match('#cel-img:([0-9]*)('.$formats.')#', $url, $matches); |
preg_match('#img:([0-9]*)('.$formats.')#', $url, $matches); // expèrons que ça va marcher |
return ltrim($matches[1],'0'); |
} |
|
private function formaterDateImg($date) { |
$dateFmt = $date; |
if ($date == '0000-00-00' || $date == '1970-01-01 01:01:01') { |
$dateFmt = 'inconnue'; |
} else { |
$dateFmt = strftime('%e %B %Y', strtotime($date)); |
} |
return $dateFmt; |
} |
|
} |
?> |