| 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;
|