Subversion Repositories eFlore/Applications.cel

Rev

Rev 1425 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1425 Rev 1765
Line 45... Line 45...
45
		
45
		
Line 46... Line 46...
46
		$this->setChampsEtTablePourSuffixe($uid[0]);
46
		$this->setChampsEtTablePourSuffixe($uid[0]);
47
		
47
		
48
		$requete = 	'SELECT mot_cle, id_mot_cle'.$this->suffixe_champ.', ce_mot_cle'.$this->suffixe_champ.'_parent '.
48
		$requete = 	'SELECT mot_cle, id_mot_cle'.$this->suffixe_champ.', ce_mot_cle'.$this->suffixe_champ.'_parent '.
49
					'FROM cel_mots_cles'.$this->suffixe_table.' '.
49
					'FROM cel_mots_cles'.$this->suffixe_table.' '.
Line 50... Line 50...
50
					'WHERE id_utilisateur = '.$this->proteger($id_utilisateur).' '.
50
					'WHERE id_utilisateur = '.Cel::db()->proteger($id_utilisateur).' '.
Line 51... Line 51...
51
					'ORDER BY niveau ';
51
					'ORDER BY niveau ';
52
		
52
		
53
		$resultats_mots_cles = $this->requeter($requete);
53
		$resultats_mots_cles = Cel::db()->requeter($requete);
54
		
54
		
