Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 1838 Rev 2035
Line 48... Line 48...
48
			$requete_selection_observations .= 'WHERE ce_utilisateur = '.Cel::db()->proteger($id_utilisateur).' AND ';
48
			$requete_selection_observations .= 'WHERE ce_utilisateur = '.Cel::db()->proteger($id_utilisateur).' AND ';
49
		} else if(count($criteres) > 0) {
49
		} else if(count($criteres) > 0) {
50
			$requete_selection_observations .= 'WHERE ';
50
			$requete_selection_observations .= 'WHERE ';
51
		}
51
		}
Line -... Line 52...
-
 
52
 
-
 
53
		$tri = (isset($criteres['tri'])) ? $criteres['tri'] : 'ordre';
-
 
54
		unset($criteres['tri']);
-
 
55
		$tri_dir = (isset($criteres['tri_dir'])) ? $criteres['tri_dir'] : 'ASC';
-
 
56
		unset($criteres['tri_dir']);
52
 
57
		
53
		// très mauvaise solution, mais qui permet au moins d'effectuer des requêtes complexes, sans modifier l'API
58
		// très mauvaise solution, mais qui permet au moins d'effectuer des requêtes complexes, sans modifier l'API
54
		// et sans pour autant introduire de problème de sécurité majeur dans toutes les fonctions appelantes qui
59
		// et sans pour autant introduire de problème de sécurité majeur dans toutes les fonctions appelantes qui
55
		// effectue $criteres = $_GET sans nettoyage préalable.
60
		// effectue $criteres = $_GET sans nettoyage préalable.
56
		if(isset($criteres['sql_brut']) && !$autoriser_sql_brut) unset($criteres['sql_brut']);
61
		if(isset($criteres['sql_brut']) && !$autoriser_sql_brut) unset($criteres['sql_brut']);
57
		$sous_requete_recherche = $this->fabriquerSousRequeteRecherche($id_utilisateur, $criteres);
62
		$sous_requete_recherche = $this->fabriquerSousRequeteRecherche($id_utilisateur, $criteres);
58
 
63
		
59
		$requete_selection_observations .= $sous_requete_recherche;
64
		$requete_selection_observations .= $sous_requete_recherche;
60
		$requete_selection_observations = rtrim($requete_selection_observations, 'AND ');
65
		$requete_selection_observations = rtrim($requete_selection_observations, 'AND ');
61
		$requete_selection_observations .= $id_utilisateur == null ? ' ORDER BY id_observation, ordre ' : ' ORDER BY ordre ';
66
		$requete_selection_observations .= $id_utilisateur == null ? ' ORDER BY id_observation, ordre ' : ' ORDER BY '.$tri.' '.$tri_dir;
Line 62... Line 67...
62
		$requete_selection_observations .= ($debut == 0 && $limite == 0) ? '' : ' LIMIT '.$debut.','.$limite ;
67
		$requete_selection_observations .= ($debut == 0 && $limite == 0) ? '' : ' LIMIT '.$debut.','.$limite ;
63
 
68
 
64
		$this->requete_selection_observations = $requete_selection_observations;
69
		$this->requete_selection_observations = $requete_selection_observations;