Subversion Repositories Applications.framework

Rev

Rev 433 | Rev 461 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 433 Rev 459
Line 15... Line 15...
15
 * @author		Aurélien PERONNET <aurelien@tela-botanica.org>
15
 * @author		Aurélien PERONNET <aurelien@tela-botanica.org>
16
 * @author		Jean-Pascal MILCENT <jpm@tela-botanica.org>
16
 * @author		Jean-Pascal MILCENT <jpm@tela-botanica.org>
17
 * @copyright	Copyright (c) 2010, Tela Botanica (accueil@tela-botanica.org)
17
 * @copyright	Copyright (c) 2010, Tela Botanica (accueil@tela-botanica.org)
18
 * @license	http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
18
 * @license	http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
19
 * @license	http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
19
 * @license	http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
20
 * @version	$Id: Bdd.php 433 2013-09-04 14:28:25Z jpm $
20
 * @version	$Id: Bdd.php 459 2014-03-05 16:05:54Z jpm $
21
 * @link		/doc/framework/
21
 * @link		/doc/framework/
22
 */
22
 */
23
class Bdd {
23
class Bdd {
24
	/** Constante stockant le squelette du message en cas d'erreur de requête sql. */
24
	/** Constante stockant le squelette du message en cas d'erreur de requête sql. */
25
	const ERREUR_REQUETE_TPL = 'Requête echec.\nFichier : %s.\nLigne : %s.\nMessage : %s.\nRequête : %s';
25
	const ERREUR_REQUETE_TPL = 'Requête echec.\nFichier : %s.\nLigne : %s.\nMessage : %s.\nRequête : %s';
Line 346... Line 346...
346
		}
346
		}
347
		return $retour;
347
		return $retour;
348
	}
348
	}
Line 349... Line 349...
349
 
349
 
-
 
350
	/**
-
 
351
	 * Protège une chaine de caractères ou le contenu d'un tablea avant l'insertion dans la base de données
-
 
352
	 * (ajout de quotes ou guillemets).
-
 
353
	 * @param Mixed une chaine ou un tableau à protéger
-
 
354
	 * @return mixed la chaine ou le tableau à protégé
-
 
355
	 */
-
 
356
	public function proteger($donnees) {
-
 
357
		$this->connecter();
-
 
358
		if (is_array($donnees)) {
-
 
359
			$retour = $this->protegerTableau($donnees);
-
 
360
		} else {
-
 
361
			$retour = $this->protegerChaine($donnees);
-
 
362
		}
-
 
363
		return $retour;
-
 
364
	}
-
 
365
 
350
	/**
366
	/**
351
	 * Protège une chaine de caractères avant l'insertion dans la base de données (ajout de quotes ou guillemets).
367
	 * Protège une chaine de caractères avant l'insertion dans la base de données (ajout de quotes ou guillemets).
352
	 * @param string la chaine à protéger
368
	 * @param string la chaine à protéger
353
	 * @return string la chaine protégée
369
	 * @return string la chaine protégée
354
	 */
370
	 */
355
	public function proteger($chaine) {
-
 
356
		$this->connecter();
-
 
357
 
371
	private function protegerChaine($chaine) {
358
		$retour = $chaine;
372
		$retour = $chaine;
359
		switch ($this->abstraction) {
373
		switch ($this->abstraction) {
360
			case self::ABSTRACTION_PDO :
374
			case self::ABSTRACTION_PDO :
361
				$retour = $this->connexion->quote($chaine);
375
				$retour = $this->connexion->quote($chaine);
Line 372... Line 386...
372
		}
386
		}
373
		return $retour;
387
		return $retour;
374
	}
388
	}
Line 375... Line 389...
375
	
389
 
376
	/**
390
	/**
377
	* Protège les chaines d'un tableau de caractères avant l'insertion dans la base de données (ajout de quotes ou guillemets).
-
 
378
	* @param array le tableau de chaines à protéger
-
 
379
	* @return array le tableau avec les chaines protégées
391
	 * @deprecated changement de nom. Deviendra "private" dans la version 0.5. Utiliser à la place : @see proteger
380
	*/
392
	 */
381
	public function protegerTableau($tableau) {
393
	public function protegerTableau($tableau) {
-
 
394
		foreach ($tableau as $id => $val) {
382
		$champsProteges = array();
395
			if (is_array($val)) {
-
 
396
				$tableau[$id] = $this->protegerTableau($val);
383
		foreach($tableau as $champ => $valeur) {
397
			} else {
-
 
398
				$tableau[$id] = $this->protegerChaine($val);
384
			$champsProteges[$champ] = $this->proteger($valeur);
399
			}
385
		}
400
		}
386
		return $champsProteges;
401
		return $tableau;
Line 387... Line 402...
387
	}
402
	}
388
 
403
 
389
	/**
404
	/**