Subversion Repositories eFlore/Applications.cel

Rev

Rev 1298 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1298 Rev 1300
Line 182... Line 182...
182
	public function deleteElement($uid) {
182
	public function deleteElement($uid) {
Line 183... Line 183...
183
		
183
		
184
		$this->setChampsEtTablePourSuffixe($uid[0]);
184
		$this->setChampsEtTablePourSuffixe($uid[0]);
185
		$id_utilisateur = $uid[1];
185
		$id_utilisateur = $uid[1];
-
 
186
		$id_mot_cle = $uid[2];
-
 
187
		
-
 
188
		$tableau_ids_mots_cles = array();
Line 186... Line 189...
186
		$id_mot_cle = $uid[2];
189
		$tableau_ids_mots_cles[] = $id_mot_cle;
187
 
190
 
Line 188... Line 191...
188
		$this->controleUtilisateur($id_utilisateur);		
191
		$this->controleUtilisateur($id_utilisateur);		
-
 
192
		$this->commencerTransaction();
189
		$this->commencerTransaction();
193
 
190
 
194
		$bornes  = $this->calculerBornesEtNiveau($id_mot_cle, $id_utilisateur);
-
 
195
		if($bornes) {
-
 
196
			$bg = $bornes['bg'];
-
 
197
			$bd = $bornes['bd'];
-
 
198
			
-
 
199
			$requete_mots_cles_fils = 'SELECT id_mot_cle'.$this->suffixe_champ.' as id FROM cel_mots_cles'.$this->suffixe_table.' '.
-
 
200
						'WHERE bg >= '.$this->proteger($bg).' '.
-
 
201
						'	AND bd <= '.$this->proteger($bd).' '.
-
 
202
						'	AND ce_utilisateur = '.$this->proteger($id_utilisateur).' ';
-
 
203
 
-
 
204
			$mots_cles_fils = $this->requeter($requete_mots_cles_fils);
191
		$bornes  = $this->calculerBornesEtNiveau($id_mot_cle, $id_utilisateur);
205
			foreach ($mots_cles_fils as $fils) {
192
		$bg = $bornes['bg'];
206
				$tableau_ids_mots_cles[] = $fils['id'];
193
		$bd = $bornes['bd'];
207
			}
194
 
208
	
195
		$requete = 	'DELETE FROM cel_mots_cles'.$this->suffixe_table.' '.
209
			$requete = 	'DELETE FROM cel_mots_cles'.$this->suffixe_table.' '.
196
					'WHERE bg >= '.$this->proteger($bg).' '.
210
						'WHERE bg >= '.$this->proteger($bg).' '.
197
					'	AND bd <= '.$this->proteger($bd).' '.
211
						'	AND bd <= '.$this->proteger($bd).' '.
198
					'	AND ce_utilisateur = '.$this->proteger($id_utilisateur).' ';
212
						'	AND ce_utilisateur = '.$this->proteger($id_utilisateur).' ';
199
					
213
						
200
		$transaction_reussie_1 = $this->executer($requete);
214
			$transaction_reussie_1 = $this->executer($requete);
201
		$transaction_reussie_2 = $this->decalerBornesMoinsIntervalle($bg, $bd, $id_utilisateur) ? true : false;
215
			$transaction_reussie_2 = $this->decalerBornesMoinsIntervalle($bg, $bd, $id_utilisateur) ? true : false;
202
 
216
	
203
		if ($transaction_reussie_1 !== false && $transaction_reussie_2 !== false) {
217
			if ($transaction_reussie_1 !== false && $transaction_reussie_2 !== false) {
-
 
218
				$this->completerTransaction();
204
			$this->completerTransaction();
219
			} else {
-
 
220
				$this->annulerTransaction();
-
 
221
			}
-
 
222
		}
205
		} else {
223
		// Suppression des liaisons associées à ce mot clé
Line 206... Line 224...
206
			$this->annulerTransaction();
224
		$gestion_liaisons = new LiaisonMotsCles($this->config, $this->suffixe);
207
		}
225
		$gestion_liaisons->supprimerToutesLiaisonsPourIdMotCle($id_utilisateur, $tableau_ids_mots_cles);
208
	}
226
	}
Line 287... Line 305...
287
	private function calculerBornesEtNiveau($id_mot_cle,$id_utilisateur) {
305
	private function calculerBornesEtNiveau($id_mot_cle,$id_utilisateur) {
288
		$requete = 	'SELECT bd, bg, niveau '.
306
		$requete = 	'SELECT bd, bg, niveau '.
289
					'FROM cel_mots_cles'.$this->suffixe_table.' '.
307
					'FROM cel_mots_cles'.$this->suffixe_table.' '.
290
					'WHERE id_mot_cle'.$this->suffixe_champ.' = '.$this->proteger($id_mot_cle).' '.
308
					'WHERE id_mot_cle'.$this->suffixe_champ.' = '.$this->proteger($id_mot_cle).' '.
291
					'	AND ce_utilisateur = '.$this->proteger($id_utilisateur).' ';
309
					'	AND ce_utilisateur = '.$this->proteger($id_utilisateur).' ';
-
 
310
		
292
		$resultat = $this->requeter($requete);
311
		$resultat = $this->requeter($requete);
Line -... Line 312...
-
 
312
		
293
		
313
		$valeurs = null;
294
		if(is_array($resultat) && count($resultat) > 0) {
314
		if(is_array($resultat) && count($resultat) > 0) {
295
			$valeurs = $resultat[0];
315
			$valeurs = $resultat[0];
Line 296... Line 316...
296
		}
316
		}
Line 395... Line 415...
395
		return $this->executer($requete);
415
		return $this->executer($requete);
396
	}
416
	}
Line 397... Line 417...
397
 
417
 
398
	private function changerPere($id_mot_cle, $id_pere, $id_utilisateur) {
418
	private function changerPere($id_mot_cle, $id_pere, $id_utilisateur) {
399
		$requete = 	'UPDATE cel_mots_cles'.$this->suffixe_table.' '.
419
		$requete = 	'UPDATE cel_mots_cles'.$this->suffixe_table.' '.
400
					'SET ce_mot_cle_'.$this->suffixe_champ.'_parent = '.$this->proteger($id_pere).' '.
420
					'SET ce_mot_cle'.$this->suffixe_champ.'_parent = '.$this->proteger($id_pere).' '.
401
					'WHERE id_mot_cle'.$this->suffixe_champ.' = '.$this->proteger($id_mot_cle).' '.
421
					'WHERE id_mot_cle'.$this->suffixe_champ.' = '.$this->proteger($id_mot_cle).' '.
402
					'	AND ce_utilisateur = '.$this->proteger($id_utilisateur).' ';
422
					'	AND ce_utilisateur = '.$this->proteger($id_utilisateur).' ';
403
		
423
 
404
		return $this->executer($requete);
424
		return $this->executer($requete);
405
	}
425
	}
406
 }
426
 }
407
?>
427
?>