Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 525 → Rev 526

/trunk/jrest/services/CelImageDoublon.php
82,34 → 82,47
 
// Traitement
$doublons = array();
$images_doublons_id = array();
$md5 = array();
foreach ($images as $img) {
if (!isset($md5[$img['ci_md5']])) {
$md5[$img['ci_md5']][] = array('url' => $this->creerUrlImage($img['ci_id_image']), 'num' => $img['ci_ordre']);
$md5[$img['ci_md5']] = array(
'url' => $this->getUrlImage($img['ci_id_image'], 'S'),
'obs_ordre' => array(),
'img_ordre' => $img['ci_ordre'],
'img_id' => $img['ci_id_image']);
} else {
if (!isset($doublons[$img['ci_md5']])) {
$doublons[$img['ci_md5']] = $md5[$img['ci_md5']];
$id_img = $md5[$img['ci_md5']]['img_id'];
$doublons[$img['ci_md5']][$id_img] = $md5[$img['ci_md5']];
$images_doublons_id[] = $this->bdd->quote($id_img);
}
$doublons[$img['ci_md5']][] = array('url' => $this->creerUrlImage($img['ci_id_image']), 'num' => $img['ci_ordre']);
$doublons[$img['ci_md5']][$img['ci_id_image']] = array(
'url' => $this->getUrlImage($img['ci_id_image'], 'S'),
'obs_ordre' => array(),
'img_ordre' => $img['ci_ordre'],
'img_id' => $img['ci_id_image']);
$images_doublons_id[] = $this->bdd->quote($img['ci_id_image']);
}
}
$requete = 'SELECT ci_id_image, ci_nom_original, ci_md5, ordre '.
'FROM cel_images AS cim '.
' LEFT JOIN cel_obs_images AS coi '.
' ON (coi.coi_ce_image = cim.ci_id_image) '.
' LEFT JOIN cel_inventory AS ci '.
' ON (coi.coi_ce_observation = ci.ordre AND coi.coi_ce_utilisateur = ci.identifiant) '.
"WHERE cim.ci_ce_utilisateur = '$utilisateur' ".
' AND cim.ci_id_image IN ('.implode(',', $images_doublons_id).')';
$infos = $this->executerRequete($requete);
foreach ($infos as $info) {
if (isset($doublons[$info['ci_md5']][$info['ci_id_image']]) && ! $this->etreNull($info['ordre'])) {
$doublons[$info['ci_md5']][$info['ci_id_image']]['obs_ordre'][] = $info['ordre'];
}
}
}
 
//echo '<pre>'.print_r($doublons, true).'</pre>';
return $doublons;
}
 
private function creerUrlImage($id_image, $taille = 'S') {
$chemin_sur_serveur = $this->config['cel_db']['url_images'];
$id_image = sprintf('%09s', $id_image);
$id_image = wordwrap($id_image, 3 , '_', true);
 
$niveauDossier = split('_', $id_image);
$dossierNiveau1 = $niveauDossier[0];
$dossierNiveau2 = $niveauDossier[1];
 
$chemin_sur_serveur_final = $chemin_sur_serveur.'/'.$dossierNiveau1.'/'.$dossierNiveau2;
$chemin_img = "$chemin_sur_serveur_final/$taille/{$id_image}_$taille.jpg";
return $chemin_img;
}
}