Line 75... Line 75...
75
		if ($action == 'modification') {
75
		if ($action == 'modification') {
76
			$nouveau_nom = $pairs['motcle'];
76
			$nouveau_nom = $pairs['motcle'];
77
			$nouvel_id_general = md5(mb_strtolower($nouveau_nom));
77
			$nouvel_id_general = md5(mb_strtolower($nouveau_nom));
Line 78... Line 78...
78
 
78
 
79
			$requete = 	'UPDATE cel_mots_cles'.$this->suffixe_table.' '.
79
			$requete = 	'UPDATE cel_mots_cles'.$this->suffixe_table.' '.
80
						'SET mot_cle = '.$this->proteger($nouveau_nom).' , '.
80
						'SET mot_cle = '.Cel::db()->proteger($nouveau_nom).' , '.
81
						'	md5 = '.$this->proteger($nouvel_id_general).' '.
81
						'	md5 = '.Cel::db()->proteger($nouvel_id_general).' '.
82
						'WHERE id_mot_cle'.$this->suffixe_champ.' = '.$this->proteger($id_mot_cle).' '.
82
						'WHERE id_mot_cle'.$this->suffixe_champ.' = '.Cel::db()->proteger($id_mot_cle).' '.
83
						'	AND id_utilisateur = '.$this->proteger($id_utilisateur) ;
83
						'	AND id_utilisateur = '.Cel::db()->proteger($id_utilisateur) ;
84
			$reussite = $this->executer($requete);
84
			$reussite = Cel::db()->executer($requete);
85
			if ($reussite !== false) {
85
			if ($reussite !== false) {
86
				echo 'OK';
86
				echo 'OK';
87
			}
87
			}
Line 159... Line 159...
159
 
159
 
Line 160... Line 160...
160
		$transaction_reussie_1 = $this->decalerBornesPlusDeux($borne_pere,$id_utilisateur) ? true : false;
160
		$transaction_reussie_1 = $this->decalerBornesPlusDeux($borne_pere,$id_utilisateur) ? true : false;
161
		
161
		
162
		$requete = 	'INSERT INTO  cel_mots_cles'.$this->suffixe_table.' '.
162
		$requete = 	'INSERT INTO  cel_mots_cles'.$this->suffixe_table.' '.
163
					'VALUES ( '.
163
					'VALUES ( '.
164
					$this->proteger($id_mot_cle).', '.
164
					Cel::db()->proteger($id_mot_cle).', '.
165
					$this->proteger($id_utilisateur).', '.
165
					Cel::db()->proteger($id_utilisateur).', '.
166
					$this->proteger($mot_cle).', '.
166
					Cel::db()->proteger($mot_cle).', '.
167
					$this->proteger($id_mot_cle_general).', '.
167
					Cel::db()->proteger($id_mot_cle_general).', '.
168
					$this->proteger($bg).', '.
168
					Cel::db()->proteger($bg).', '.
169
					$this->proteger($bd).', '.
169
					Cel::db()->proteger($bd).', '.
Line 170... Line 170...
170
					$this->proteger($niveau).', '.
170
					Cel::db()->proteger($niveau).', '.
Line 171... Line 171...
171
					$this->proteger($id_parent).') ' ;
171
					Cel::db()->proteger($id_parent).') ' ;
172
							
172
							
173
		$transaction_reussie_2 = $this->executer($requete);
173
		$transaction_reussie_2 = Cel::db()->executer($requete);
174
 
174
 
Line 195... Line 195...
195
		if($bornes) {
195
		if($bornes) {
196
			$bg = $bornes['bg'];
196
			$bg = $bornes['bg'];
197
			$bd = $bornes['bd'];
197
			$bd = $bornes['bd'];
Line 198... Line 198...
198
			
198
			
199
			$requete_mots_cles_fils = 'SELECT id_mot_cle'.$this->suffixe_champ.' as id FROM cel_mots_cles'.$this->suffixe_table.' '.
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).' '.
200
						'WHERE bg >= '.Cel::db()->proteger($bg).' '.
201
						'	AND bd <= '.$this->proteger($bd).' '.
201
						'	AND bd <= '.Cel::db()->proteger($bd).' '.
Line 202... Line 202...
202
						'	AND id_utilisateur = '.$this->proteger($id_utilisateur).' ';
202
						'	AND id_utilisateur = '.Cel::db()->proteger($id_utilisateur).' ';
203
 
203
 
204
			$mots_cles_fils = $this->requeter($requete_mots_cles_fils);
204
			$mots_cles_fils = Cel::db()->requeter($requete_mots_cles_fils);
205
			foreach ($mots_cles_fils as $fils) {
205
			foreach ($mots_cles_fils as $fils) {
Line 206... Line 206...
206
				$tableau_ids_mots_cles[] = $fils['id'];
206
				$tableau_ids_mots_cles[] = $fils['id'];
207
			}
207
			}
208
	
208
	
209
			$requete = 	'DELETE FROM cel_mots_cles'.$this->suffixe_table.' '.
209
			$requete = 	'DELETE FROM cel_mots_cles'.$this->suffixe_table.' '.
Line 210... Line 210...
210
						'WHERE bg >= '.$this->proteger($bg).' '.
210
						'WHERE bg >= '.Cel::db()->proteger($bg).' '.
211
						'	AND bd <= '.$this->proteger($bd).' '.
211
						'	AND bd <= '.Cel::db()->proteger($bd).' '.
Line 212... Line 212...
212
						'	AND id_utilisateur = '.$this->proteger($id_utilisateur).' ';
212
						'	AND id_utilisateur = '.Cel::db()->proteger($id_utilisateur).' ';
213
						
213
						
214
			$transaction_reussie_1 = $this->executer($requete);
214
			$transaction_reussie_1 = Cel::db()->executer($requete);
Line 226... Line 226...
226
	}
226
	}
Line 227... Line 227...
227
	
227
	
228
	private function ajouterMotCleRacine($id) {
228
	private function ajouterMotCleRacine($id) {
229
		$requete = 	'SELECT COUNT(*) as nb_mc '.
229
		$requete = 	'SELECT COUNT(*) as nb_mc '.
230
					'FROM cel_mots_cles'.$this->suffixe_table.' '.
230
					'FROM cel_mots_cles'.$this->suffixe_table.' '.
231
					'WHERE id_utilisateur = '.$this->proteger($id).' ';
231
					'WHERE id_utilisateur = '.Cel::db()->proteger($id).' ';
Line 232... Line 232...
232
		$resultat = $this->requeter($requete);
232
		$resultat = Cel::db()->requeter($requete);
233
 
233
 
Line 234... Line 234...
234
		if (is_array($resultat) && count($resultat) > 0) {
234
		if (is_array($resultat) && count($resultat) > 0) {
Line 246... Line 246...
246
				default:
246
				default:
247
					$nom_racine = $this->suffixe;
247
					$nom_racine = $this->suffixe;
248
					$id_racine = $this->suffixe;
248
					$id_racine = $this->suffixe;
249
			}
249
			}
Line 250... Line 250...
250
			
250
			
251
			$md5_racine = $this->proteger(md5($nom_racine));
251
			$md5_racine = Cel::db()->proteger(md5($nom_racine));
252
			$id_racine = $this->proteger($id_racine);
252
			$id_racine = Cel::db()->proteger($id_racine);
253
			$nom_racine = $this->proteger($nom_racine);
253
			$nom_racine = Cel::db()->proteger($nom_racine);
Line 254... Line 254...
254
			$id_utilisateur = $this->proteger($id);
254
			$id_utilisateur = Cel::db()->proteger($id);
255
 
255
 
256
			if ($valeurs == 0) {				
256
			if ($valeurs == 0) {				
257
				$requete = "INSERT INTO cel_mots_cles{$this->suffixe_table} ".
257
				$requete = "INSERT INTO cel_mots_cles{$this->suffixe_table} ".
Line 258... Line 258...
258
						   "VALUES ($id_racine, $id_utilisateur, $nom_racine, $md5_racine, ".
258
						   "VALUES ($id_racine, $id_utilisateur, $nom_racine, $md5_racine, ".
259
						   "1, 2, 0, '') ";
259
						   "1, 2, 0, '') ";
260
				
260
				
261
				$this->executer($requete);
261
				Cel::db()->executer($requete);
Line 262... Line 262...
262
			}
262
			}
263
		}
263
		}
264
	}
