Subversion Repositories eFlore/Applications.del

Rev

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

Rev 1251 Rev 1612
Line 75... Line 75...
75
	 --------------------------------------------------------------------------------*/
75
	 --------------------------------------------------------------------------------*/
76
	/** sansEnfant permet de vérifier que le commentaire que l'on veut supprimer 
76
	/** sansEnfant permet de vérifier que le commentaire que l'on veut supprimer
77
	 * n'a aucune réponse
77
	 * n'a aucune réponse
78
	 * */
78
	 * */
79
	public function sansEnfant() {
79
	public function sansEnfant() {
-
 
80
		$requete = 'SELECT * '.
80
		$requete = 'SELECT * FROM '.$this->gestionBdd->formaterTable('del_commentaire').
81
			'FROM del_commentaire '.
81
				   'WHERE (ce_proposition  = '.$this->commentaireId.' '.
82
			"WHERE (ce_proposition = {$this->commentaireId} ".
82
				   'OR ce_commentaire_parent = '.$this->commentaireId.')';
83
			"OR ce_commentaire_parent = {$this->commentaireId}) ";
83
		$resultats = $this->bdd->recupererTous($requete);
84
		$resultats = $this->bdd->recupererTous($requete);
84
		if (!empty($resultats)) {
85
		if (!empty($resultats)) {
85
			$e = 'Impossible de supprimer le commentaire car il a des réponses';
86
			$e = 'Impossible de supprimer le commentaire car il a des réponses';
86
			throw new Exception($e, RestServeur::HTTP_CODE_ERREUR);
87
			throw new Exception($e, RestServeur::HTTP_CODE_ERREUR);
87
		}
88
		}
Line 102... Line 103...
102
	/** 
103
	/**
103
	* estProprietaire permet de vérifier que le commentaire appartient à l'utilisateur
104
	* estProprietaire permet de vérifier que le commentaire appartient à l'utilisateur
104
	* 
105
	*
105
	* */
106
	* */
106
	public function estProprietaire() {
107
	public function estProprietaire() {
107
		
-
 
-
 
108
		$requete = 'SELECT * '.
108
		$requete = 'SELECT * FROM '.$this->gestionBdd->formaterTable('del_commentaire').
109
			'FROM del_commentaire '.
109
				   'WHERE id_commentaire = '.$this->commentaireId.' '.
110
			"WHERE id_commentaire = {$this->commentaireId} ".
110
				   'AND ce_utilisateur = '.$this->utilisateurId;
111
			"AND ce_utilisateur = {$this->utilisateurId} ";
Line 111... Line 112...
111
		
112
 
Line 112... Line 113...
112
		$resultats = $this->bdd->recupererTous($requete);
113
		$resultats = $this->bdd->recupererTous($requete);
113
	
114
 
Line 119... Line 120...
119
	*/
120
	*/
120
	public function getUtilisateurParCookie() {
121
	public function getUtilisateurParCookie() {
121
		//TODO: utiliser le cookie n'est pas très sécurisé
122
		//TODO: utiliser le cookie n'est pas très sécurisé
122
		// ceci aussi devrait être dans une classe utilitaire
123
		// ceci aussi devrait être dans une classe utilitaire
123
		if(isset($_COOKIE['del_courriel']) && $_COOKIE['del_courriel'] != '') {
124
		if (isset($_COOKIE['del_courriel']) && $_COOKIE['del_courriel'] != '') {
124
			$courriel = $_COOKIE['del_courriel'];
125
			$courriel = $this->bdd->proteger($_COOKIE['del_courriel']);
125
			$requete = 'SELECT id_utilisateur FROM '.$this->gestionBdd->formaterTable('del_utilisateur', 'du').
126
			$requete = "SELECT id_utilisateur FROM del_utilisateur WHERE courriel = $courriel ";
126
										'WHERE courriel = '.$this->bdd->proteger($courriel);
-
 
127
			$utilisateur = $this->bdd->recuperer($requete);
127
			$utilisateur = $this->bdd->recuperer($requete);
128
			$this->utilisateurId = $utilisateur['id_utilisateur'];
128
			$this->utilisateurId = $utilisateur['id_utilisateur'];
129
		}
129
		}
130
	}
130
	}
Line 131... Line 131...
131
	
131
 
132
	/**
132
	/**
133
	 * Renvoie vrai si l'utilisateur existe dans la base de données et si son champ admin est à 1
133
	 * Renvoie vrai si l'utilisateur existe dans la base de données et si son champ admin est à 1
134
	 */
134
	 */
135
	private function utilisateurEstAdmin() {
135
	private function utilisateurEstAdmin() {
136
		//TODO: déplacer ceci dans une classe utilitaire
136
		//TODO: déplacer ceci dans une classe utilitaire
-
 
137
		$idUtilisateur = $this->bdd->proteger($this->utilisateurId);
-
 
138
		$requete = 'SELECT admin '.
137
		$requete = 'SELECT admin FROM '.$this->gestionBdd->formaterTable('del_utilisateur_infos', 'dui').
139
			'FROM del_utilisateur_infos '.
Line 138... Line 140...
138
									'WHERE id_utilisateur = '.$this->bdd->proteger($this->utilisateurId);
140
			"WHERE id_utilisateur = $idUtilisateur ";
139
	
141
 
140
		$resultat = $this->bdd->recuperer($requete);
142
		$resultat = $this->bdd->recuperer($requete);
Line 141... Line -...
141
		return ($resultat && $resultat['admin'] == 1);
-
 
142
	}
143
		return ($resultat && $resultat['admin'] == 1);
143
	
144
	}
144
	
145
 
145
	/**
146
	/**
146
	 * Initialiser les attributs de la classe avec les parametres 
147
	 * Initialiser les attributs de la classe avec les parametres
Line 171... Line 172...
171
	--------------------------------------------------------------------------------*/
172
	--------------------------------------------------------------------------------*/
172
	/**
173
	/**
173
	 * Requete effective de suppression
174
	 * Requete effective de suppression
174
	 * */
175
	 * */
175
	public function supprimerCommentaire() {
176
	public function supprimerCommentaire() {
-
 
177
		$commentaireId = $this->bdd->proteger($this->commentaireId);
-
 
178
		$utilisateurId = $this->bdd->proteger($this->utilisateurId);
176
		$requete = 'DELETE FROM '.$this->gestionBdd->formaterTable('del_commentaire').' '.
179
		$requete = 'DELETE FROM del_commentaire '.
177
				   'WHERE id_commentaire = '.$this->bdd->proteger($this->commentaireId).' '.
180
			"WHERE id_commentaire = $commentaireId ".
178
				   	'AND ce_utilisateur = '.$this->bdd->proteger($this->utilisateurId);
181
			"AND ce_utilisateur = $utilisateurId ";
179
		$retour = $this->bdd->requeter($requete);
182
		$retour = $this->bdd->requeter($requete);
180
		if (!$retour) {
183
		if (!$retour) {
181
			$e = 'Erreur lors de la suppression';
184
			$e = 'Erreur lors de la suppression';
182
			throw new Exception($e, RestServeur::HTTP_CODE_ERREUR);
185
			throw new Exception($e, RestServeur::HTTP_CODE_ERREUR);
183
		}
186
		}
Line 185... Line 188...
185
	
188
 
186
	/**
189
	/**
187
	 * Requete de suppression de votes associés au commentaire
190
	 * Requete de suppression de votes associés au commentaire
188
	 */
191
	 */
189
	public function supprimerVotesAssocies() {
192
	public function supprimerVotesAssocies() {
190
		$requete = 'DELETE FROM '.$this->gestionBdd->formaterTable('del_commentaire_vote').' '.
193
		$commentaireId = $this->bdd->proteger($this->commentaireId);
191
				   'WHERE ce_proposition = '.$this->bdd->proteger($this->commentaireId);
194
		$requete = "DELETE FROM del_commentaire_vote WHERE ce_proposition = $commentaireId ";
192
		$retour = $this->bdd->requeter($requete);
195
		$retour = $this->bdd->requeter($requete);
193
		if (!$retour) {
196
		if (!$retour) {
194
			$e = 'Erreur lors de la suppression des votes associés';
197
			$e = 'Erreur lors de la suppression des votes associés';
195
			throw new Exception($e, RestServeur::HTTP_CODE_ERREUR);
198
			throw new Exception($e, RestServeur::HTTP_CODE_ERREUR);