Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 2445 → Rev 2446

/trunk/jrest/lib/RechercheImage.php
104,63 → 104,52
}
 
private function fabriquerRequeteJointureObs() {
 
$requete_jointure_observations = 'FROM cel_images ci '.
'LEFT JOIN cel_obs_images coi '.
'ON coi.id_image = ci.id_image '.
$requete = 'FROM cel_images ci '.
'LEFT JOIN cel_obs co '.
'ON coi.id_observation = co.id_observation '.
'ON ci.ce_observation = co.id_observation '.
'WHERE 1 ';
 
return $requete_jointure_observations;
return $requete;
}
 
public function obtenirInformationsObservationsAssociees($id_utilisateur, $id_image) {
$requete = 'SELECT ce_observation FROM cel_images WHERE id_image = '.$id_image;
$resultats = Cel::db()->requeter($requete);
 
$requete_table_liaison = 'SELECT id_observation FROM cel_obs_images WHERE id_image = '.$id_image;
$idsObsListe = array();
foreach ($resultats as $liaison) {
$idsObsListe[] = $liaison['ce_observation'];
}
$ids_obs = implode(',', $idsObsListe);
 
$resultats_liaisons_images = Cel::db()->requeter($requete_table_liaison);
 
$ids_obs = '';
 
foreach($resultats_liaisons_images as $liaison) {
$ids_obs .= $liaison['id_observation'].",";
}
$ids_obs = rtrim($ids_obs,',');
$infos_obs = '';
if (trim($ids_obs) != '') {
$requete = 'SELECT * FROM cel_obs WHERE id_observation IN ('.$ids_obs.') AND ce_utilisateur = "'.$id_utilisateur.'"';
$resultats = Cel::db()->requeter($requete);
 
if(trim($ids_obs) != '') {
$requete_obs_liees = 'SELECT * FROM cel_obs WHERE id_observation IN ('.$ids_obs.') AND ce_utilisateur ="'.$id_utilisateur.'"';
$resultat_obs_liees = Cel::db()->requeter($requete_obs_liees);
 
foreach($resultat_obs_liees as $obs_liee)
{
foreach ($resultats as $obs_liee) {
$infos_obs .= $obs_liee['ordre'].'#'.$obs_liee['nom_sel'].'#'.$obs_liee['transmission'].';;' ;
}
}
 
return $infos_obs;
}
 
private function fabriquerSousRequeteRecherche($id_utilisateur, $criteres) {
 
$sous_requete = ' AND ';
 
foreach($criteres as $nom => $valeur)
{
foreach($criteres as $nom => $valeur) {
if($valeur == null || trim($nom) == "" || trim($valeur) == "") {
continue;
}
 
switch($nom) {
case "id_image";
switch($nom) {
case "id_image";
$sous_requete .= 'ci.id_image = '.Cel::db()->proteger($valeur) ;
$sous_requete .= ' AND ';
break;
$sous_requete .= ' AND ';
break;
 
case "mots_cles";
$sous_requete .= $this->creerSousRequeteMotsCles($valeur);
break;
break;
 
case "id_mots_cles";
$liste_mc = '"'.str_replace(';','","',$valeur).'"';
167,18 → 156,17
$tpl_sous_requete = GestionMotsClesChemin::obtenirTemplateRequeteMotsClesIds('images');
$sous_requete .= 'id_image IN ('.sprintf($tpl_sous_requete, $liste_mc).')';
$sous_requete .= ' AND ' ;
break;
break;
 
case "commentaire":
$mots_comment_liste = explode(" " , $valeur) ;
 
foreach($mots_comment_liste as $mot_comment)
{
foreach($mots_comment_liste as $mot_comment) {
$mot_comment = trim($mot_comment) ;
$sous_requete .= 'ci.'.$nom.' LIKE '.Cel::db()->proteger('%'.$mot_comment.'%') ;
$sous_requete .= ' AND ' ;
}
break;
break;
 
case "annee":
case "mois":
246,9 → 234,7
break;
}
}
 
$sous_requete = rtrim($sous_requete,' AND ');
 
return $sous_requete;
}