| Line 1... | 
            Line 1... | 
          
          
            | 1 | 
            <?php
  | 
            1 | 
            <?php
  | 
          
          
            | 2 | 
            // declare(encoding='UTF-8');
  | 
            2 | 
            // declare(encoding='UTF-8');
  | 
          
          
            | 3 | 
            /**
  | 
            3 | 
            /**
  | 
          
          
            | 4 | 
             * Le web service image récupère toutes les données de la table del_obs_images
  | 
            4 | 
             * Retourne la liste commentaires correspondant aux filtres passés dans l'url :
  | 
          
          
            | - | 
               | 
            5 | 
             * http://localhost/del/services/0.1/commentaires => liste tous les commentaires
  | 
          
          
            | 5 | 
             * pour retourner une liste d'images associée à une observation
  | 
            6 | 
             * Filtres : voir le fichier de config : commentaires.masques_possibles
  | 
          
          
            | 6 | 
             *
  | 
            7 | 
             *
  | 
          
          
            | 7 | 
             * @category	php 5.2
  | 
            8 | 
             * @category   DEL
  | 
          
          
            | 8 | 
             * @package	del
  | 
            9 | 
             * @package    Services
  | 
          
          
            | 9 | 
             * @subpackage images
  | 
            10 | 
             * @subpackage Commentaires
  | 
          
          
            | - | 
               | 
            11 | 
             * @version    0.1
  | 
          
          
            | 10 | 
             * @author		Jean-Pascal MILCENT <jpm@tela-botanica.org>
  | 
            12 | 
             * @author     Mathias CHOUET <mathias@tela-botanica.org>
  | 
          
          
            | 11 | 
             * @copyright	Copyright (c) 2012, Tela Botanica (accueil@tela-botanica.org)
  | 
            13 | 
             * @author     Jean-Pascal MILCENT <jpm@tela-botanica.org>
  | 
          
          
            | 12 | 
             * @license	http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
  | 
            14 | 
             * @author     Aurelien PERONNET <aurelien@tela-botanica.org>
  | 
          
          
            | 13 | 
             * @license	http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
  | 
            15 | 
             * @license    GPL v3 <http://www.gnu.org/licenses/gpl.txt>
  | 
          
          
            | 14 | 
             * @version	$Id: Bdd.php 403 2012-02-22 14:35:20Z gduche $
  | 
            16 | 
             * @license    CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>
  | 
          
          
            | 15 | 
             * @see http://www.tela-botanica.org/wikini/eflore/wakka.php?wiki=ApiIdentiplante01Images
  | 
            17 | 
             * @copyright  1999-2014 Tela Botanica <accueil@tela-botanica.org>
  | 
          
          
            | 16 | 
             */
  | 
            18 | 
             */
  | 
          
          
            | Line 17... | 
            Line 19... | 
          
          
            | 17 | 
             
  | 
            19 | 
             
  | 
          
          
            | Line 18... | 
            Line 20... | 
          
          
            | 18 | 
            class ListeCommentaires {
  | 
            20 | 
            class ListeCommentaires {
  | 
          
          
            | Line 22... | 
            Line 24... | 
          
          
            | 22 | 
            	private $masque;
  | 
            24 | 
            	private $masque;
  | 
          
          
            | 23 | 
            	private $bdd;
  | 
            25 | 
            	private $bdd;
  | 
          
          
            | 24 | 
            	private $parametres = array();
  | 
            26 | 
            	private $parametres = array();
  | 
          
          
            | 25 | 
            	private $ressources = array();
  | 
            27 | 
            	private $ressources = array();
  | 
          
          
            | Line -... | 
            Line 28... | 
          
          
            | - | 
               | 
            28 | 
             
  | 
          
          
            | - | 
               | 
            29 | 
            	private $mapping = array();
  | 
          
          
            | - | 
               | 
            30 | 
            	private $mappingInverse = array();
  | 
          
          
            | 26 | 
             
  | 
            31 | 
             
  | 
          
          
            | 27 | 
            	public function __construct(Conteneur $conteneur = null) {
  | 
            32 | 
            	public function __construct(Conteneur $conteneur = null) {
  | 
          
          
            | 28 | 
            		$this->conteneur = $conteneur == null ? new Conteneur() : $conteneur;
  | 
            - | 
               | 
          
          
            | 29 | 
            		$this->conteneur->chargerConfiguration('config_commentaires.ini');
  | 
            - | 
               | 
          
          
            | 30 | 
            		$this->conteneur->chargerConfiguration('config_mapping_commentaires.ini');
  | 
            33 | 
            		$this->conteneur = ($conteneur == null) ? new Conteneur() : $conteneur;
  | 
          
          
            | 31 | 
            		$this->navigation = $conteneur->getNavigation();
  | 
            34 | 
            		$this->navigation = $this->conteneur->getNavigation();
  | 
          
          
            | 32 | 
            		$this->masque = $conteneur->getMasque();
  | 
            35 | 
            		$this->masque = $this->conteneur->getMasque();
  | 
          
          
            | - | 
               | 
            36 | 
            		$this->bdd = $this->conteneur->getBdd();
  | 
          
          
            | - | 
               | 
            37 | 
             
  | 
          
          
            | - | 
               | 
            38 | 
            		$this->mapping = $this->conteneur->getParametreTableau('commentaires.mapping');
  | 
          
          
            | 33 | 
            		$this->bdd = $this->conteneur->getBdd();
  | 
            39 | 
            		$this->mappingInverse = array_flip($this->mapping);
  | 
          
          
            | Line 34... | 
            Line 40... | 
          
          
            | 34 | 
            	}
  | 
            40 | 
            	}
  | 
          
          
            | 35 | 
             
  | 
            41 | 
             
  | 
          
          
            | 36 | 
            	/**
  | 
            42 | 
            	/**
  | 
          
          
            | 37 | 
            	 * Méthode principale de la classe.
  | 
            43 | 
            	 * Méthode principale de la classe.
  | 
          
          
            | 38 | 
            	 * Lance la récupération des images dans la base et les place dans un objet ResultatService
  | 
            44 | 
            	 * Lance la récupération des images dans la base et les place dans un objet ResultatService
  | 
          
          
            | 39 | 
            	 * pour l'afficher.
  | 
            45 | 
            	 * pour l'afficher.
  | 
          
          
            | 40 | 
            	 * @param array $ressources les ressources situées après l'url de base (ex : http://url/ressource1/ressource2)
  | 
            46 | 
            	 * @param array $ressources les ressources situées après l'url de base (ex : http://url/ressource1/ressource2)
  | 
          
          
            | 41 | 
            	 * @param array $parametres les paramètres situés après le ? dans l'url
  | 
            47 | 
            	 * @param array $parametres les paramètres situés après le ? dans l'url
  | 
          
          
            | 42 | 
            	 * */
  | 
            - | 
               | 
          
          
            | 43 | 
            	public function consulter($ressources, $parametres) {
  | 
            - | 
               | 
          
          
            | 44 | 
            		$this->initialiserRessourcesEtParametres($ressources, $parametres);
  | 
            - | 
               | 
          
          
            | 45 | 
             
  | 
            - | 
               | 
          
          
            | 46 | 
            		// Gestion des configuration du script
  | 
            - | 
               | 
          
          
            | 47 | 
            		$this->configurer();
  | 
            - | 
               | 
          
          
            | 48 | 
            		$this->verifierConfiguration();
  | 
            48 | 
            	 * */
  | 
          
          
            | 49 | 
             
  | 
            49 | 
            	public function consulter($ressources) {
  | 
          
          
            | - | 
               | 
            50 | 
            		// Lancement du service
  | 
          
          
            | - | 
               | 
            51 | 
            		$commentaires = $this->chargerCommentaires();
  | 
          
          
            | 50 | 
            		// Lancement du service
  | 
            52 | 
            		$total = $this->compterCommentairesTotal();
  | 
          
          
            | 51 | 
            		$commentaires = $this->chargerCommentaires();
  | 
            - | 
               | 
          
          
            | 52 | 
            		$commentaires = $this->formaterCommentaires($commentaires);
  | 
            53 | 
             
  | 
          
          
            | Line 53... | 
            Line 54... | 
          
          
            | 53 | 
            		$total = $this->compterCommentaires();
  | 
            54 | 
            		$commentaires = $this->formaterCommentaires($commentaires);
  | 
          
          
            | 54 | 
            		$this->navigation->setTotal($total);
  | 
            - | 
               | 
          
          
            | 55 | 
             
  | 
            55 | 
            		$this->navigation->setTotal($total);
  | 
          
          
            | 56 | 
            		$resultat = new ResultatService();
  | 
            56 | 
             
  | 
          
          
            | 57 | 
             
  | 
            57 | 
            		$resultat = new ResultatService();
  | 
          
          
            | Line 58... | 
            Line -... | 
          
          
            | 58 | 
            		$resultat->corps = array('entete' => $this->navigation->getEntete(), 'resultats' => $commentaires);
  | 
            - | 
               | 
          
          
            | 59 | 
            		return $resultat;
  | 
            - | 
               | 
          
          
            | 60 | 
            	}
  | 
            - | 
               | 
          
          
            | 61 | 
             
  | 
            - | 
               | 
          
          
            | 62 | 
            	private function initialiserRessourcesEtParametres($ressources, $parametres) {
  | 
            - | 
               | 
          
          
            | 63 | 
            		$this->ressources = $ressources;
  | 
            - | 
               | 
          
          
            | 64 | 
            		$this->parametres = $parametres;
  | 
            - | 
               | 
          
          
            | 65 | 
            	}
  | 
            - | 
               | 
          
          
            | 66 | 
             
  | 
            - | 
               | 
          
          
            | 67 | 
            	/*-------------------------------------------------------------------------------
  | 
            - | 
               | 
          
          
            | 68 | 
            	 							CONFIGURATION DU SERVICE
  | 
            - | 
               | 
          
          
            | 69 | 
            	 --------------------------------------------------------------------------------*/
  | 
            - | 
               | 
          
          
            | 70 | 
            	/**
  | 
            - | 
               | 
          
          
            | 71 | 
            	 * Configuration du service en fonction du fichier de config config_del.ini
  | 
            - | 
               | 
          
          
            | 72 | 
            	 * */
  | 
            - | 
               | 
          
          
            | 73 | 
            	public function configurer() {
  | 
            - | 
               | 
          
          
            | 74 | 
            		$this->mappingFiltre = $this->conteneur->getParametre('mapping_masque');
  | 
            58 | 
            		$resultat->corps = array('entete' => $this->navigation->getEntete(), 'resultats' => $commentaires);
  | 
          
          
            | 75 | 
            		$this->mappingCommentaire = $this->conteneur->getParametre('mapping_commentaire');
  | 
            59 | 
            		return $resultat;
  | 
          
          
            | 76 | 
            	}
  | 
            60 | 
            	}
  | 
          
          
            | 77 | 
             
  | 
            61 | 
             
  | 
          
          
            | 78 | 
            	/**
  | 
            - | 
               | 
          
          
            | 79 | 
            	 * Vérifier que le service est bien configuré
  | 
            - | 
               | 
          
          
            | 80 | 
            	 * */
  | 
            62 | 
            	/**
  | 
          
          
            | 81 | 
            	public function verifierConfiguration() {
  | 
            63 | 
            	* Chargement depuis la bdd de tous les commentaires
  | 
          
          
            | 82 | 
             
  | 
            - | 
               | 
          
          
            | 83 | 
            		$erreurs = array();
  | 
            - | 
               | 
          
          
            | 84 | 
            		$tableauCommentaires = $this->conteneur->getParametre('commentaires');
  | 
            - | 
               | 
          
          
            | 85 | 
            		if (empty($tableauCommentaires)) {
  | 
            - | 
               | 
          
          
            | 86 | 
            			$erreurs[] = '- le fichier de configuration ne contient pas le tableau [commentaires] ou celui-ci est vide ;';
  | 
            - | 
               | 
          
          
            | 87 | 
            		} else {
  | 
            - | 
               | 
          
          
            | 88 | 
            			if ($this->conteneur->getParametre('url_service') == null) {
  | 
            - | 
               | 
          
          
            | 89 | 
            				$erreurs[] = '- paramètre "url_service" manquant ;';
  | 
            64 | 
            	* */
  | 
          
          
            | 90 | 
            			}
  | 
            - | 
               | 
          
          
            | 91 | 
            		}
  | 
            - | 
               | 
          
          
            | 92 | 
             
  | 
            - | 
               | 
          
          
            | 93 | 
            		if (empty($this->mappingCommentaire)) {
  | 
            - | 
               | 
          
          
            | 94 | 
            			$erreurs[] = '- le fichier de configuration ne contient pas le tableau [mapping_commentaire] ou celui-ci est vide ;';
  | 
            - | 
               | 
          
          
            | 95 | 
            		} else {
  | 
            65 | 
            	private function chargerCommentaires() {
  | 
          
          
            | 96 | 
            			$champsMappingCom = array('id_commentaire', 'texte', 'ce_utilisateur', 'utilisateur_nom', 'utilisateur_prenom', 'utilisateur_courriel', 'date');
  | 
            - | 
               | 
          
          
            | 97 | 
            			foreach ($champsMappingCom as $champ) {
  | 
            - | 
               | 
          
          
            | 98 | 
            				if (!isset($this->mappingCommentaire[$champ])) {
  | 
            - | 
               | 
          
          
            | 99 | 
            					$erreurs[] = '- le mapping du champ "'.$champ.'" pour le commentaire est manquant ;';
  | 
            - | 
               | 
          
          
            | 100 | 
            				}
  | 
            66 | 
            		$requete = 'SELECT DISTINCT SQL_CALC_FOUND_ROWS * '.
  | 
          
          
            | 101 | 
            			}
  | 
            - | 
               | 
          
          
            | 102 | 
            		}
  | 
            - | 
               | 
          
          
            | 103 | 
             
  | 
            - | 
               | 
          
          
            | 104 | 
            		if (empty($this->mappingFiltre)) {
  | 
            - | 
               | 
          
          
            | 105 | 
            			$erreurs[] = '- le fichier de configuration ne contient pas le tableau [mapping_masque] ou celui-ci est vide ;';
  | 
            67 | 
            			'FROM del_commentaire '.
  | 
          
          
            | 106 | 
            		} else {
  | 
            - | 
               | 
          
          
            | 107 | 
            			$champsMappingFiltre = array('observation');
  | 
            - | 
               | 
          
          
            | 108 | 
            			foreach ($champsMappingFiltre as $champ) {
  | 
            - | 
               | 
          
          
            | 109 | 
            				if (!isset($this->mappingFiltre[$champ])) {
  | 
            - | 
               | 
          
          
            | 110 | 
            					$erreurs[] = '- le mapping du champ "'.$champ.'" pour l\'observation est manquant ;';
  | 
            - | 
               | 
          
          
            | 111 | 
            				}
  | 
            - | 
               | 
          
          
            | 112 | 
            			}
  | 
            68 | 
            			'WHERE '.$this->creerClauseWhere().' '.
  | 
          
          
            | 113 | 
            		}
  | 
            - | 
               | 
          
          
            | 114 | 
             
  | 
            - | 
               | 
          
          
            | 115 | 
            		if (!empty($erreurs)) {
  | 
            - | 
               | 
          
          
            | 116 | 
            			$e = 'Erreur lors de la configuration : '."\n";
  | 
            69 | 
            			'LIMIT '.$this->navigation->getDepart().','.$this->navigation->getLimite().' '.
  | 
          
          
            | Line 117... | 
            Line -... | 
          
          
            | 117 | 
            			$e .= implode("\n", $erreurs);
  | 
            - | 
               | 
          
          
            | 118 | 
            			throw new Exception($e, RestServeur::HTTP_CODE_ERREUR);
  | 
            - | 
               | 
          
          
            | 119 | 
            		}
  | 
            - | 
               | 
          
          
            | 120 | 
            	}
  | 
            70 | 
            			' -- '.__FILE__.' : '.__LINE__;
  | 
          
          
            | 121 | 
             
  | 
            71 | 
            		$resultat = $this->bdd->recupererTous($requete);
  | 
          
          
            | 122 | 
            	/**
  | 
            72 | 
            		return is_array($resultat) ? $resultat : array();
  | 
          
          
            | 123 | 
            	* Charger la clause WHERE en fonction des paramètres de masque
  | 
            73 | 
            	}
  | 
          
          
            | 124 | 
            	* */
  | 
            74 | 
             
  | 
          
          
            | 125 | 
            	private function chargerClauseWhere() {
  | 
            - | 
               | 
          
          
            | 126 | 
            		$where = array();
  | 
            - | 
               | 
          
          
            | 127 | 
            		$tableauMasque = $this->masque->getMasque();
  | 
            - | 
               | 
          
          
            | 128 | 
            		if (!empty($tableauMasque)) {
  | 
            - | 
               | 
          
          
            | 129 | 
            			foreach($tableauMasque as $idMasque => $valeurMasque) {
  | 
            - | 
               | 
          
          
            | 130 | 
            				//TODO: scinder ceci en fonctions réutilisables ?
  | 
            75 | 
            	private function creerClauseWhere() {
  | 
          
          
            | 131 | 
            				// voir si c'est interessant par rapport à la recherche générale
  | 
            - | 
               | 
          
          
            | 132 | 
            				$idMasque = str_replace('masque.', '', $idMasque);
  | 
            - | 
               | 
          
          
            | 133 | 
            				switch ($idMasque) {
  | 
            76 | 
            		$where = array();
  | 
          
          
            | 134 | 
            					default:
  | 
            77 | 
            		$filtres = $this->masque->getMasque();
  | 
          
          
            | 135 | 
            						$where[] = ' '.$this->mappingFiltre[$idMasque].' = '.$this->proteger($valeurMasque);
  | 
            - | 
               | 
          
          
            | 136 | 
            					break;
  | 
            78 | 
            		if (!empty($filtres)) {
  | 
          
          
            | 137 | 
            				}
  | 
            - | 
               | 
          
          
            | 138 | 
            			}
  | 
            - | 
               | 
          
          
            | 139 | 
            		}
  | 
            - | 
               | 
          
          
            | 140 | 
            		if (!empty($where)) {
  | 
            - | 
               | 
          
          
            | 141 | 
            			return ' WHERE '.implode('AND', $where);
  | 
            - | 
               | 
          
          
            | 142 | 
            		} else {
  | 
            - | 
               | 
          
          
            | 143 | 
            			return;
  | 
            - | 
               | 
          
          
            | 144 | 
            		}
  | 
            - | 
               | 
          
          
            | 145 | 
            	}
  | 
            - | 
               | 
          
          
            | 146 | 
             
  | 
            - | 
               | 
          
          
            | 147 | 
            	/*-------------------------------------------------------------------------------
  | 
            - | 
               | 
          
          
            | 148 | 
            							   CHARGEMENT DES COMMENTAIRES
  | 
            - | 
               | 
          
          
            | 149 | 
            	--------------------------------------------------------------------------------*/
  | 
            - | 
               | 
          
          
            | 150 | 
            	/**
  | 
            - | 
               | 
          
          
            | 151 | 
            	* Chargement depuis la bdd de tous les commentaires
  | 
            79 | 
            			foreach ($filtres as $cle => $valeur) {
  | 
          
          
            | 152 | 
            	* */
  | 
            - | 
               | 
          
          
            | 153 | 
            	private function chargerCommentaires() {
  | 
            - | 
               | 
          
          
            | 154 | 
             
  | 
            80 | 
            				$where[] = $this->mappingInverse[$cle].' = '.$this->bdd->proteger($valeur);
  | 
          
          
            | Line 155... | 
            Line 81... | 
          
          
            | 155 | 
            		$requeteLiaisons = 'SELECT DISTINCT SQL_CALC_FOUND_ROWS * FROM del_commentaire '.
  | 
            81 | 
            			}
  | 
          
          
            | 156 | 
            			$this->chargerClauseWhere().
  | 
            82 | 
            		}
  | 
          
          
            | - | 
               | 
            83 | 
            		$clauseWhere =  (!empty($where)) ? ' '.implode(' AND ', $where).' ' : ' 1 ';
  | 
          
          
            | 157 | 
            			' LIMIT '.$this->navigation->getDepart().', '.$this->navigation->getLimite();
  | 
            84 | 
            		return $clauseWhere;
  | 
          
          
            | 158 | 
            		return $this->bdd->recupererTous($requeteLiaisons);
  | 
            85 | 
            	}
  | 
          
          
            | 159 | 
            	}
  | 
            86 | 
             
  | 
          
          
            | 160 | 
             
  | 
            87 | 
            	/**
  | 
          
          
            | 161 | 
            	/**
  | 
            88 | 
            	 * Compter le nombre total de commentaires dans la base vis à vis des filtres de l'url.
  | 
          
          
            | 162 | 
            	* Compter le nombre total de commentaires dans la base pour affichage dans entete.
  | 
            89 | 
            	 * Utilisation du mécanisme SQL_CALC_FOUND_ROW de Mysql pour éviter une deuxième requete avec un COUNT.
  | 
          
          
            | Line 163... | 
            Line -... | 
          
          
            | 163 | 
            	* */
  | 
            - | 
               | 
          
          
            | 164 | 
            	private function compterCommentaires() {
  | 
            - | 
               | 
          
          
            | 165 | 
            		$requete = 'SELECT FOUND_ROWS() AS nbre ';
  | 
            - | 
               | 
          
          
            | 166 | 
            		$resultats = $this->bdd->recuperer($requete);
  | 
            - | 
               | 
          
          
            | 167 | 
            		return (int) $resultats['nbre'];
  | 
            90 | 
            	 */
  | 
          
          
            | 168 | 
            	}
  | 
            91 | 
            	private function compterCommentairesTotal() {
  | 
          
          
            | 169 | 
             
  | 
            92 | 
            		$requete = 'SELECT FOUND_ROWS() AS nbre ';
  | 
          
          
            | 170 | 
            	/*-------------------------------------------------------------------------------
  | 
            93 | 
            		$resultats = $this->bdd->recuperer($requete);
  | 
          
          
            | 171 | 
            								FORMATER ET METTRE EN FORME
  | 
            94 | 
            		return (int) $resultats['nbre'];
  | 
          
          
            | 172 | 
            	--------------------------------------------------------------------------------*/
  | 
            95 | 
            	}
  | 
          
          
            | 173 | 
             
  | 
            96 | 
             
  | 
          
          
            | 174 | 
            	/**
  | 
            - | 
               | 
          
          
            | 175 | 
            	*  Formater les commentaires
  | 
            97 | 
            	/**
  | 
          
          
            | 176 | 
            	*  @param $commentaires les commentaires à mettre à jour
  | 
            98 | 
            	*  Formater les commentaires
  | 
          
          
            | 177 | 
            	*  @return $commentaires les commentaires mis à jour
  | 
            99 | 
            	*  @param $commentaires les commentaires à mettre à jour
  | 
          
          
            | 178 | 
            	* */
  | 
            100 | 
            	*  @return $commentaires les commentaires mis à jour
  | 
          
          
            | 179 | 
            	private function formaterCommentaires($commentaires) {
  | 
            101 | 
            	* */
  | 
          
          
            | 180 | 
            		$retourCommentaires = array();
  | 
            - | 
               | 
          
          
            | 181 | 
             
  | 
            - | 
               | 
          
          
            | 182 | 
            		foreach ($commentaires as $id => $commentaire) {
  | 
            - | 
               | 
          
          
            | 183 | 
            			$nouveauCommentaire = array();
  | 
            - | 
               | 
          
          
            | 184 | 
            			foreach ($this->mappingCommentaire as $nomOriginal => $nomFinal) {
  | 
            - | 
               | 
          
          
            | 185 | 
            				$nouveauCommentaire[$nomFinal] = $commentaire[$nomOriginal];
  | 
            - | 
               | 
          
          
            | 186 | 
            			}
  | 
            - | 
               | 
          
          
            | 187 | 
            			$retourCommentaires[$nouveauCommentaire['id_commentaire']] = $nouveauCommentaire;
  | 
            - | 
               | 
          
          
            | 188 | 
            		}
  | 
            - | 
               | 
          
          
            | 189 | 
             
  | 
            - | 
               | 
          
          
            | 190 | 
            		return $retourCommentaires;
  | 
            - | 
               | 
          
          
            | 191 | 
            	}
  | 
            102 | 
            	private function formaterCommentaires($commentaires) {
  | 
          
          
            | - | 
               | 
            103 | 
            		$retour = array();
  | 
          
          
            | 192 | 
             
  | 
            104 | 
            		foreach ($commentaires as $idCommentaire => $infos) {
  | 
          
          
            | 193 | 
            	private function proteger($valeur) {
  | 
            - | 
               | 
          
          
            | 194 | 
            		if (is_array($valeur)) {
  | 
            - | 
               | 
          
          
            | 195 | 
            			return $this->bdd->protegerTableau($valeur);
  | 
            105 | 
            			$idCommentaire = $infos['id_commentaire'];
  | 
          
          
            | - | 
               | 
            106 | 
            			foreach ($this->mapping as $nomChampBdd => $nomAttributSortie) {
  | 
          
          
            | 196 | 
            		} else {
  | 
            107 | 
            				$retour[$idCommentaire][$nomAttributSortie] = $infos[$nomChampBdd];
  |