Subversion Repositories eFlore/Applications.cel

Rev

Rev 2400 | Rev 2449 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2400 Rev 2446
Line 330... Line 330...
330
			$this->format_image = $this->parametres[0];
330
			$this->format_image = $this->parametres[0];
331
		}
331
		}
Line 332... Line 332...
332
 
332
 
333
		// Construction de la requête
333
		// Construction de la requête
334
		$requete = 	(isset($this->distinct) ? 'SELECT DISTINCT' : 'SELECT').' ci.*, '.
334
		$requete = 	(isset($this->distinct) ? 'SELECT DISTINCT' : 'SELECT').' ci.*, '.
335
			' cim.id_image, cim.ce_utilisateur, nom_original, cim.date_creation, cim.mots_cles_texte as mots_cles_texte_images,
335
			' cim.id_image, cim.ce_utilisateur, nom_original, cim.date_creation, cim.mots_cles_texte AS mots_cles_texte_images, '.
336
				 ci.mots_cles_texte as mots_cles_texte_images_obs, cim.commentaire, note_qualite, nom_referentiel  '.
-
 
337
			'FROM cel_obs_images AS coi '.
-
 
338
			'LEFT JOIN cel_obs AS ci '.
336
			' ci.mots_cles_texte AS mots_cles_texte_images_obs, cim.commentaire, note_qualite, nom_referentiel '.
339
				'ON (coi.id_observation = ci.id_observation) '.
-
 
340
			'LEFT JOIN cel_images AS cim '.
-
 
341
				'ON (coi.id_image = cim.id_image) '.
337
			'FROM cel_obs AS ci LEFT JOIN cel_images AS cim ON (ci.id_observation = cim.ce_observation) '.
342
			'WHERE ci.transmission = 1 '.
338
			'WHERE ci.transmission = 1 '.
343
			'	AND ci.ce_utilisateur = cim.ce_utilisateur '.
339
			'	AND ci.ce_utilisateur = cim.ce_utilisateur '.
344
			'ORDER BY '.(isset($this->orderby) && (!is_null($this->orderby)) ? $this->orderby  : 'cim.date_creation DESC').' '.
340
			'ORDER BY '.(isset($this->orderby) && (!is_null($this->orderby)) ? $this->orderby  : 'cim.date_creation DESC').' '.
Line 369... Line 365...
369
 
365
 