264
	}
265
 
265
 
266
	/**
266
	/**
267
	 * Désactive l'auto-commit puis débute la transaction
267
	 * Désactive l'auto-commit puis débute la transaction
268
	 */
268
	 */
Line 269... Line 269...
269
	private function commencerTransaction() {
269
	private function commencerTransaction() {
270
		// Désactive l'autocommit le temps de la manipulation de l'arbre
270
		// Désactive l'autocommit le temps de la manipulation de l'arbre
271
		$requete = 'SET AUTOCOMMIT = 0 ';
271
		$requete = 'SET AUTOCOMMIT = 0 ';
272
		$reussite_autocommit = $this->executer($requete);
272
		$reussite_autocommit = Cel::db()->executer($requete);
Line 273... Line 273...
273
 
273
 
274
		// Débute une nouvelle transaction
274
		// Débute une nouvelle transaction
275
		$requete = 'BEGIN ';
275
		$requete = 'BEGIN ';
276
		$reussite_begin = $this->executer($requete);
276
		$reussite_begin = Cel::db()->executer($requete);
277
	}
277
	}
278
 
278
 
279
	/**
279
	/**
Line 280... Line 280...
280
	 * Termine la transaction puis réactive l'auto-commit
280
	 * Termine la transaction puis réactive l'auto-commit
281
	 */
281
	 */
282
	private function completerTransaction() {
282
	private function completerTransaction() {
Line 283... Line 283...
283
		// Complète la transaction
283
		// Complète la transaction
284
		$requete = 'COMMIT ';
284
		$requete = 'COMMIT ';
Line 285... Line 285...
285
		$reussite_commit = $this->executer($requete);
285
		$reussite_commit = Cel::db()->executer($requete);
286
 
286
 
287
		// Réactive l'autocommit le temps de la manipulation de l'arbre
287
		// Réactive l'autocommit le temps de la manipulation de l'arbre
288
		$requete = 'SET AUTOCOMMIT = 1 ';
288
		$requete = 'SET AUTOCOMMIT = 1 ';
289
		$reussite_autocommit = $this->executer($requete);
289
		$reussite_autocommit = Cel::db()->executer($requete);
290
 
290
 
291
		echo 'OK';
291
		echo 'OK';
Line 292... Line 292...
292
	}
292
	}
293
	
293
	
294
	/**
294
	/**
Line 295... Line 295...
295
	 * Annule la transaction et réactive l'auto-commit
295
	 * Annule la transaction et réactive l'auto-commit
296
	 */
296
	 */
Line 297... Line 297...
297
	private function annulerTransaction() {
297
	private function annulerTransaction() {
298
		// Annule la transaction
298
		// Annule la transaction
299
		$requete = 'ROLLBACK ';
299
		$requete = 'ROLLBACK ';
300
		$reussite_rollback = $this->executer($requete);
300
		$reussite_rollback = Cel::db()->executer($requete);
301
 
301
 
302
		// Réactive l'autocommit le temps de la manipulation de l'arbre
302
		// Réactive l'autocommit le temps de la manipulation de l'arbre
303
		$requete = 'SET AUTOCOMMIT = 1 ';
303
		$requete = 'SET AUTOCOMMIT = 1 ';
304
		$reussite_autocommit = $this->executer($requete);
304
		$reussite_autocommit = Cel::db()->executer($requete);
Line 305... Line 305...
305
 
305
 
Line 306... Line 306...
306
		echo 'ERROR';
306
		echo 'ERROR';
307
	}
307
	}
308
 
308
 
309
	/** 
309
	/** 
Line 330... Line 330...
330
	 */ 
