13,6 → 13,7 |
class Images { |
|
const MIME_JPEG = 'image/jpeg'; |
const MIME_PNG = 'image/png'; |
const MIME_JSON = 'application/json'; |
const MIME_XML = 'text/xml'; |
|
125,7 → 126,8 |
public function obtenirImages() { |
//TODO: tri par date, mais les dates dans la bdd photoflora sont des chaines en entités HTML |
// donc un tri dessus n'a pas de sens |
$requete = 'SELECT photos.*,taxons.NumTaxon, taxons.NumNomen, taxons.Combinaison, photographes.Nom, photographes.Prenom, photographes.Initiales, photographes.Mail '. |
$requete = 'SELECT photos.*, taxons.NumTaxon, taxons.NumNomen, taxons.Combinaison, photographes.Nom, '. |
' photographes.Prenom, photographes.Initiales, photographes.Mail '. |
'FROM '.self::BDD_PF.'.photos, '.self::BDD_PF.'.photographes, '.self::BDD_PF.'.taxons '. |
'WHERE '. |
'photos.Auteur = photographes.ID '. |
182,35 → 184,50 |
$resultat = array(); |
if(is_array($photographies)) { |
foreach ($photographies as $photo) { |
|
$image = array(); |
$url = $this->getUrlPhotoPourInitiales($photo['Initiales'], $photo['NumPhoto'], $this->format); |
$urlmax = $this->getUrlPhotoPourInitiales($photo['Initiales'], $photo['NumPhoto'], 'max'); |
$id = str_replace(array('.jpg','.jpeg'),'',$photo['NumPhoto']); |
$id = str_replace(array('.jpg','.jpeg', '.png'), '', $photo['NumPhoto']); |
|
// Post-traitement des valeurs |
$image['station'] = $this->formaterChaineEncodeeBddPhotoflora($photo['lieu']); |
$image['date'] = $this->donnerDate($this->formaterChaineEncodeeBddPhotoflora($photo['Date'])); |
$image['auteur'] = $this->formaterChaineEncodeeBddPhotoflora($photo['Prenom'].' '.$photo['Nom']); |
$image['determination'] = $photo['Combinaison'].' ['.$photo['Prenom'].' '.$photo['Nom'].']'; |
$image['determination.nom_sci'] = $photo['Combinaison']; |
$image['determination.nom_sci.code'] = "bdtfx.".$photo['NumNomen']; |
$image['mime'] = $this->extraireMime($photo['NumPhoto']); |
$image['auteur.libelle'] = $this->formaterChaineEncodeeBddPhotoflora($photo['Prenom'].' '.$photo['Nom']); |
$image['binaire.href'] = $url; |
$image['binaire.hrefmax'] = $urlmax; |
$image['determination.libelle'] = $photo['Combinaison'].' ['.$photo['Prenom'].' '.$photo['Nom'].']'; |
$image['determination.nom_sci.libelle'] = $photo['Combinaison']; |
$image['determination.nom_sci.code'] = "bdtfx.".$photo['NumNomen']; |
$image['station.libelle'] = $this->formaterStation($photo['lieu']); |
|
$resultat[$id] = $image; |
} |
} |
|
return $resultat; |
} |
|
private function extraireMime($fichierImg) { |
$mime = ''; |
if (strpos($fichierImg, '.jpg') || strpos($fichierImg, '.jpeg')) { |
$mime = self::MIME_JPEG; |
} else if (strpos($fichierImg, '.png')) { |
$mime = self::MIME_PNG; |
} |
return $mime; |
} |
|
private function formaterStation($station) { |
$station = $this->formaterChaineEncodeeBddPhotoflora($station); |
$station = preg_replace('/^ : /', '', $station); |
return $station; |
} |
|
private function callBackReplace($m) { |
return mb_convert_encoding($m[1], "UTF-8", "HTML-ENTITIES"); |
} |
|
private function formaterChaineEncodeeBddPhotoflora($chaine) { |
return $chaine = preg_replace_callback("/(&#[0-9]+;)/", array($this, 'callBackReplace') |
, $chaine); |
return $chaine = preg_replace_callback("/(&#[0-9]+;)/", array($this, 'callBackReplace'), $chaine); |
} |
|
// TODO: garder ancien web service pour retour xml ou bien fusionner les deux ? |