Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 1622 Rev 1765
Line 75... Line 75...
75
					$this->construireWhereDate().
75
					$this->construireWhereDate().
76
					$this->construireWhereCommentaire().
76
					$this->construireWhereCommentaire().
77
					$this->construireWhereProjet().
77
					$this->construireWhereProjet().
78
					$this->construireWhereTag();
78
					$this->construireWhereTag();
79
		//die($requete);
79
		//die($requete);
80
		$resultats = $this->requeter($requete);
80
		$resultats = Cel::db()->requeter($requete);
Line 81... Line 81...
81
		
81
		
82
		// Traitement des résultats
82
		// Traitement des résultats
83
		$obs_nbre = $this->traiterNbreObs($resultats);
83
		$obs_nbre = $this->traiterNbreObs($resultats);
Line 150... Line 150...
150
						$this->construireWhereProjet().
150
						$this->construireWhereProjet().
151
						$this->construireWhereTag().
151
						$this->construireWhereTag().
152
	                    'ORDER BY nom_sel ASC '.
152
	                    'ORDER BY nom_sel ASC '.
153
	                    "LIMIT {$this->start},{$this->limit} ";
153
	                    "LIMIT {$this->start},{$this->limit} ";
154
			//die($requete);
154
			//die($requete);
155
			$resultats = $this->requeter($requete, self::SQL_RETOUR_COMPLET, self::SQL_MODE_OBJET);
155
			$resultats = Cel::db()->requeter($requete, self::SQL_RETOUR_COMPLET, self::SQL_MODE_OBJET);
Line 156... Line 156...
156
			
156
			
157
			$requete = 'SELECT FOUND_ROWS()';
157
			$requete = 'SELECT FOUND_ROWS()';
158
			$total = (int) $this->requeter($requete, self::SQL_RETOUR_COLONNE);
158
			$total = (int) Cel::db()->requeter($requete, self::SQL_RETOUR_COLONNE);
Line 159... Line 159...
159
		}
159
		}
160
		
160
		
161
		// Post-traitement
161
		// Post-traitement
Line 292... Line 292...
292
					$this->construireWhereTag();
292
					$this->construireWhereTag();
293
					'ORDER BY nom_ret ASC '.
293
					'ORDER BY nom_ret ASC '.
294
                    "LIMIT {$this->start},{$this->limit} ";
294
                    "LIMIT {$this->start},{$this->limit} ";
295
		//$this->debug[] = $requete;
295
		//$this->debug[] = $requete;
296
		//die($requete);
296
		//die($requete);
297
		$resultats = $this->requeter($requete, self::SQL_RETOUR_COMPLET, self::SQL_MODE_OBJET);
297
		$resultats = Cel::db()->requeter($requete, self::SQL_RETOUR_COMPLET, self::SQL_MODE_OBJET);
Line 298... Line 298...
298
		
298
		
299
		$requete = 'SELECT FOUND_ROWS()';
299
		$requete = 'SELECT FOUND_ROWS()';
Line 300... Line 300...
300
		$taxons['total'] = (int) $this->requeter($requete, self::SQL_RETOUR_COLONNE);
300
		$taxons['total'] = (int) Cel::db()->requeter($requete, self::SQL_RETOUR_COLONNE);
301
		
301
		
Line 302... Line 302...
302
		// Post-traitement
302
		// Post-traitement
Line 327... Line 327...
327
		$sql = '';
327
		$sql = '';
328
		// Récupération des coordonnées depuis l'id station
328
		// Récupération des coordonnées depuis l'id station
329
		extract($this->decomposerParametreStation());
329
		extract($this->decomposerParametreStation());