330
	 */ 
331
	private function decalerBornesPlusDeux($valeur, $id_utilisateur) {
331
	private function decalerBornesPlusDeux($valeur, $id_utilisateur) {
332
		// Décalage borne droite
332
		// Décalage borne droite
333
		$requete = 	'UPDATE cel_mots_cles'.$this->suffixe_table.' '.
333
		$requete = 	'UPDATE cel_mots_cles'.$this->suffixe_table.' '.
334
					'SET bd = bd + 2 WHERE bd >= '.$valeur.' '.
334
					'SET bd = bd + 2 WHERE bd >= '.$valeur.' '.
335
					'	AND id_utilisateur = '.$this->proteger($id_utilisateur).' ';
335
					'	AND id_utilisateur = '.Cel::db()->proteger($id_utilisateur).' ';
336
		$reussi_1 = $this->executer($requete);
336
		$reussi_1 = Cel::db()->executer($requete);
Line 337... Line 337...
337
		
337
		
338
		// Décalage borne gauche
338
		// Décalage borne gauche
339
		$requete = 	'UPDATE cel_mots_cles'.$this->suffixe_table.' '.
339
		$requete = 	'UPDATE cel_mots_cles'.$this->suffixe_table.' '.
340
					'SET bg = bg + 2 '.
340
					'SET bg = bg + 2 '.
341
					'WHERE bg >= '.$valeur.' '.
341
					'WHERE bg >= '.$valeur.' '.
342
					'	AND id_utilisateur = '.$this->proteger($id_utilisateur).' ';
342
					'	AND id_utilisateur = '.Cel::db()->proteger($id_utilisateur).' ';
Line 343... Line 343...
343
		$reussi_2 = $this->executer($requete);
343
		$reussi_2 = Cel::db()->executer($requete);
344
		
344
		
Line 345... Line 345...
345
		return $reussi_1 !== false && $reussi_2 !== false;
345
		return $reussi_1 !== false && $reussi_2 !== false;
Line 353... Line 353...
353
 
353
 
354
		// Décalage borne droite
354
		// Décalage borne droite
355
		$requete = 	'UPDATE cel_mots_cles'.$this->suffixe_table.' '.
355
		$requete = 	'UPDATE cel_mots_cles'.$this->suffixe_table.' '.
356
					'SET bd = bd - '.$decalage.' '.
356
					'SET bd = bd - '.$decalage.' '.
357
					'WHERE bd >=  '.$bg.' '.
357
					'WHERE bd >=  '.$bg.' '.
358
					'	AND id_utilisateur = '.$this->proteger($id_utilisateur).' ';
358
					'	AND id_utilisateur = '.Cel::db()->proteger($id_utilisateur).' ';
Line 359... Line 359...
359
		$reussi_1 = $this->executer($requete);
359
		$reussi_1 = Cel::db()->executer($requete);
360
 
360
 
361
		// Décalage borne gauche
361
		// Décalage borne gauche
362
		$requete = 	'UPDATE cel_mots_cles'.$this->suffixe_table.' '.
362
		$requete = 	'UPDATE cel_mots_cles'.$this->suffixe_table.' '.
363
					'SET bg = bg - '.$decalage.' '.
363
					'SET bg = bg - '.$decalage.' '.
364
					'WHERE bg >  '.$bg.' '.
364
					'WHERE bg >  '.$bg.' '.
Line 365... Line 365...
365
					'	AND id_utilisateur = '.$this->proteger($id_utilisateur).' ';
365
					'	AND id_utilisateur = '.Cel::db()->proteger($id_utilisateur).' ';
366
		$reussi_2 = $this->executer($requete);
366
		$reussi_2 = Cel::db()->executer($requete);
Line 367... Line 367...
367
		
367
		
Line 376... Line 376...
376
 
376
 
377
		// decalage borne droite
377
		// decalage borne droite
378
		$requete = 	'UPDATE cel_mots_cles'.$this->suffixe_table.' '.
378
		$requete = 	'UPDATE cel_mots_cles'.$this->suffixe_table.' '.
379
					'SET bd = bd + '.$decalage.' '.
379
					'SET bd = bd + '.$decalage.' '.
380
					'WHERE bd >=  '.$valeur_bornes.' '.
380
					'WHERE bd >=  '.$valeur_bornes.' '.
381
					'	AND id_utilisateur = '.$this->proteger($id_utilisateur).' ';
381
					'	AND id_utilisateur = '.Cel::db()->proteger($id_utilisateur).' ';
Line 382... Line 382...
382
		$reussi_1 = $this->executer($requete);
382
		$reussi_1 = Cel::db()->executer($requete);
383
 
383
 
384
		// decalage borne gauche
384
		// decalage borne gauche
385
		$requete = 	'UPDATE cel_mots_cles'.$this->suffixe_table.' '.
385
		$requete = 	'UPDATE cel_mots_cles'.$this->suffixe_table.' '.
386
					'SET bg = bg + '.$decalage.' '.
386
					'SET bg = bg + '.$decalage.' '.
387
					'WHERE bg >=  '.$valeur_bornes.' '.
387
					'WHERE bg >=  '.$valeur_bornes.' '.
Line 388... Line 388...
388
					'	AND id_utilisateur = '.$this->proteger($id_utilisateur).' ';
388
					'	AND id_utilisateur = '.Cel::db()->proteger($id_utilisateur).' ';
389
		$reussi_2 = $this->executer($requete);
389
		$reussi_2 = Cel::db()->executer($requete);
Line 390... Line 390...
390
 
390
 
Line 398... Line 398...
398
		$requete = 	'UPDATE cel_mots_cles'.$this->suffixe_table.' '.
398
		$requete = 	'UPDATE cel_mots_cles'.$this->suffixe_table.' '.
399
					'SET bd = bd - '.$bd.' - 1 , '.
399
					'SET bd = bd - '.$bd.' - 1 , '.
400
					'	bg =  bg -  '.$bd.' - 1 '.
400
					'	bg =  bg -  '.$bd.' - 1 '.
401
					'WHERE bd <=  '.$bd.' '.
401
					'WHERE bd <=  '.$bd.' '.
402
					'	AND bg >=  '.$bg.' '.
402
					'	AND bg >=  '.$bg.' '.
403
					'	AND id_utilisateur = '.$this->proteger($id_utilisateur).' ';
403
					'	AND id_utilisateur = '.Cel::db()->proteger($id_utilisateur).' ';
Line 404... Line 404...
404
 
404
 
405
		return $this->executer($requete);
405
		return Cel::db()->executer($requete);
Line 406... Line 406...
406
	}
406
	}