Line 370... Line 366...
370
	private function getServiceComplet() {
366
	private function getServiceComplet() {
371
 
367
 
372
		// Construction de la requête
368
		// Construction de la requête
373
		$requete = 	(isset($this->distinct) ? 'SELECT DISTINCT' : 'SELECT').' ci.*, '.
369
		$requete = 	(isset($this->distinct) ? 'SELECT DISTINCT' : 'SELECT').' ci.*, '.
374
			'	cim.id_image, ci.ce_utilisateur, nom_original, cim.date_creation, cim.mots_cles_texte as mots_cles_texte_images, '.
370
			'	cim.id_image, ci.ce_utilisateur, nom_original, cim.date_creation, cim.mots_cles_texte AS mots_cles_texte_images, '.
375
			'   ci.mots_cles_texte as mots_cles_texte_obs, cim.commentaire as commentaire_img, note_qualite, nom_referentiel, '.
371
			'	ci.mots_cles_texte AS mots_cles_texte_obs, cim.commentaire AS commentaire_img, note_qualite, nom_referentiel, '.
376
			'	ci.commentaire as commentaire_obs '.
-
 
377
			'FROM cel_images AS cim '.
-
 
378
			'	LEFT JOIN cel_obs_images AS coi '.
372
			'	ci.commentaire AS commentaire_obs '.
379
			'		ON (coi.id_image = cim.id_image) '.
373
			'FROM cel_images AS cim '.
380
			'	LEFT JOIN cel_obs AS ci '.
374
			'	LEFT JOIN cel_obs AS ci '.
381
			'		ON (coi.id_observation = ci.id_observation) '.
375
			'		ON (cim.ce_observation = ci.id_observation) '.
382
			(($this->etreFluxAdmin()) ? '' : 'WHERE ci.transmission = 1 ').
376
			(($this->etreFluxAdmin()) ? '' : 'WHERE ci.transmission = 1 ').
383
			'ORDER BY '.(isset($this->orderby) && (!is_null($this->orderby)) ? $this->orderby  : 'cim.date_creation DESC').' '.
377
			'ORDER BY '.(isset($this->orderby) && (!is_null($this->orderby)) ? $this->orderby  : 'cim.date_creation DESC').' '.
384
			"LIMIT $this->start, $this->limit ";
378
			"LIMIT $this->start, $this->limit ";
Line 429... Line 423...
429
		// Première sous requete pour que le limite se fasse d'abord sur les images
423
		// Première sous requete pour que le limite se fasse d'abord sur les images
430
		// et pas la jointure de toutes les tables
424
		// et pas la jointure de toutes les tables
431
		$sous_requete = 'SELECT * '.
425
		$sous_requete = 'SELECT * '.
432
			'FROM cel_images c '.
426
			'FROM cel_images c '.
433
			'WHERE id_image '.
427
			'WHERE id_image '.
434
			' IN (SELECT id_image FROM cel_obs_images a '.
428
			' IN (SELECT id_image FROM cel_images a '.
435
			(($this->etreFluxAdmin()) ? '' : 'INNER JOIN cel_obs b ON b.id_observation = a.id_observation AND b.transmission = 1 ').
429
			(($this->etreFluxAdmin()) ? '' : 'INNER JOIN cel_obs b ON a.ce_observation = b.id_observation AND b.transmission = 1 ').
436
			') ';
430
			') ';
437
		$sous_requete .= ' ORDER BY '.(isset($this->orderby) && (!is_null($this->orderby)) ? $this->orderby  : 'c.date_creation DESC').' '.
431
		$sous_requete .= ' ORDER BY '.(isset($this->orderby) && (!is_null($this->orderby)) ? $this->orderby  : 'c.date_creation DESC').' '.
438
			"LIMIT $this->start,$this->limit ";
432
			"LIMIT $this->start,$this->limit ";
Line 439... Line 433...
439
 
433
 
440
		// Construction de la requête
434
		// Construction de la requête
441
		$requete = 'SELECT *, b.mots_cles_texte as mots_cles_texte_obs, c.mots_cles_texte as mots_cles_texte_images, '.
435
		$requete = 'SELECT *, b.mots_cles_texte AS mots_cles_texte_obs, c.mots_cles_texte AS mots_cles_texte_images, '.
442
			' b.commentaire as commentaire_obs, c.commentaire as commentaire_img, nom_referentiel '.
436
			' b.commentaire AS commentaire_obs, c.commentaire AS commentaire_img, nom_referentiel '.
443
			'FROM ('.$sous_requete.') as c '.
-
 
444
			'	INNER JOIN cel_obs_images AS a '.
-
 
445
			'		ON (a.id_image = c.id_image) '.
437
			'FROM ('.$sous_requete.') AS c '.
446
			'	INNER JOIN cel_obs AS b '.
438
			'	INNER JOIN cel_obs AS b '.
447
			'		ON (a.id_observation = b.id_observation) AND b.ce_utilisateur = c.ce_utilisateur ';
439
			'		ON (c.ce_observation = b.id_observation) AND b.ce_utilisateur = c.ce_utilisateur ';
448
		//echo $requete;
440
		//echo $requete;
449
		return $requete;
441
		return $requete;
Line 450... Line 442...
450
	}
442
	}
451
 
443
 
452
	private function creerRequeteAvecParametres() {
444
	private function creerRequeteAvecParametres() {
453
		// Construction de la requête
445
		// Construction de la requête
454
		$requete = 'SELECT *, b.mots_cles_texte as mots_cles_texte_obs, c.mots_cles_texte as mots_cles_texte_images, '.
446
		$requete = 'SELECT *, b.mots_cles_texte as mots_cles_texte_obs, c.mots_cles_texte as mots_cles_texte_images, '.
455
		    ' b.commentaire as commentaire_obs, c.commentaire as commentaire_img, nom_referentiel '.
447
		    ' b.commentaire as commentaire_obs, c.commentaire as commentaire_img, nom_referentiel '.
456
			'FROM cel_obs_images AS a '.
448
			'FROM cel_images AS c '.
457
			'	INNER JOIN cel_obs AS b '.
-
 
458
			'		ON (a.id_observation = b.id_observation) '.
-
 
459
			'	INNER JOIN cel_images AS c '.
449
			'	INNER JOIN cel_obs AS b '.
460
			'		ON (a.id_image = c.id_image) '.
450
			'		ON (c.ce_observation = b.id_observation) '.
461
			'WHERE b.ce_utilisateur = c.ce_utilisateur '.
451
			'WHERE b.ce_utilisateur = c.ce_utilisateur '.
Line 462... Line 452...
462
			(($this->etreFluxAdmin()) ? '' : 'AND b.transmission = 1 ').
452
			(($this->etreFluxAdmin()) ? '' : 'AND b.transmission = 1 ').