Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 718 Rev 741
Line 21... Line 21...
21
	private $flux = array();
21
	private $flux = array();
Line 22... Line 22...
22
	
22
	
Line 23... Line 23...
23
	private $format_image = 'XL';
23
	private $format_image = 'XL';
24
	
24
	
25
	private $criteres = array(
25
	private $criteres = array(
26
		'auteur' => 'c.ci_ce_utilisateur', 
26
		'utilisateur' => 'c.ci_ce_utilisateur', 
27
		'commune' => 'b.location', 
27
		'commune' => 'b.location', 
28
		'departement' => 'b.id_location',
28
		'dept' => 'b.id_location',
29
		'taxon' => 'b.nom_ret',
29
		'taxon' => 'b.nom_ret',
30
		'commentaire' => 'c.ci_meta_comment',
30
		'commentaire' => 'c.ci_meta_comment',
Line 31... Line 31...
31
		'date' => 'c.ci_meta_date',
31
		'date' => 'c.ci_meta_date',
32
		'mots-cles' => 'mots-cles');
32
		'tag' => 'mots-cles');
33
	
33
	
34
	/**
34
	/**
Line 414... Line 414...
414
 
414
 
415
		// Création du contenu
415
		// Création du contenu
416
		if ($elements != false && count($elements) > 0) {
416
		if ($elements != false && count($elements) > 0) {
417
			$contenu = $this->executerService($elements);
417
			$contenu = $this->executerService($elements);
418
		} else {
418
		} else {
419
			$this->messages[] = "Aucune image disponible.";
419
			$this->messages[] = "Aucune image disponible.".$requete;
Line 420... Line 420...
420
		}
420
		}
421
        
421
        
Line 455... Line 455...
455
		return $requete;
455
		return $requete;
456
	}
456
	}
Line 457... Line 457...
457
	
457
	
458
	private function creerSousRequeteMotsCles($mot_cle) {
458
	private function creerSousRequeteMotsCles($mot_cle) {
459
		$requete = ' ( ';
459
		$requete = ' ( ';
460
		if (preg_match('/.*,.*/', $mot_cle)) {
460
		if (preg_match('/.*OU.*/', $mot_cle)) {
461
			$requete = $this->creerSousRequeteMotsClesOu($mot_cle);
461
			$requete = $this->creerSousRequeteMotsClesOu($mot_cle);
462
		} else if (preg_match('/.*ET.*/', $mot_cle)) {
462
		} else if (preg_match('/.*ET.*/', $mot_cle)) {
463
			$requete = $this->creerSousRequeteMotsClesEt($mot_cle);
463
			$requete = $this->creerSousRequeteMotsClesEt($mot_cle);
464
		} else {		
464
		} else {		
Line 478... Line 478...
478
	}
478
	}
Line 479... Line 479...
479
	
479
	
480
	private function creerSousRequeteMotsClesOu($mot_cle) {
480
	private function creerSousRequeteMotsClesOu($mot_cle) {
Line 481... Line 481...
481
		$requete = ' ( ';
481
		$requete = ' ( ';
482
		
482
		
483
		$tab_mots_cles = explode(',', $mot_cle);
483
		$tab_mots_cles = explode('OU', $mot_cle);
484
		$where = '';
484
		$where = '';
485
		foreach ($tab_mots_cles as $mot) {
485
		foreach ($tab_mots_cles as $mot) {
486
			$where .= 'cmc_id_mot_cle_general = '.$this->bdd->quote($this->encoderMotCle($mot)).' OR ';
486
			$where .= 'cmc_id_mot_cle_general = '.$this->bdd->quote($this->encoderMotCle(trim($mot))).' OR ';
Line 487... Line 487...
487
		}
487
		}
488
		$where = rtrim($where,' OR ');
488
		$where = rtrim($where,' OR ');
Line 508... Line 508...
508
		
508
		
509
		$tab_mots_cles = explode("ET", $mot_cle); 
509
		$tab_mots_cles = explode("ET", $mot_cle); 
510
		foreach ($tab_mots_cles as $mot) {
510
		foreach ($tab_mots_cles as $mot) {
511
			$champs .= "$i.cmc_id_mot_cle_utilisateur as $i , ";
511
			$champs .= "$i.cmc_id_mot_cle_utilisateur as $i , ";
512
			$table .= "cel_mots_cles_images $i , ";
512
			$table .= "cel_mots_cles_images $i , ";
513
			$where .= "$i.cmc_id_mot_cle_general = ".$this->bdd->quote($this->encoderMotCle($mot)).' AND ';
513
			$where .= "$i.cmc_id_mot_cle_general = ".$this->bdd->quote($this->encoderMotCle(trim($mot))).' AND ';
514
			if ($i !== "a") {
514
			if ($i !== "a") {
515
				$where .= " $i.cmc_id_proprietaire = ".$j.".cmc_id_proprietaire AND ";
515
				$where .= " $i.cmc_id_proprietaire = ".$j.".cmc_id_proprietaire AND ";
516
				$j++;
516
				$j++;
517
			}
517
			}
518
			$i++;
518
			$i++;
519
		}
519
		}
Line 520... Line 520...
520
		$where = rtrim($where,' AND '); $champs = rtrim($champs,' , '); $table = rtrim($table,' , ');
520
		$where = rtrim($where,' AND '); $champs = rtrim($champs,' , '); $table = rtrim($table,' , ');
521
		
521
		
522
		// Construction de la requête
522
		// Construction de la requête
523
		$prerequete = 	"SELECT $champs FROM $table WHERE $where "; 
523
		$prerequete = 	"SELECT $champs FROM $table WHERE $where ";
524
		$elements = $this->executerRequete($prerequete);//print_r($elements);
524
		$elements = $this->executerRequete($prerequete);//print_r($elements);
525
		if ($elements != false && count($elements) > 0) {
525
		if ($elements != false && count($elements) > 0) {
526
			foreach ($elements as $occurence) {
526
			foreach ($elements as $occurence) {
527
				$requete = ' (';
527
				$requete .= ' (';
528
				for ($j = 'a'; $j < $i; $j++) {
528
				for ($j = 'a'; $j < $i; $j++) {
529
					$requete .= 'ci_meta_mots_cles like "%'.$occurence[$j].'%" AND ';
529
					$requete .= 'ci_meta_mots_cles like "%'.$occurence[$j].'%" AND ';
530
				}
530
				}