Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 2459 Rev 2460
Line 245... Line 245...
245
 
245
 
246
		$requete = "UPDATE cel_obs ".
246
		$requete = "UPDATE cel_obs ".
247
			"SET transmission = $etat_transmission , date_modification = NOW() ".
247
			"SET transmission = $etat_transmission , date_modification = NOW() ".
248
			"WHERE id_observation IN ($chaine_ids_obs) ".
248
			"WHERE id_observation IN ($chaine_ids_obs) ".
249
			' -- ' . __FILE__ . ':' . __LINE__;
-
 
250
 
249
			' -- ' . __FILE__ . ':' . __LINE__;
251
		$resultat = Cel::db()->executer($requete);
250
		$resultat = Cel::db()->executer($requete);
252
		return $resultat;
251
		return $resultat;
Line 253... Line 252...
253
	}
252
	}
Line 271... Line 270...
271
		$requete = 'SELECT id_observation AS id_obs '.
270
		$requete = 'SELECT id_observation AS id_obs '.
272
			'FROM cel_obs '.
271
			'FROM cel_obs '.
273
			"WHERE ce_utilisateur = $idUtilisateurP ".
272
			"WHERE ce_utilisateur = $idUtilisateurP ".
274
			"AND ordre IN ($ordre) ".
273
			"AND ordre IN ($ordre) ".
275
			' -- '.__FILE__.':'.__LINE__;
274
			' -- '.__FILE__.':'.__LINE__;
276
		$resultat_ids_observations = Cel::db()->requeter($requete);
275
		$resultats = Cel::db()->requeter($requete);
Line 277... Line 276...
277
 
276
 
278
		$ids_obs = array();
277
		$ids_obs = array();
279
		$ids_obs_non_protegees = array();
278
		$ids_obs_non_protegees = array();
280
		if (is_array($resultat_ids_observations) && count($resultat_ids_observations) > 0) {
279
		if (is_array($resultats) && count($resultats) > 0) {
281
			foreach ($resultat_ids_observations as $id_observation) {
280
			foreach ($resultats as $id_observation) {
282
				$ids_obs[] = Cel::db()->proteger($id_observation['id_obs']);
281
				$ids_obs[] = Cel::db()->proteger($id_observation['id_obs']);
283
				$ids_obs_non_protegees[] = $id_observation['id_obs'];
282
				$ids_obs_non_protegees[] = $id_observation['id_obs'];
Line 284... Line 283...
284
			}
283
			}
285
 
284
 
286
			$chaine_ids_obs = implode(',', $ids_obs);
285
			$chaine_ids_obs = implode(',', $ids_obs);
287
			$requete = 'DELETE FROM cel_obs WHERE '.
286
			$requete = 'DELETE FROM cel_obs WHERE '.
288
				"ce_utilisateur = $idUtilisateurP ".
287
				"ce_utilisateur = $idUtilisateurP ".
289
				"AND id_observation IN ($chaine_ids_obs) ".
-
 
290
				' -- '.__FILE__.':'.__LINE__;
288
				"AND id_observation IN ($chaine_ids_obs) ".
Line 291... Line 289...
291
 
289
				' -- '.__FILE__.':'.__LINE__;
292
			$resultat_suppression_observations = Cel::db()->executer($requete);
290
			$resultat = Cel::db()->executer($requete);
293
 
291
 
294
			// TODO: Faire la suppression des mots clés
292
			// TODO: Faire la suppression des mots clés
295
			// et des liaisons obs images dans une ou des fonctions à part
293
			// et des liaisons obs images dans une ou des fonctions à part
296
			if ($resultat_suppression_observations === false) {
294
			if ($resultat === false) {
297
				$msg = "Erreur de suppression d'une liste d'observations : $resultat_suppression_observations";
295
				$msg = "Erreur de suppression d'une liste d'observations : $resultat";
298
				$this->logger('CEL_bugs', $msg);
-
 
299
			} else {
296
				$this->logger('CEL_bugs', $msg);
300
				// TODO [jpm] : pourquoi on supprime pas les images si on supprime les obs ?
297
			} else {
Line 301... Line 298...
301
 
298
				// TODO [jpm] : pourquoi on supprime pas les images si on supprime les obs ?
302
				$gestion_mots_cles = new GestionMotsClesChemin($this->config, 'obs');
299
				$gestion_mots_cles = new GestionMotsClesChemin($this->config, 'obs');
Line 437... Line 434...
437
					$parametres['nom_ret_nn'] = $complement->{"nom_retenu.id"};
434
					$parametres['nom_ret_nn'] = $complement->{"nom_retenu.id"};
438
					$parametres['nt'] = $complement->num_taxonomique;
435
					$parametres['nt'] = $complement->num_taxonomique;
439
					$parametres['famille'] = $complement->famille;
436
					$parametres['famille'] = $complement->famille;
440
				}
437
				}
441
			}
438
			}
