Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 1908 Rev 1931
Line 262... Line 262...
262
	* @param mixed $ordre ordre(s) observation(s) relatif(s) à l'utilisateur: un seul ordre ou bien "ordre1,ordre2,ordre3" etc...
262
	* @param mixed $ordre ordre(s) observation(s) relatif(s) à l'utilisateur: un seul ordre ou bien "ordre1,ordre2,ordre3" etc...
263
	* 
263
	* 
264
	* @return true ou false suivant le succès de l'opération
264
	* @return true ou false suivant le succès de l'opération
265
	*/
265
	*/
266
	public function supprimerObservation($utilisateur, $ordre) {
266
	public function supprimerObservation($utilisateur, $ordre) {
267
		// TODO changer le systeme pour n'utiliser plus que les id
267
	    // TODO changer le systeme pour n'utiliser plus que les id
268
		$retour = false;	
268
	    $retour = false;	
269
		$tableau_ordre = explode(',', $ordre);
269
	    $tableau_ordre = explode(',', $ordre);
270
		$tableau_ordre = array_map(array(Cel::db(),'proteger'), $tableau_ordre);
270
	    $tableau_ordre = array_map(array(Cel::db(),'proteger'), $tableau_ordre);
271
		$ordre = implode(',', $tableau_ordre);
271
	    $ordre = implode(',', $tableau_ordre);
Line 272... Line 272...
272
 
272
 
273
		$requete_ids_observations = 'SELECT id_observation as id_obs FROM cel_obs '.
273
	    $requete_ids_observations = 'SELECT id_observation as id_obs FROM cel_obs '.
274
									'WHERE ce_utilisateur = '.Cel::db()->proteger($utilisateur).' '.
274
		'WHERE ce_utilisateur = '.Cel::db()->proteger($utilisateur).' '.
275
									'AND ordre IN ('.$ordre.')';
275
		'AND ordre IN ('.$ordre.')';
Line 276... Line 276...
276
		$resultat_ids_observations = Cel::db()->requeter($requete_ids_observations);
276
	    $resultat_ids_observations = Cel::db()->requeter($requete_ids_observations);
277
 
277
 
278
		$ids_obs = array();
278
	    $ids_obs = array();
279
		if(is_array($resultat_ids_observations) && count($resultat_ids_observations) > 0) {
279
	    if(is_array($resultat_ids_observations) && count($resultat_ids_observations) > 0) {
280
			foreach($resultat_ids_observations as $id_observation) {
280
		foreach($resultat_ids_observations as $id_observation) {
Line 281... Line 281...
281
				$ids_obs[] = Cel::db()->proteger($id_observation['id_obs']);
281
		    $ids_obs[] = Cel::db()->proteger($id_observation['id_obs']);
282
			}
282
		}
283
			
283
			
284
			$chaine_ids_obs = implode(',', $ids_obs);					
284
		$chaine_ids_obs = implode(',', $ids_obs);					
Line 285... Line 285...
285
		    $requete_supression_observations = 'DELETE FROM cel_obs WHERE '.
285
		$requete_supression_observations = 'DELETE FROM cel_obs WHERE '.
-
 
286
		    'ce_utilisateur = '.Cel::db()->proteger($utilisateur).' '.
-
 
287
		    'AND id_observation IN ('.$chaine_ids_obs.')';
-
 
288
 
-
 
289
		$resultat_suppression_observations = Cel::db()->executerRequeteSimple($requete_supression_observations);
-
 
290
	
-
 
291
		// TODO: Faire la suppression des mots clés 
-
 
292
		// et des liaisons obs images dans une ou des fonctions à part
-
 
293
		if ($resultat_suppression_observations === false) {
-
 
294
		    $this->logger("CEL_bugs","Erreur de suppression d'une liste d'observations : ".$resultat_suppression_observations);		
-
 
295
		}
Line 286... Line -...
286
		                                       'ce_utilisateur = '.Cel::db()->proteger($utilisateur).' '.
-
 
287
		                                       'AND id_observation IN ('.$chaine_ids_obs.')';
-
 
288
 
-
 
289
			$resultat_suppression_observations = Cel::db()->executerRequeteSimple($requete_supression_observations);
-
 
290
	
-
 
291
			// TODO: Faire la suppression des mots clés 
-
 
292
			// et des liaisons obs images dans une ou des fonctions à part
-
 
293
			if ($resultat_suppression_observations === false) {
-
 
294
				$this->logger("CEL_bugs","Erreur de suppression d'une liste d'observations : ".$resultat_suppression_observations);		
-
 
295
			}
-
 
296
			else
-
 
297
			{
-
 
298
	            $requete_supression_lien_obs_images = 'DELETE FROM cel_obs_images WHERE '.
-
 
299
	                                                  'id_utilisateur = '.Cel::db()->proteger($utilisateur).' '.
296
		else {
300
											  		  'AND id_observation IN ('.$chaine_ids_obs.')';
297
		    $requete_supression_lien_obs_images = 'DELETE FROM cel_obs_images WHERE id_observation IN ('.$chaine_ids_obs.')';
301
	
-
 
302
	            $resultat_suppression_liens = Cel::db()->executerRequeteSimple($requete_supression_lien_obs_images);
-
 
303
	
-
 
304
	            if ($resultat_suppression_liens === false) {
-
 
305
	            	$this->logger("CEL_bugs","Erreur de suppression d'une liste de liaison entre observations et images : ".$requete_supression_lien_obs_images);
-
 
306
	            }
-
 
307
	            else
-
 
308
	            {
-
 
309
					$retour = true;
-
 
310
	    		}
-
 
311
	    		
-
 
312
	    		$requete_supression_lien_mots_cles = 'DELETE FROM cel_obs_mots_cles WHERE '.
-
 
313
											  		  'id_observation in ('.$chaine_ids_obs.')';
-
 
314
	
-
 
315
	            $resultat_suppression_mots_cles = Cel::db()->executerRequeteSimple($requete_supression_lien_mots_cles);
-
 
316
	            if ($resultat_suppression_mots_cles === false) {
-
 
317
	            	$this->logger("CEL_bugs","Erreur de suppression d'une liste de mots clés d'observation(s) : ".$resultat_suppression_mots_cles);
298
	
318
	            }
-
 
319
	            else
299
		    $resultat_suppression_liens = Cel::db()->executerRequeteSimple($requete_supression_lien_obs_images);
320
	            {
300
	
-
 
301
		    if ($resultat_suppression_liens === false) {
-
 
302
			$this->logger("CEL_bugs","Erreur de suppression d'une liste de liaison entre observations et images : ".$requete_supression_lien_obs_images);
-
 
303
		    }
-
 
304
		    else {
-
 
305
			$retour = true;
-
 
306
		    }
-
 
307
			
-
 
308
		    $requete_supression_lien_mots_cles = 'DELETE FROM cel_obs_mots_cles WHERE '.
-
 
309
			'id_observation in ('.$chaine_ids_obs.')';
-
 
310
	
-
 
311
		    $resultat_suppression_mots_cles = Cel::db()->executerRequeteSimple($requete_supression_lien_mots_cles);
-
 
312
		    if ($resultat_suppression_mots_cles === false) {
321
					$retour = true;
313
			$this->logger("CEL_bugs","Erreur de suppression d'une liste de mots clés d'observation(s) : ".$resultat_suppression_mots_cles);
-
 
314
		    }
-
 
315
		    else {
-
 
316
			$retour = true;
322
	    		}
317
		    }
323
	        }
318
		}
324
		} else {
319
	    } else {
Line 325... Line 320...
325
			$retour = true;
320
		$retour = true;
326
		}
321
	    }
327
        
322