Subversion Repositories eFlore/Projets.eflore-projets

Compare Revisions

Ignore whitespace Rev 376 → Rev 377

/trunk/services/modules/0.1/cel/Images.php
166,7 → 166,7
$ok = array_key_exists($this->parametres['retour.format'], $formats);
return $ok;
}
 
private function verifierValeurParametreTri() {
return in_array($this->parametres['retour.tri'], $this->tris_supportes);
}
200,7 → 200,7
}
}
 
 
//+---------------------------------------- REQUETES ---------------------------------------------------------------+
private function obtenirIdImageAuHasard() {
$refTax = self::CODE_REFTAX_DEFAUT;
226,7 → 226,7
$id_image_hasard = $resultat[array_rand($resultat)]['id_image'];
return $id_image_hasard;
}
 
private function obtenirIdPremiereImage() {
$refTax = self::CODE_REFTAX_DEFAUT;
$numNom = $this->Bdd->proteger($this->ref_tax_demande[$refTax][0]);
239,19 → 239,19
'WHERE co.transmission = 1 '.
" AND co.num_nom_ret IN ($numNom) ".
' AND ci.ci_meta_date != "0000-00-00" ORDER BY ci.ci_meta_date ASC';
 
$resultat = $this->Bdd->recupererTous($requete);
 
if (!is_array($resultat) || count($resultat) <= 0) {
$message = "Aucune image ne correspond au numéro numenclatural $refTax:$numNom";
$code = RestServeur::HTTP_CODE_RESSOURCE_INTROUVABLE;
throw new Exception($message, $code);
}
 
$id_image_hasard = $resultat[0]['id_image'];
return $id_image_hasard;
}
 
private function chargerInfosImage() {
$requete = 'SELECT SQL_CALC_FOUND_ROWS '.
' ci.ci_id_image AS id_img, co.id AS id_obs, '.
265,7 → 265,7
' LEFT JOIN cel_inventory AS co '.
' ON (coi.coi_ce_observation = co.ordre AND coi.coi_ce_utilisateur = co.identifiant) '.
'WHERE ci.ci_id_image = '.$this->ressources[0];
 
$this->infosImages = $this->Bdd->recupererTous($requete);
}
 
274,12 → 274,14
$numNomListe = implode(',', $this->ref_tax_demande[$refTax]);
$depart = $this->parametres['navigation.depart'];
$limite = $this->parametres['navigation.limite'];
 
//TODO: modifier la requete lors du passage à la nouvelle base de données pour faire quelque chose
// du numéro nomenclatural + modifier les champs appelés pour le nouveau format
// du numéro nomenclatural + modifier les champs appelés pour le nouveau format + supprimer table annuaire
$annuaireTable = $this->config['annuaire']['table'];
$requete = 'SELECT SQL_CALC_FOUND_ROWS '.
' ci.ci_id_image AS id_img, co.id AS id_obs, '.
' identifiant AS utilisateur_courriel, '.
' an.u_id AS utilisateur_id, '.
' nom_sel, num_nom_sel, '.
' location, id_location, lieudit, station, milieu, '.
' ci.ci_meta_date AS date '.
288,14 → 290,16
' ON (coi.coi_ce_image = ci.ci_id_image) '.
' LEFT JOIN cel_inventory AS co '.
' ON (coi.coi_ce_observation = co.ordre AND coi.coi_ce_utilisateur = co.identifiant) '.
" LEFT JOIN $annuaireTable AS an ".
' ON (co.identifiant = an.u_mail) '.
$this->formerRequeteConditions($numNomListe).
' GROUP BY id_img '.
$this->formerRequeteTri().
"LIMIT $depart,$limite ";
 
$this->infosImages = $this->Bdd->recupererTous($requete);
}
 
private function formerRequeteConditions($numNomListe) {
$where[] = " co.transmission = 1 AND co.num_nom_ret IN ($numNomListe) ";
if (isset($this->parametres['retour.tri']) && $this->parametres['retour.tri'] == 'date') {
303,7 → 307,7
}
return ' WHERE '.implode(' AND ', $where);
}
 
private function formerRequeteTri() {
$order = "";
if (isset($this->parametres['retour.tri']) && $this->parametres['retour.tri'] == 'date') {
311,15 → 315,15
}
return $order;
}
 
 
private function chargerNbreImagesTotal() {
$requete = 'SELECT FOUND_ROWS() AS nbre ';
$resultats = $this->Bdd->recuperer($requete);
$this->nbreImages = (int) $resultats['nbre'];
}
 
 
//+---------------------------------------CHEMIN ET CONVERSION--------------------------------------------------------+
private function recupererImageBinaire($id_image) {
$image = '';
359,8 → 363,8
$codeImage .= '_'.$format;
return $codeImage;
}
 
 
//+------------------------------------FORMATAGE LISTE----------------------------------------------------------------+
private function formaterListeImages() {
$entete = $this->construireEntete();
447,7 → 451,8
$info = array();
$info['date'] = $img['date'];
$info['mime'] = self::MIME_JPEG;
$info['auteur'] = $this->formaterAuteur($img);
$info['auteur.libelle'] = $this->formaterAuteur($img);
$info['auteur.id'] = $img['utilisateur_id'];
$info['binaire.href'] = $this->formaterUrlImage($img);
$info['determination.libelle'] = $this->formaterDetermination($img);
$info['determination.nom_sci'] = $img['nom_sel'];
455,7 → 460,7
$info = array_merge($info, $this->formaterStation($img));
return $info;
}
 
private function extraireIntitulesAuteurs() {
$courriels = array();
foreach ($this->infosImages as $img) {