330
		if (isset($type)) {
330
		if (isset($type)) {
331
			if ($type == 'UTM') {
331
			if ($type == 'UTM') {
332
				$secteur = $this->proteger($secteur);
332
				$secteur = Cel::db()->proteger($secteur);
333
				$utm_x = $this->proteger($utm_x);
333
				$utm_x = Cel::db()->proteger($utm_x);
334
				$utm_y = $this->proteger($utm_y);
334
				$utm_y = Cel::db()->proteger($utm_y);
Line 335... Line 335...
335
				
335
				
336
				$sql = " AND (utm_secteur = $secteur AND utm_x = $utm_x AND utm_y = $utm_y ) ";
336
				$sql = " AND (utm_secteur = $secteur AND utm_x = $utm_x AND utm_y = $utm_y ) ";
337
			}  else if ($type == 'LngLat') {
337
			}  else if ($type == 'LngLat') {
338
				$latitude = $this->proteger($latitude);
338
				$latitude = Cel::db()->proteger($latitude);
Line 339... Line 339...
339
				$longitude = $this->proteger($longitude);
339
				$longitude = Cel::db()->proteger($longitude);
340
				
340
				
341
				$sql = " AND (latitude = $latitude AND longitude = $longitude ) ";
341
				$sql = " AND (latitude = $latitude AND longitude = $longitude ) ";
342
			}
342
			}
Line 346... Line 346...
346
	
346
	
347
	private function construireWhereCommentaire() {
347
	private function construireWhereCommentaire() {
348
		$sql = '';
348
		$sql = '';
349
		list($type, $commentaire) = $this->decomposerParametreCommentaire();
349
		list($type, $commentaire) = $this->decomposerParametreCommentaire();
350
		if (!$this->etreNull($commentaire)) {
350
		if (!$this->etreNull($commentaire)) {
351
			$commentaire = $this->proteger('%'.$commentaire.'%');
351
			$commentaire = Cel::db()->proteger('%'.$commentaire.'%');
352
			switch ($type) {
352
			switch ($type) {
353
				case '*' :
353
				case '*' :
354
					$sql = $this->obtenirConditionPourCommentaires($commentaire);
354
					$sql = $this->obtenirConditionPourCommentaires($commentaire);
355
					$sql = " AND (commentaire LIKE $commentaire OR ($sql)) ";
355
					$sql = " AND (commentaire LIKE $commentaire OR ($sql)) ";
Line 376... Line 376...
376
	
376
	
377
	private function construireWhereNomTaxon() {
377
	private function construireWhereNomTaxon() {
378
		$sql = '';
378
		$sql = '';
379
		list($type, $nom) = $this->decomposerParametreTaxon();
379
		list($type, $nom) = $this->decomposerParametreTaxon();
380
		if (!$this->etreNull($nom)) {
380
		if (!$this->etreNull($nom)) {
381
			$nom = $this->proteger($nom.'%');
381
			$nom = Cel::db()->proteger($nom.'%');
382
			switch ($type) {
382
			switch ($type) {
383
				case '*' :
383
				case '*' :
384
					$sql = " AND (nom_ret LIKE $nom OR nom_sel LIKE $nom OR famille LIKE $nom) ";
384
					$sql = " AND (nom_ret LIKE $nom OR nom_sel LIKE $nom OR famille LIKE $nom) ";
385
					break;
385
					break;
Line 403... Line 403...
403
		$sql = '';
403
		$sql = '';
404
		// Récupération des coordonnées depuis l'id station
404
		// Récupération des coordonnées depuis l'id station
405
		list($type, $date) = $this->decomposerParametreDate();
405
		list($type, $date) = $this->decomposerParametreDate();
Line 406... Line 406...
406
		
406
		
407
		if (!$this->etreNull($date)) {
407
		if (!$this->etreNull($date)) {
408
			$date = $this->proteger($date.'%');
408
			$date = Cel::db()->proteger($date.'%');
409
			switch ($type) {
409
			switch ($type) {
410
				case '*' :
410
				case '*' :
411
					$sql = " AND (
411
					$sql = " AND (
412
						date_observation LIKE $date 
412
						date_observation LIKE $date 
Line 530... Line 530...
530
			$this->construireWhereProjet().
530
			$this->construireWhereProjet().
531
			$this->construireWhereTag().
531
			$this->construireWhereTag().
532
			'ORDER BY utilisateur ASC, ordre ASC';
532
			'ORDER BY utilisateur ASC, ordre ASC';
533
		//$this->debug[] = $requete;
533
		//$this->debug[] = $requete;
534
		//die($requete);
534
		//die($requete);
535
		$resultats = $this->executerRequete($requete);
535
		$resultats = Cel::db()->executerRequete($requete);
Line 536... Line 536...
536
		
536
		
537
		$observations = null;
537
		$observations = null;
538
		if ($resultats != false) {
538
		if ($resultats != false) {
539
			$observations = array();
539
			$observations = array();
Line 575... Line 575...
575
		// Récupération des coordonnées depuis l'id station
575
		// Récupération des coordonnées depuis l'id station
576
		extract($this->parametres);
576
		extract($this->parametres);
577
		if (isset($dept) && !$this->etreNull($dept)) {
577
		if (isset($dept) && !$this->etreNull($dept)) {
578
			$valeurs_a_proteger = explode(',',trim($dept));
578
			$valeurs_a_proteger = explode(',',trim($dept));
579
			foreach ($valeurs_a_proteger as $valeur) {
579
			foreach ($valeurs_a_proteger as $valeur) {
580
				$valeurs_protegees[] = '(ce_zone_geo LIKE '.$this->bdd->quote('INSEE-C:'.$valeur.'%').') ';
580
				$valeurs_protegees[] = '(ce_zone_geo LIKE '.Cel::db()->quote('INSEE-C:'.$valeur.'%').') ';
581
			}
581
			}
582
			$valeurs = implode(' OR ', $valeurs_protegees);
582
			$valeurs = implode(' OR ', $valeurs_protegees);
583
			$sql = " AND ($valeurs) ";
583
			$sql = " AND ($valeurs) ";
584
		}
584
		}
585
		return $sql;
585
		return $sql;
Line 588... Line 588...
588
	private function construireWhereCommune() {
588
	private function construireWhereCommune() {
589
		$sql = '';
589
		$sql = '';
590
		// Récupération des coordonnées depuis l'id station
590
		// Récupération des coordonnées depuis l'id station
591
		extract($this->parametres);
591
		extract($this->parametres);
592
		if (isset($commune) && !$this->etreNull($commune)) {
592
		if (isset($commune) && !$this->etreNull($commune)) {
593
			$commune = $this->proteger($commune);
593
			$commune = Cel::db()->proteger($commune);
594
			$sql = " AND zone_geo LIKE $commune ";
594
			$sql = " AND zone_geo LIKE $commune ";
595
		}
595
		}
596
		return $sql;
596
		return $sql;
597
	}
597
	}
Line 608... Line 608...
608
	private function construireWhereUtilisateur() {
608
	private function construireWhereUtilisateur() {
609
		$sql = '';
609
		$sql = '';
610
		// Récupération des coordonnées depuis l'id station
610
		// Récupération des coordonnées depuis l'id station
611
		extract($this->parametres);
611
		extract($this->parametres);
612
		if (isset($utilisateur) && !$this->etreNull($utilisateur)) {
612
		if (isset($utilisateur) && !$this->etreNull($utilisateur)) {
613
			$utilisateur = $this->proteger($utilisateur);
613
			$utilisateur = Cel::db()->proteger($utilisateur);
614
			$sql = " AND courriel_utilisateur = $utilisateur ";
614
			$sql = " AND courriel_utilisateur = $utilisateur ";
615
		}
615
		}
616
		return $sql;
616
		return $sql;
617
	}
617
	}
Line 618... Line 618...
618
	
618
	
619
	private function construireWhereNumTaxon() {
619
	private function construireWhereNumTaxon() {
620
		$sql = '';
620
		$sql = '';
621
		// Récupération des coordonnées depuis l'id station
621
		// Récupération des coordonnées depuis l'id station
622
		extract($this->parametres);
622
		extract($this->parametres);
623
		if (isset($num_taxon) && !$this->etreNull($num_taxon)) {
623
		if (isset($num_taxon) && !$this->etreNull($num_taxon)) {
624
			$num_taxon = $this->proteger($num_taxon);
624
			$num_taxon = Cel::db()->proteger($num_taxon);
625
			$sql = " AND nt = $num_taxon ";
625
			$sql = " AND nt = $num_taxon ";
626
		}
626
		}
627
		return $sql;
627
		return $sql;
Line 642... Line 642...
642
	 * Traitement de $projet pour construction du filtre dans la requête
642
	 * Traitement de $projet pour construction du filtre dans la requête
643
	 */
643
	 */
644
	private function getSqlWhereProjet($projet) {
644
	private function getSqlWhereProjet($projet) {
645
		$sql = null;
645
		$sql = null;
646
		if (isset($projet) && !$this->etreNull($projet)) {
646
		if (isset($projet) && !$this->etreNull($projet)) {
647
			$sql = 'co.mots_cles_texte LIKE '.$this->proteger($projet);
647
			$sql = 'co.mots_cles_texte LIKE '.Cel::db()->proteger($projet);
648
		}
648
		}
649
		return $sql;
649
		return $sql;
650
	}
650
	}
Line 651... Line 651...
651
	
651
	
Line 683... Line 683...
683
						$this->construireWhereProjet().
683
						$this->construireWhereProjet().
684
						(!$this->etreNull($tag_sql) ? "AND ($tag_sql) " : '').
684
						(!$this->etreNull($tag_sql) ? "AND ($tag_sql) " : '').
685
						'ORDER BY utilisateur ASC, ci.ordre ASC';
685
						'ORDER BY utilisateur ASC, ci.ordre ASC';
686
			//$this->debug[] = $requete;
686
			//$this->debug[] = $requete;
687
			//die($requete);
687
			//die($requete);
688
			$elements_tag = $this->executerRequete($requete);
688
			$elements_tag = Cel::db()->executerRequete($requete);
Line 689... Line 689...
689
			
689
			
690
			$requete_tag = array();
690
			$requete_tag = array();
Line 691... Line 691...
691
			if ($elements_tag != false && count($elements_tag) > 0) {
691
			if ($elements_tag != false && count($elements_tag) > 0) {
Line 754... Line 754...
754
		} else {
754
		} else {
755
			$mots_cles['motsCles'][] = $tags;
755
			$mots_cles['motsCles'][] = $tags;
756
		}
756
		}
Line 757... Line 757...
757
		
757
		
758
		foreach ($mots_cles['motsCles'] as $mot) {
758
		foreach ($mots_cles['motsCles'] as $mot) {
759
			$mots_cles['motsClesEncodesProteges'][] = $this->bdd->quote('%'.$mot.'%');
759
			$mots_cles['motsClesEncodesProteges'][] = Cel::db()->quote('%'.$mot.'%');
760
		}
760
		}
761
		$this->debug[] = $mots_cles;
761
		$this->debug[] = $mots_cles;
762
		return $mots_cles;
762
		return $mots_cles;