Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 831 Rev 839
Line 19... Line 19...
19
	const SQL_RETOUR_COLONNE = 'Column';
19
	const SQL_RETOUR_COLONNE = 'Column';
20
	const SQL_RETOUR_BRUT = 'Raw';
20
	const SQL_RETOUR_BRUT = 'Raw';
Line 21... Line 21...
21
	
21
	
22
	public $config;
22
	public $config;
23
	private $ressources;
23
	private $ressources;
24
	private $parametres;
24
	protected $parametres = array();
25
	protected $bdd;
25
	protected $bdd;
26
	protected $messages = array();
26
	protected $messages = array();
Line 27... Line 27...
27
	protected $debug = array();
27
	protected $debug = array();
Line 36... Line 36...
36
 
36
 
37
		// Connection à la base de données
37
		// Connection à la base de données
Line 38... Line 38...
38
		$this->bdd = $this->connecterPDO($this->config, 'database_cel');
38
		$this->bdd = $this->connecterPDO($this->config, 'database_cel');
-
 
39
		
39
		
40
		// Nettoyage du _GET (sécurité)
40
		// Nettoyage du _GET (sécurité)
41
		$this->collecterParametres();// Récupération de tous les parametres de _GET, nettoyage et mise dans $this->parametres 
Line 41... Line 42...
41
		$this->recupererParametresUrl();
42
		$this->recupererParametresUrl();// Vidage de _GET et création d'attribut de la classe
42
		$this->definirParametresUrlParDefaut();
43
		$this->definirParametresUrlParDefaut();
43
		
44
		
Line 53... Line 54...
53
        // ATTENTION : la connexin à la bdd peut échouer si l'host vaut localhost. Utiliser 127.0.0.1 à la place.
54
        // ATTENTION : la connexin à la bdd peut échouer si l'host vaut localhost. Utiliser 127.0.0.1 à la place.
54
		$dsn = $cfg['phptype'].':dbname='.$cfg['database'].';host='.$cfg['hostspec'];
55
		$dsn = $cfg['phptype'].':dbname='.$cfg['database'].';host='.$cfg['hostspec'];
55
		try {
56
		try {
56
    		// Création de la connexion en UTF-8 à la BDD
57
    		// Création de la connexion en UTF-8 à la BDD
57
			$PDO = new PDO($dsn, $cfg['username'], $cfg['password'], array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'UTF8'"));
58
			$PDO = new PDO($dsn, $cfg['username'], $cfg['password'], array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'UTF8'"));
-
 
59
			// Affiche les erreurs détectées par PDO (sinon mode silencieux => aucune erreur affiché)
-
 
60
			$PDO->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
58
		} catch (PDOException $e) {
61
		} catch (PDOException $e) {
59
    		echo 'La connexion à la base de donnée via PDO a échouée : ' .$dsn. $e->getMessage();
62
    		echo 'La connexion à la base de donnée via PDO a échouée : ' .$dsn. $e->getMessage();
60
		}
63
		}
61
		// Affiche les erreurs détectées par PDO (sinon mode silencieux => aucune erreur affiché)
-
 
62
		$PDO->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
-
 
63
        return $PDO;
64
        return $PDO;
64
	}
65
	}
Line 65... Line 66...
65
	
66
	
66
	/**
67
	/**
Line 177... Line 178...
177
	}
178
	}
Line 178... Line 179...
178
 
179
 
179
	//+----------------------------------------------------------------------------------------------------------------+
180
	//+----------------------------------------------------------------------------------------------------------------+
Line -... Line 181...
-
 
181
	// TRAITEMENT des URLs et des PARAMÊTRES
-
 
182
	
-
 
183
	private function collecterParametres() {
-
 
184
		if (isset($_GET) && $_GET != '') {
-
 
185
			foreach ($_GET as $cle => $valeur) {
-
 
186
				$this->parametres[$cle] = $this->verifierSecuriteParametreUrl($valeur);
-
 
187
			}
-
 
188
		}
180
	// TRAITEMENT des URLs et des PARAMÊTRES
189
	}
181
	
190
	
182
	private function recupererParametresUrl() {
191
	private function recupererParametresUrl() {
183
		if (isset($_GET)) {
192
		if (isset($_GET)) {
184
			$get_params = array('orderby', 'distinct', 'start', 'limit', 'formatRetour');
193
			$get_params = array('orderby', 'distinct', 'start', 'limit', 'formatRetour');
Line 246... Line 255...
246
		$contenu = "var $variable = ".json_encode($donnees);
255
		$contenu = "var $variable = ".json_encode($donnees);
247
		$this->envoyer($contenu, 'text/html', $encodage);
256
		$this->envoyer($contenu, 'text/html', $encodage);
248
	}
257
	}
Line 249... Line 258...
249
	
258
	
250
	protected function envoyerJsonp($donnees = null, $encodage = 'utf-8') {
259
	protected function envoyerJsonp($donnees = null, $encodage = 'utf-8') {
251
		$contenu = $_GET['callback'].'('.json_encode($donnees).');';
260
		$contenu = $this->parametres['callback'].'('.json_encode($donnees).');';
252
		$this->envoyer($contenu, 'text/html', $encodage);
261
		$this->envoyer($contenu, 'text/html', $encodage);
Line 253... Line 262...
253
	}
262
	}
254
 
263
 
Line 519... Line 528...
519
       return mktime((int) $heure[0], (int) $heure[1], (int) $heure[2], (int) $date[1], (int) $date[2], (int) $date[0]);
528
       return mktime((int) $heure[0], (int) $heure[1], (int) $heure[2], (int) $date[1], (int) $date[2], (int) $date[0]);
520
	}
529
	}
Line 521... Line 530...
521
	
530
	
522
	protected function etreNull($valeur) {
531
	protected function etreNull($valeur) {
523
		$etre_null = false;
532
		$etre_null = false;
524
		if ($valeur == '' || $valeur == null || $valeur == '000null' || $valeur == 'null') {
533
		if ($valeur == '' || $valeur == null || $valeur == '000null' || $valeur == 'null' || $valeur == '*') {
525
			$etre_null = true;
534
			$etre_null = true;
526
		}
535
		}
527
		return $etre_null;
536
		return $etre_null;