Rev 996 | Rev 1765 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?php// ATTENTION ! Classe compatible uniquement avec nouveau format de bdd du cel ///*** PHP Version 5** @category PHP* @package jrest* @author aurelien <aurelien@tela-botanica.org>* @copyright 2010 Tela-Botanica* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL* @version SVN: <svn_id>* @link /doc/jrest/*//*** Classe renvoyant une liste très succinte des observations liées à une image de l'utilisateur**/class ImageContribution extends Cel {/*** Renvoi un petit bout de html contenant les dernières obs liées à* une image d'un utilisateur** @param string $uid[0] mail de l'utilisateur* @param string $uid[1] identifiant numérique de l'utilisateur*/function getElement($uid){$requete_obs_liee_images = 'SELECT * FROM cel_obs'.' WHERE ce_utilisateur = '.$this->proteger($uid[1]).' AND id_observation IN (SELECT id_observationFROM cel_obs_imagesWHERE id_utilisateur = '.$this->proteger($uid[1]).' )'.' AND transmission = 0'.' ORDER BY date_modification DESC LIMIT 0,5';$html = '<div id="resume_cel">';$obs_liees_images = array();$resultat_obs_liees_images = $this->requeter($requete_obs_liee_images);if(is_array($resultat_obs_liees_images)) {$obs_liees_images = $resultat_obs_liees_images;}foreach ($obs_liees_images as $obs) {$chemin_sur_serveur = $this->config['cel']['url_images'];$requete_img_liees = 'SELECT * FROM cel_images WHERE id_image '.'IN (SELECT id_image FROM cel_obs_images '.'WHERE id_observation = "'.$obs['id_observation'].'") '.'AND ce_utilisateur = "'.$obs['ce_utilisateur'].'"' ;$resultat_requete_img_liees = $this->requeter($requete_img_liees);if (is_array($resultat_requete_img_liees) && count($resultat_requete_img_liees) > 0) {$premiere_image_liee = $resultat_requete_img_liees[0];$premiere_image_liee['nom_original'] = htmlspecialchars($premiere_image_liee['nom_original']);$premiere_image_liee['id_image'] = htmlspecialchars($premiere_image_liee['id_image']);$id = $premiere_image_liee['id_image'];$tailleXY = $this->calculerDimensions(array($premiere_image_liee['largeur'], $premiere_image_liee['hauteur']));$id = sprintf('%09s', $id) ;$id = wordwrap($id, 3 , '_', true) ;$id_fichier = $id.".jpg" ;$niveauDossier = explode("_", $id) ;$dossierNiveau1 = $niveauDossier[0] ;$dossierNiveau2 = $niveauDossier[1] ;$chemin_sur_serveur_final = $chemin_sur_serveur.'/'.$dossierNiveau1.'/'.$dossierNiveau2 ;$chemin_fichier = $chemin_sur_serveur_final.'/L/'.$id."_L.jpg" ;$chemin_fichier_s = $chemin_sur_serveur_final.'/M/'.$id."_M.jpg" ;$html .= '<div class="item_resume_cel">';$html .= '<h4><a href="'.$chemin_fichier.'">'.$obs['nom_ret'].'</a></h4>'.'<img src="'.$chemin_fichier_s.'" alt="'.$premiere_image_liee['nom_original'].'" height="'.$tailleXY[1].'px" width="'.$tailleXY[0].'px"></img><br/>';$html .= '<span>Datée du '.$obs['date_modification'].'<br/>' ;$html .= 'Lieu : '.trim($obs['zone_geo'],'000null').' ('.trim($obs['ce_zone_geo'],'000null').') '.trim($obs['station'],'000null').' '.trim($obs['lieudit'],'000null').'<br/></p>' ;$html .= '</span>';$html .= '</div>';}}$html.= '</div>';header("Content-Type: text/html; charset=UTF-8");print $html;exit;}private function calculerDimensions($tailleXY) {$tailleOr = 75 ;if($tailleXY[1] == 0) {$tailleXY[1] = $tailleOr;}if($tailleXY[0] == 0) {$tailleXY[0] = $tailleOr;}$maxTaille = max($tailleXY[1],$tailleXY[0]) ;if($maxTaille == $tailleXY[1]) {$rapport = $tailleXY[1]/$tailleXY[0] ;$tailleXY[1] = 75 ;$tailleXY[0] = round($tailleXY[1]/$rapport,0) ;}else {$rapport = $tailleXY[0]/$tailleXY[1] ;$tailleXY[0] = 75 ;$tailleXY[1] = round($tailleXY[0]/$rapport,0) ;}return $tailleXY ;}}?>