Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 714 Rev 716
Line 321... Line 321...
321
		if (isset($this->parametres[0])) {
321
		if (isset($this->parametres[0])) {
322
			$this->format_image = $this->parametres[0];
322
			$this->format_image = $this->parametres[0];
323
		}
323
		}
Line 324... Line 324...
324
		
324
		
325
		// Construction de la requête
325
		// Construction de la requête
326
		$requete = 	(($this->distinct) ? 'SELECT DISTINCT' : 'SELECT').' ci.*, '.
326
		$requete = 	(isset($this->distinct) ? 'SELECT DISTINCT' : 'SELECT').' ci.*, '.
327
			'	ci_id_image, ci_ce_utilisateur, ci_nom_original, ci_meta_date_ajout, ci_meta_mots_cles, ci_meta_comment, ci_note_image  '.
327
			'	ci_id_image, ci_ce_utilisateur, ci_nom_original, ci_meta_date_ajout, ci_meta_mots_cles, ci_meta_comment, ci_note_image  '.
328
			'FROM cel_obs_images AS coi '.
328
			'FROM cel_obs_images AS coi '.
329
			'LEFT JOIN cel_inventory AS ci '.
329
			'LEFT JOIN cel_inventory AS ci '.
330
				'ON (coi.coi_ce_observation = ci.ordre AND coi.coi_ce_utilisateur = ci.identifiant) '.
330
				'ON (coi.coi_ce_observation = ci.ordre AND coi.coi_ce_utilisateur = ci.identifiant) '.
331
			'LEFT JOIN cel_images AS cim '.
331
			'LEFT JOIN cel_images AS cim '.
332
				'ON (coi.coi_ce_image = cim.ci_id_image AND coi.coi_ce_utilisateur = cim.ci_ce_utilisateur) '.  
332
				'ON (coi.coi_ce_image = cim.ci_id_image AND coi.coi_ce_utilisateur = cim.ci_ce_utilisateur) '.  
333
			'WHERE ci.transmission = 1 '.
333
			'WHERE ci.transmission = 1 '.
334
			'	AND ci.identifiant = cim.ci_ce_utilisateur '.
334
			'	AND ci.identifiant = cim.ci_ce_utilisateur '.
335
			'ORDER BY '.((!is_null($this->orderby)) ? $this->orderby  : 'ci_meta_date_ajout DESC').' '.
335
			'ORDER BY '.(isset($this->orderby) && (!is_null($this->orderby)) ? $this->orderby  : 'ci_meta_date_ajout DESC').' '.
Line 336... Line 336...
336
			"LIMIT $this->start, $this->limit ";
336
			"LIMIT $this->start, $this->limit ";
Line 337... Line 337...
337
		
337
		
Line 454... Line 454...
454
		$requete = rtrim($requete,' AND ');
454
		$requete = rtrim($requete,' AND ');
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
		if (preg_match('/.*,.*/', $mot_cle)) {
460
		if (preg_match('/.*,.*/', $mot_cle)) {
460
			$requete = $this->creerSousRequeteMotsClesOu($mot_cle);
461
			$requete = $this->creerSousRequeteMotsClesOu($mot_cle);
461
		} else if (preg_match('/.*ET.*/', $mot_cle)) {
462
		} else if (preg_match('/.*ET.*/', $mot_cle)) {
462
			$requete = $this->creerSousRequeteMotsClesEt($mot_cle);
463
			$requete = $this->creerSousRequeteMotsClesEt($mot_cle);
463
		} else {		
464
		} else {		
464
			// Construction de la requête
465
			// Construction de la requête
465
			$prerequete = 	"SELECT cmc_id_mot_cle_utilisateur, cmc_id_proprietaire FROM cel_mots_cles_images WHERE $where ".
466
			$prerequete = 	"SELECT cmc_id_mot_cle_utilisateur, cmc_id_proprietaire FROM cel_mots_cles_images WHERE $where ".
466
				'cmc_id_mot_cle_general = '.$this->bdd->quote($this->encoderMotCle($mot_cle)); 
467
				'cmc_id_mot_cle_general = '.$this->bdd->quote($this->encoderMotCle($mot_cle)); 
467
			$elements = $this->executerRequete($prerequete);//print_r($elements);
468
			$elements = $this->executerRequete($prerequete);
468
			if ($elements != false && count($elements) > 0) {
469
			if ($elements != false && count($elements) > 0) {
469
				foreach ($elements as $occurence) {
470
				foreach ($elements as $occurence) {
470
					$requete .= '(ci_meta_mots_cles LIKE "%'.$occurence['cmc_id_mot_cle_utilisateur'].'%" AND ci_ce_utilisateur = '.
471
					$requete .= '(ci_meta_mots_cles LIKE "%'.$occurence['cmc_id_mot_cle_utilisateur'].'%" AND ci_ce_utilisateur = '.
471
						$this->bdd->quote($occurence['cmc_id_proprietaire']).' ) OR ';	
472
						$this->bdd->quote($occurence['cmc_id_proprietaire']).' ) OR ';	
Line 521... Line 522...
521
		// Construction de la requête
522
		// Construction de la requête
522
		$prerequete = 	"SELECT $champs FROM $table WHERE $where "; 
523
		$prerequete = 	"SELECT $champs FROM $table WHERE $where "; 
523
		$elements = $this->executerRequete($prerequete);//print_r($elements);
524
		$elements = $this->executerRequete($prerequete);//print_r($elements);
524
		if ($elements != false && count($elements) > 0) {
525
		if ($elements != false && count($elements) > 0) {
525
			foreach ($elements as $occurence) {
526
			foreach ($elements as $occurence) {
526
				$occurence['cmc_id_mot_cle_utilisateur'] = '';
527
				$requete = ' (';
527
				for ($j = 'a'; $j < $i; $j++) {
528
				for ($j = 'a'; $j < $i; $j++) {
528
					$occurence['cmc_id_mot_cle_utilisateur'] .= $occurence[$j].',';
529
					$requete .= 'ci_meta_mots_cles like "%'.$occurence[$j].'%" AND ';
529
				}
530
				}
530
				$requete .= '(ci_meta_mots_cles = "'.$occurence['cmc_id_mot_cle_utilisateur'].'" AND ci_ce_utilisateur = '.
-
 
531
						$this->bdd->quote($occurence['cmc_id_proprietaire']).' ) OR ';
531
				$requete .= ' ci_ce_utilisateur = '.$this->bdd->quote($occurence['cmc_id_proprietaire']).' ) OR ';
532
			}
532
			}
533
		}
533
		}
534
		return $requete;
534
		return $requete;
535
	}		
535
	}		
536
	private function creerSousRequeteRechercheGenerale($chaine_requete) {
536
	private function creerSousRequeteRechercheGenerale($chaine_requete) {