442
		}
-
 
443
 
-
 
444
		// référentiel "autre": on vide !
439
		} else { // référentiel "autre": on vide !
445
		else {
-
 
446
			$parametres['nom_sel_nn'] = $parametres['nom_ret'] = $parametres['nom_ret_nn'] = $parametres['nt'] = $parametres['famille'] = NULL;
440
			$parametres['nom_sel_nn'] = $parametres['nom_ret'] = $parametres['nom_ret_nn'] = $parametres['nt'] = $parametres['famille'] = NULL;
447
		}
441
		}
Line 448... Line 442...
448
 
442
 
449
		// mise à jour du référentiel utilisé, sans n° de version
443
		// mise à jour du référentiel utilisé, sans n° de version
Line 502... Line 496...
502
	* @param array $parametres un tableau avec les index correspondant aux champs de la bdd
496
	* @param array $parametres un tableau avec les index correspondant aux champs de la bdd
503
	*
497
	*
504
	* @return string une sous requete utilisable pour l'ajout d'une observation
498
	* @return string une sous requete utilisable pour l'ajout d'une observation
505
	*/
499
	*/
506
	private function traiterParametresObservationEtConstruireSousRequeteAjout($parametres) {
500
	private function traiterParametresObservationEtConstruireSousRequeteAjout($parametres) {
507
		$sous_requete = '';
-
 
508
 
-
 
509
		$champs = '';
501
		$champs = '';
510
		$valeurs = '';
502
		$valeurs = '';
511
 
-
 
512
		// Nullifiage ...
503
		// Nullifiage ...
513
		// TODO: code dupliqué, en faire une fonction à mettre à la place appropriée
504
		// TODO: code dupliqué, en faire une fonction à mettre à la place appropriée
514
		foreach($parametres as $cle => $valeur) {
505
		foreach ($parametres as $cle => $valeur) {
515
			$valeur = self::renvoyerValeurDenullifiee($valeur);
506
			$valeur = self::renvoyerValeurDenullifiee($valeur);
516
			$champs .= $cle.', ';
507
			$champs .= $cle.', ';
517
			$valeurs .= $valeur.', ';
508
			$valeurs .= $valeur.', ';
518
		}
509
		}
519
 
-
 
520
		$champs = '('.$champs.'mots_cles_texte, transmission, date_creation, date_modification, date_transmission)';
510
		$champs = '('.$champs.'mots_cles_texte, transmission, date_creation, date_modification, date_transmission)';
521
		$valeurs = '('.$valeurs.'"", 0, now(), now(), "0000-00-00 00:00:00")';
511
		$valeurs = '('.$valeurs.'"", 0, now(), now(), "0000-00-00 00:00:00")';
Line 522... Line 512...
522
 
512
 
523
		$sous_requete .= $champs.' VALUES '.$valeurs;
-
 
524
 
513
		$sous_requete = $champs.' VALUES '.$valeurs;
525
		return $sous_requete;
514
		return $sous_requete;
Line 526... Line 515...
526
	}
515
	}
527
 
516
 
Line 533... Line 522...
533
	 *
522
	 *
534
	 * @return string une sous requete utilisable pour la modification d'une observation
523
	 * @return string une sous requete utilisable pour la modification d'une observation
535
	 * selon la syntaxe UPDATE table SET colonne1 = valeur1, colonne2 = valeur2 WHERE condition
524
	 * selon la syntaxe UPDATE table SET colonne1 = valeur1, colonne2 = valeur2 WHERE condition
536
	 */
525
	 */
537
	static function traiterParametresObservationEtConstruireSousRequeteMaj($parametres) {
526
	static function traiterParametresObservationEtConstruireSousRequeteMaj($parametres) {
538
		$champs = array();
-
 
539
 
-
 
540
		// Nullifiage ...
527
		// Nullifiage ...
541
		// TODO: code dupliqué, en faire une fonction à mettre à la place appropriée
528
		// TODO: code dupliqué, en faire une fonction à mettre à la place appropriée
-
 
529
		$champs = array();
542
		foreach ($parametres as $cle => $valeur) {
530
		foreach ($parametres as $cle => $valeur) {
543
			$valeur = self::renvoyerValeurDenullifiee($valeur);
531
			$valeur = self::renvoyerValeurDenullifiee($valeur);
544
			$champs[] = $cle." = ".$valeur;
532
			$champs[] = $cle.' = '.$valeur;
545
		}
533
		}
546
		return $champs;
534
		return $champs;
547
	}
535
	}
Line 548... Line 536...
548
 
536