Line 50... |
Line 50... |
50 |
|
50 |
|
51 |
if ($this->doitJoindreTableObs($criteres, $ordre)) {
|
51 |
if ($this->doitJoindreTableObs($criteres, $ordre)) {
|
52 |
$requete_recherche_images .= $this->fabriquerRequeteJointureObs();
|
52 |
$requete_recherche_images .= $this->fabriquerRequeteJointureObs();
|
53 |
$requete_recherche_images .= ($id_utilisateur != null) ? 'AND ci.ce_utilisateur = '.Cel::db()->proteger($id_utilisateur) : '';
|
53 |
$requete_recherche_images .= ($id_utilisateur != null) ? 'AND ci.ce_utilisateur = '.Cel::db()->proteger($id_utilisateur) : '';
|
54 |
} else {
|
54 |
} else {
|
55 |
$requete_recherche_images .= 'FROM cel_images ci ';
|
55 |
$requete_recherche_images .= 'FROM cel_images_export ci ';
|
56 |
$requete_recherche_images .= ($id_utilisateur != null) ? 'WHERE ci.ce_utilisateur = '.Cel::db()->proteger($id_utilisateur) : '';
|
56 |
$requete_recherche_images .= ($id_utilisateur != null) ? 'WHERE ci.ce_utilisateur = '.Cel::db()->proteger($id_utilisateur) : '';
|
Line 57... |
Line 57... |
57 |
}
|
57 |
}
|
58 |
|
58 |
|
Line 75... |
Line 75... |
75 |
|
75 |
|
76 |
if ($this->doitJoindreTableObs($criteres)) {
|
76 |
if ($this->doitJoindreTableObs($criteres)) {
|
77 |
$requete_recherche_images .= $this->fabriquerRequeteJointureObs();
|
77 |
$requete_recherche_images .= $this->fabriquerRequeteJointureObs();
|
78 |
$requete_recherche_images .= ($id_utilisateur != null) ? 'AND ci.ce_utilisateur = '.Cel::db()->proteger($id_utilisateur) : '';
|
78 |
$requete_recherche_images .= ($id_utilisateur != null) ? 'AND ci.ce_utilisateur = '.Cel::db()->proteger($id_utilisateur) : '';
|
79 |
} else {
|
79 |
} else {
|
80 |
$requete_recherche_images .= 'FROM cel_images ci ';
|
80 |
$requete_recherche_images .= 'FROM cel_images_export ci ';
|
81 |
$requete_recherche_images .= ($id_utilisateur != null) ? 'WHERE ci.ce_utilisateur = '.Cel::db()->proteger($id_utilisateur) : '';
|
81 |
$requete_recherche_images .= ($id_utilisateur != null) ? 'WHERE ci.ce_utilisateur = '.Cel::db()->proteger($id_utilisateur) : '';
|
82 |
}
|
82 |
}
|
Line 83... |
Line 83... |
83 |
$sous_requete_recherche = $this->fabriquerSousRequeteRecherche($id_utilisateur, $criteres);
|
83 |
$sous_requete_recherche = $this->fabriquerSousRequeteRecherche($id_utilisateur, $criteres);
|
Line 99... |
Line 99... |
99 |
return count(array_intersect(array_keys($criteres),$criteres_obs)) > 0 ||
|
99 |
return count(array_intersect(array_keys($criteres),$criteres_obs)) > 0 ||
|
100 |
(!empty($tri) && in_array($tri, $tris_obs));
|
100 |
(!empty($tri) && in_array($tri, $tris_obs));
|
101 |
}
|
101 |
}
|
Line 102... |
Line 102... |
102 |
|
102 |
|
103 |
private function fabriquerRequeteJointureObs() {
|
103 |
private function fabriquerRequeteJointureObs() {
|
104 |
$requete = 'FROM cel_images ci '.
|
104 |
$requete = 'FROM cel_images_export ci '.
|
105 |
'LEFT JOIN cel_obs co '.
|
105 |
'LEFT JOIN cel_export_total co '.
|
106 |
'ON ci.ce_observation = co.id_observation '.
|
106 |
'ON ci.ce_observation = co.id_observation '.
|
107 |
'WHERE 1 ';
|
107 |
'WHERE 1 ';
|
108 |
return $requete;
|
108 |
return $requete;
|
Line 109... |
Line 109... |
109 |
}
|
109 |
}
|
110 |
|
110 |
|
111 |
public function obtenirInformationsObservationsAssociees($id_utilisateur, $id_image) {
|
111 |
public function obtenirInformationsObservationsAssociees($id_utilisateur, $id_image) {
|
Line 112... |
Line 112... |
112 |
$requete = 'SELECT ce_observation FROM cel_images WHERE id_image = '.$id_image;
|
112 |
$requete = 'SELECT ce_observation FROM cel_images_export WHERE id_image = '.$id_image;
|
113 |
$resultats = Cel::db()->requeter($requete);
|
113 |
$resultats = Cel::db()->requeter($requete);
|
114 |
|
114 |
|
115 |
$idsObsListe = array();
|
115 |
$idsObsListe = array();
|
116 |
foreach ($resultats as $liaison) {
|
116 |
foreach ($resultats as $liaison) {
|
Line 117... |
Line 117... |
117 |
$idsObsListe[] = $liaison['ce_observation'];
|
117 |
$idsObsListe[] = $liaison['ce_observation'];
|
118 |
}
|
118 |
}
|
119 |
$ids_obs = implode(',', $idsObsListe);
|
119 |
$ids_obs = implode(',', $idsObsListe);
|
120 |
|
120 |
|
Line 121... |
Line 121... |
121 |
$infos_obs = '';
|
121 |
$infos_obs = '';
|
122 |
if (trim($ids_obs) != '') {
|
122 |
if (trim($ids_obs) != '') {
|
123 |
$requete = 'SELECT * FROM cel_obs WHERE id_observation IN ('.$ids_obs.') AND ce_utilisateur = "'.$id_utilisateur.'"';
|
123 |
$requete = 'SELECT * FROM cel_export_total WHERE id_observation IN ('.$ids_obs.') AND ce_utilisateur = "'.$id_utilisateur.'"';
|
Line 187... |
Line 187... |
187 |
$sous_requete .= ') AND ' ;
|
187 |
$sous_requete .= ') AND ' ;
|
188 |
break;
|
188 |
break;
|
189 |
case "auteur":
|
189 |
case "auteur":
|
190 |
$sous_requete .= '(ci.ce_utilisateur LIKE '.Cel::db()->proteger($valeur.'%').' OR '.
|
190 |
$sous_requete .= '(ci.ce_utilisateur LIKE '.Cel::db()->proteger($valeur.'%').' OR '.
|
191 |
'ci.courriel_utilisateur LIKE '.Cel::db()->proteger($valeur.'%').' OR '.
|
191 |
'ci.courriel_utilisateur LIKE '.Cel::db()->proteger($valeur.'%').' OR '.
|
192 |
'ci.nom_utilisateur LIKE '.Cel::db()->proteger($valeur.'%').' OR '.
|
- |
|
193 |
'ci.prenom_utilisateur LIKE '.Cel::db()->proteger($valeur.'%').
|
192 |
'ci.pseudo_utilisateur LIKE '.Cel::db()->proteger($valeur.'%').
|
194 |
') AND ';
|
193 |
') AND ';
|
195 |
break;
|
194 |
break;
|
196 |
case "ce_zone_geo":
|
195 |
case "ce_zone_geo":
|
197 |
if($valeur == "NULL") {
|
196 |
if($valeur == "NULL") {
|
198 |
$sous_requete .= "(co.ce_zone_geo IS NULL OR co.ce_zone_geo = '')";
|
197 |
$sous_requete .= "(co.ce_zone_geo IS NULL OR co.ce_zone_geo = '')";
|
Line 235... |
Line 234... |
235 |
'co.ce_zone_geo LIKE '.Cel::db()->proteger('%'.$chaine_recherche.'%').' OR '.
|
234 |
'co.ce_zone_geo LIKE '.Cel::db()->proteger('%'.$chaine_recherche.'%').' OR '.
|
236 |
//TODO: recherche multicriteres sur mots clés texte ne fonctionne pas à cause de la jointure
|
235 |
//TODO: recherche multicriteres sur mots clés texte ne fonctionne pas à cause de la jointure
|
237 |
//'ci.mots_cles_texte LIKE '.Cel::db()->proteger('%'.$chaine_recherche.'%').' OR '.
|
236 |
//'ci.mots_cles_texte LIKE '.Cel::db()->proteger('%'.$chaine_recherche.'%').' OR '.
|
238 |
'ci.ce_utilisateur LIKE '.Cel::db()->proteger($chaine_recherche.'%').' OR '.
|
237 |
'ci.ce_utilisateur LIKE '.Cel::db()->proteger($chaine_recherche.'%').' OR '.
|
239 |
'ci.courriel_utilisateur LIKE '.Cel::db()->proteger($chaine_recherche.'%').' OR '.
|
238 |
'ci.courriel_utilisateur LIKE '.Cel::db()->proteger($chaine_recherche.'%').' OR '.
|
240 |
'ci.nom_utilisateur LIKE '.Cel::db()->proteger($chaine_recherche.'%').' OR '.
|
- |
|
241 |
'ci.prenom_utilisateur LIKE '.Cel::db()->proteger($chaine_recherche.'%').' '.
|
239 |
'ci.pseudo_utilisateur LIKE '.Cel::db()->proteger($chaine_recherche.'%').' '.
|
242 |
') ';
|
240 |
') ';
|
243 |
return $requete;
|
241 |
return $requete;
|
244 |
}
|
242 |
}
|
Line 245... |
Line 243... |
245 |
|
243 |
|
Line 293... |
Line 291... |
293 |
}
|
291 |
}
|
Line 294... |
Line 292... |
294 |
|
292 |
|
295 |
public function obtenirCourrielUtilisateurPourIdImage($id_image) {
|
293 |
public function obtenirCourrielUtilisateurPourIdImage($id_image) {
|
296 |
$idImageP = Cel::db()->proteger($id_image);
|
294 |
$idImageP = Cel::db()->proteger($id_image);
|
297 |
$requete = 'SELECT courriel_utilisateur '.
|
295 |
$requete = 'SELECT courriel_utilisateur '.
|
298 |
'FROM cel_images '.
|
296 |
'FROM cel_images_export '.
|
299 |
"WHERE id_image = $idImageP ".
|
297 |
"WHERE id_image = $idImageP ".
|
300 |
' -- '.__FILE__.':'.__LINE__;
|
298 |
' -- '.__FILE__.':'.__LINE__;
|
Line 301... |
Line 299... |
301 |
$utilisateur_courriel = Cel::db()->requeter($requete);
|
299 |
$utilisateur_courriel = Cel::db()->requeter($requete);
|
Line 306... |
Line 304... |
306 |
}
|
304 |
}
|
307 |
return $retour;
|
305 |
return $retour;
|
308 |
}
|
306 |
}
|
Line 309... |
Line 307... |
309 |
|
307 |
|
310 |
private function getIdsMotsClesImage($id_image) {
|
308 |
private function getIdsMotsClesImage($id_image) {
|
311 |
$requete = 'SELECT DISTINCT id_mot_cle '.
|
309 |
$requete = 'SELECT DISTINCT photo_tag_id '.
|
312 |
'FROM cel_mots_cles_images_liaison '.
|
310 |
'FROM photo_tag_photo '.
|
313 |
"WHERE id_element_lie = $id_image ".
|
311 |
"WHERE photo_id = $id_image ".
|
314 |
' -- '.__FILE__.':'.__LINE__;
|
312 |
' -- '.__FILE__.':'.__LINE__;
|
315 |
return Cel::db()->requeter($requete);
|
313 |
return Cel::db()->requeter($requete);
|
316 |
}
|
314 |
}
|