Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 1505 → Rev 1506

/trunk/jrest/services/CelSyndicationImage.php
380,8 → 380,8
' ON (coi.id_observation = ci.id_observation) '.
(($this->etreFluxAdmin()) ? '' : 'WHERE ci.transmission = 1 ').
'ORDER BY '.(isset($this->orderby) && (!is_null($this->orderby)) ? $this->orderby : 'cim.date_creation DESC').' '.
"LIMIT "; //$this->start, $this->limit ";
 
"LIMIT $this->start, $this->limit ";
//echo $requete;
$elements = $this->executerRequete($requete);
 
// Création du contenu
399,8 → 399,8
$contenu = '';
if (isset($_GET['debut'])) $this->start = $_GET['debut'];
if (isset($_GET['limite'])) $this->limite = $_GET['limite'];
if($this->parametresSontDemandes()) {
 
if ($this->parametresSontDemandes()) {
$requete = $this->creerRequeteAvecParametres();
} else {
$requete = $this->creerRequeteSansParametres();
416,35 → 416,36
 
return $contenu;
}
 
private function parametresSontDemandes() {
$criteres = $this->traiterCriteresMultiples($_GET) ;
return (isset($_GET['recherche']) && $_GET['recherche'] != '') || !empty($criteres);
}
 
private function creerRequeteSansParametres() {
// Première sous requete pour que le limite se fasse d'abord sur les images
// et pas la jointure de toutes les tables
$sous_requete_limitative = 'SELECT * FROM cel_images c '.
' WHERE id_image '.
' IN (SELECT id_image FROM cel_obs_images a '.
$sous_requete = 'SELECT * '.
'FROM cel_images c '.
'WHERE id_image '.
' IN (SELECT id_image FROM cel_obs_images a '.
(($this->etreFluxAdmin()) ? '' : 'INNER JOIN cel_obs b ON b.id_observation = a.id_observation AND b.transmission = 1 ').
') ';
$sous_requete_limitative .= ' ORDER BY '.(isset($this->orderby) && (!is_null($this->orderby)) ? $this->orderby : 'c.date_creation DESC').' '.
"LIMIT $this->start,$this->limit ";
') ';
$sous_requete .= ' ORDER BY '.(isset($this->orderby) && (!is_null($this->orderby)) ? $this->orderby : 'c.date_creation DESC').' '.
"LIMIT $this->start,$this->limit ";
 
// Construction de la requête
$requete = 'SELECT *, b.mots_cles_texte as mots_cles_texte_obs, c.mots_cles_texte as mots_cles_texte_images, '.
' b.commentaire as commentaire_obs, c.commentaire as commentaire_img '.
'FROM ('.$sous_requete_limitative.') as c '.
' INNER JOIN cel_obs_images AS a '.
' ON (a.id_image = c.id_image) '.
' INNER JOIN cel_obs AS b '.
' ON (a.id_observation = b.id_observation) AND b.ce_utilisateur = c.ce_utilisateur ';
' b.commentaire as commentaire_obs, c.commentaire as commentaire_img '.
'FROM ('.$sous_requete.') as c '.
' INNER JOIN cel_obs_images AS a '.
' ON (a.id_image = c.id_image) '.
' INNER JOIN cel_obs AS b '.
' ON (a.id_observation = b.id_observation) AND b.ce_utilisateur = c.ce_utilisateur ';
//echo $requete;
return $requete;
}
 
private function creerRequeteAvecParametres() {
// Construction de la requête
$requete = 'SELECT *, b.mots_cles_texte as mots_cles_texte_obs, c.mots_cles_texte as mots_cles_texte_images, '.
471,7 → 472,7
$requete = rtrim($requete, 'AND ');
$requete .= ' ORDER BY '.(isset($this->orderby) && (!is_null($this->orderby)) ? $this->orderby :
'c.date_creation DESC').' '."LIMIT $this->start,$this->limit ";
//echo $requete;
return $requete;
}