407
 
407
 
408
	/** 
408
	/** 
Line 415... Line 415...
415
					'SET bg =  bg + '.$decalage.' , '.
415
					'SET bg =  bg + '.$decalage.' , '.
416
					'	bd = bd + '.$decalage.', '.
416
					'	bd = bd + '.$decalage.', '.
417
					'	niveau = niveau + '.$modif_niveau.' '.
417
					'	niveau = niveau + '.$modif_niveau.' '.
418
					' WHERE bg >=  '.$bg.' '.
418
					' WHERE bg >=  '.$bg.' '.
419
					'	AND bd <=  '.$bd.' '.
419
					'	AND bd <=  '.$bd.' '.
420
					'	AND id_utilisateur = '.$this->proteger($id_utilisateur).' ';
420
					'	AND id_utilisateur = '.Cel::db()->proteger($id_utilisateur).' ';
Line 421... Line 421...
421
 
421
 
422
		return $this->executer($requete);
422
		return Cel::db()->executer($requete);
Line 423... Line 423...
423
	}
423
	}
424
 
424
 
425
	private function changerPere($id_mot_cle, $id_pere, $id_utilisateur) {
425
	private function changerPere($id_mot_cle, $id_pere, $id_utilisateur) {
426
		$requete = 	'UPDATE cel_mots_cles'.$this->suffixe_table.' '.
426
		$requete = 	'UPDATE cel_mots_cles'.$this->suffixe_table.' '.
427
					'SET ce_mot_cle'.$this->suffixe_champ.'_parent = '.$this->proteger($id_pere).' '.
427
					'SET ce_mot_cle'.$this->suffixe_champ.'_parent = '.Cel::db()->proteger($id_pere).' '.
Line 428... Line 428...
428
					'WHERE id_mot_cle'.$this->suffixe_champ.' = '.$this->proteger($id_mot_cle).' '.
428
					'WHERE id_mot_cle'.$this->suffixe_champ.' = '.Cel::db()->proteger($id_mot_cle).' '.
429
					'	AND id_utilisateur = '.$this->proteger($id_utilisateur).' ';
429
					'	AND id_utilisateur = '.Cel::db()->proteger($id_utilisateur).' ';
430
 
430
 
431
		return $this->executer($requete);
431
		return Cel::db()->executer($requete);
432
	}
432
	}