Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 1719 Rev 1765
Line 115... Line 115...
115
 
115
 
116
							$champs = implode(', ', array_keys($obs));
116
							$champs = implode(', ', array_keys($obs));
117
							$valeurs = implode(', ', $obs);
117
							$valeurs = implode(', ', $obs);
Line 118... Line 118...
118
							$requete = "INSERT INTO cel_obs ($champs) VALUES ($valeurs) ";
118
							$requete = "INSERT INTO cel_obs ($champs) VALUES ($valeurs) ";
119
 
119
 
120
							if ($this->executerRequeteSimple($requete) === false) {
120
							if (Cel::db()->executerRequeteSimple($requete) === false) {
121
								$this->messages[] = "Un problème est survenu lors de l'insertion de l'obs dans la base de données.";
121
								$this->messages[] = "Un problème est survenu lors de l'insertion de l'obs dans la base de données.";
122
							} else {
122
							} else {
Line 281... Line 281...
281
		return $valeur;
281
		return $valeur;
282
	}
282
	}
Line 283... Line 283...
283
 
283
 
284
	private function getMaxOrdre($id_utilisateur) {
284
	private function getMaxOrdre($id_utilisateur) {
285
		$ordre = null;
285
		$ordre = null;
286
		$identifiant = $this->bdd->quote($id_utilisateur);
286
		$identifiant = Cel::db()->quote($id_utilisateur);
287
		$requete = 	"SELECT MAX(ordre) AS ordre ".
287
		$requete = 	"SELECT MAX(ordre) AS ordre ".
288
					"FROM cel_obs ".
288
					"FROM cel_obs ".
Line 289... Line 289...
289
					"WHERE ce_utilisateur = ".$this->proteger($id_utilisateur)." ";
289
					"WHERE ce_utilisateur = ".Cel::db()->proteger($id_utilisateur)." ";
290
 
290
 
291
		$ordre_max = $this->executerRequete($requete, 'Column');
291
		$ordre_max = Cel::db()->executerRequete($requete, 'Column');
292
		if ($ordre_max !== false) {
292
		if ($ordre_max !== false) {
293
			$ordre = $ordre_max + 1;
293
			$ordre = $ordre_max + 1;
294
		}
294
		}
Line 408... Line 408...
408
			 $this->messages[] = "Erreur lors de la création du fichier";
408
			 $this->messages[] = "Erreur lors de la création du fichier";
409
		}
409
		}
410
	}
410
	}
Line 411... Line 411...
411
 
411
 
412
	public function lierObsEtImg($id_image, $utilisateur, $ordre_obs) {
412
	public function lierObsEtImg($id_image, $utilisateur, $ordre_obs) {
413
		$id_image = $this->proteger($id_image);
413
		$id_image = Cel::db()->proteger($id_image);
Line 414... Line 414...
414
		$id_obs = $this->proteger($this->obtenirIdObsPourIdentifiantEtOrdre($utilisateur, $ordre_obs));
414
		$id_obs = Cel::db()->proteger($this->obtenirIdObsPourIdentifiantEtOrdre($utilisateur, $ordre_obs));
415
 
415
 
416
		$requete = 'INSERT INTO cel_obs_images '.
416
		$requete = 'INSERT INTO cel_obs_images '.
417
			'	(id_image, id_observation, date_liaison) '.
417
			'	(id_image, id_observation, date_liaison) '.
Line 418... Line 418...
418
			"VALUES ($id_image, $id_obs, NOW()) ".
418
			"VALUES ($id_image, $id_obs, NOW()) ".
419
			'	ON DUPLICATE KEY UPDATE id_image = id_image';
419
			'	ON DUPLICATE KEY UPDATE id_image = id_image';
420
 
420
 
421
		$liaison = true;
421
		$liaison = true;
422
		if ($this->executerRequeteSimple($requete) === false) {
422
		if (Cel::db()->executerRequeteSimple($requete) === false) {
423
			$this->messages[] = "La requête de liaison de l'obs $id_obs à l'image $id_image pour l'utilisateur $id_utilisateur a échouée.";
423
			$this->messages[] = "La requête de liaison de l'obs $id_obs à l'image $id_image pour l'utilisateur $id_utilisateur a échouée.";
424
			$liaison = false;
424
			$liaison = false;
Line 425... Line 425...
425
		}
425
		}
Line 426... Line 426...
426
		return $liaison;
426
		return $liaison;
427
	}
427
	}
Line 428... Line 428...
428
 
428
 
429
	private function obtenirIdObsPourIdentifiantEtOrdre($id_utilisateur, $ordre) {
429
	private function obtenirIdObsPourIdentifiantEtOrdre($id_utilisateur, $ordre) {
430
 
430
 
431
		$id_utilisateur = $this->proteger($id_utilisateur);
431
		$id_utilisateur = Cel::db()->proteger($id_utilisateur);
Line 432... Line 432...
432
		$ordre = $this->proteger($ordre);
432
		$ordre = Cel::db()->proteger($ordre);
Line 433... Line 433...
433
 
433
 
434
		$requete = 'SELECT id_observation '.
434
		$requete = 'SELECT id_observation '.
435
					'FROM cel_obs '.
435
					'FROM cel_obs '.
Line 436... Line 436...
436
					"WHERE ce_utilisateur = $id_utilisateur ".
436
					"WHERE ce_utilisateur = $id_utilisateur ".
437
					"	AND ordre = $ordre ";
437
					"	AND ordre = $ordre ";
438
 
438
 
Line 439... Line 439...
439
		$resultat = $this->executerRequete($requete);
439
		$resultat = Cel::db()->executerRequete($requete);
440
 
440
 
441
		$id_obs = (count($resultat) > 0) ? $resultat[0]['id_observation'] : false;
441
		$id_obs = (count($resultat) > 0) ? $resultat[0]['id_observation'] : false;
442
		return $id_obs;
442
		return $id_obs;
Line 443... Line 443...
443
	}
443
	}
444
 
444
 
445
	private function obtenirIdsObsPourTableauOrdres($id_utilisateur, $ordres) {
445
	private function obtenirIdsObsPourTableauOrdres($id_utilisateur, $ordres) {
446
		$id_utilisateur = $this->proteger($id_utilisateur);
446
		$id_utilisateur = Cel::db()->proteger($id_utilisateur);
447
		$ordres = array_map(array($this,'proteger'), $ordres);
447
		$ordres = array_map(array(Cel::db(),'proteger'), $ordres);
448
 
448
 
Line 506... Line 506...
506
					$infosImage['nom_utilisateur'] = $utilisateur['nom'];
506
					$infosImage['nom_utilisateur'] = $utilisateur['nom'];
507
					$infosImage['prenom_utilisateur'] = $utilisateur['prenom'];
507
					$infosImage['prenom_utilisateur'] = $utilisateur['prenom'];
508
					$infosImage['md5'] = md5_file($cheminImage);
508
					$infosImage['md5'] = md5_file($cheminImage);
509
					$this->debug[] = 'Nom fichier img meta :'.$nomFichierImage;
509
					$this->debug[] = 'Nom fichier img meta :'.$nomFichierImage;
510
					$requete = $this->construireRequeteInsertionImage($infosImage);
510
					$requete = $this->construireRequeteInsertionImage($infosImage);
511
					$resultat = $this->executerRequeteSimple($requete);
511
					$resultat = Cel::db()->executerRequeteSimple($requete);
512
					if ($resultat !== false) {
512
					if ($resultat !== false) {
513
						$idImage = $this->obtenirIdImagePourIdentifiantEtOrdre($idUtilisateur, $nouvelOrdre);
513
						$idImage = $this->obtenirIdImagePourIdentifiantEtOrdre($idUtilisateur, $nouvelOrdre);
514
						if ($idImage !== false) {
514
						if ($idImage !== false) {
515
							$manipulateurImage = new ImageRecreation($this->config);
515
							$manipulateurImage = new ImageRecreation($this->config);
516
							$stockageOk = $manipulateurImage->stockerFichierEtCreerMiniatures($cheminImage, $idImage);
516
							$stockageOk = $manipulateurImage->stockerFichierEtCreerMiniatures($cheminImage, $idImage);
Line 542... Line 542...
542
		}
542
		}
543
		return $idImage;
543
		return $idImage;
544
	}
544
	}
Line 545... Line 545...
545
 
545
 
546
	private function obtenirNouvelOrdrePourUtilisateur($id_utilisateur) {
546
	private function obtenirNouvelOrdrePourUtilisateur($id_utilisateur) {
Line 547... Line 547...
547
		$id_utilisateur = $this->proteger($id_utilisateur);
547
		$id_utilisateur = Cel::db()->proteger($id_utilisateur);
548
 
548
 
549
		$requete = 'SELECT MAX(ordre) as max_ordre '.
549
		$requete = 'SELECT MAX(ordre) as max_ordre '.
550
			'FROM cel_images '.
550
			'FROM cel_images '.
Line 551... Line 551...
551
			"WHERE ce_utilisateur = $id_utilisateur ";
551
			"WHERE ce_utilisateur = $id_utilisateur ";
552
		$resultat = $this->executerRequete($requete);
552
		$resultat = Cel::db()->executerRequete($requete);
553
 
553
 
Line 554... Line 554...
554
		$ordre = ($resultat) ? ++$resultat[0]['max_ordre'] : 0;
554
		$ordre = ($resultat) ? ++$resultat[0]['max_ordre'] : 0;
555
		return $ordre;
555
		return $ordre;
556
	}
556
	}
Line 557... Line 557...
557
 
557
 
558
	private function obtenirIdImagePourIdentifiantEtOrdre($id_utilisateur, $ordre) {
558
	private function obtenirIdImagePourIdentifiantEtOrdre($id_utilisateur, $ordre) {
559
		$id_utilisateur = $this->proteger($id_utilisateur);
559
		$id_utilisateur = Cel::db()->proteger($id_utilisateur);
560
		$ordre = $this->proteger($ordre);
560
		$ordre = Cel::db()->proteger($ordre);
561
 
561
 
Line 562... Line 562...
562
		$requete = 'SELECT id_image '.
562
		$requete = 'SELECT id_image '.
563
			'FROM cel_images '.
563
			'FROM cel_images '.
Line 564... Line 564...
564
			"WHERE ce_utilisateur = $id_utilisateur ".
564
			"WHERE ce_utilisateur = $id_utilisateur ".
Line 574... Line 574...
574
		$champs = array('date_creation');
574
		$champs = array('date_creation');
575
		$valeurs = array('CURRENT_TIMESTAMP()');
575
		$valeurs = array('CURRENT_TIMESTAMP()');
Line 576... Line 576...
576
 
576
 
577
		foreach ($informations as $champ => $valeur) {
577
		foreach ($informations as $champ => $valeur) {
578
			$champs[] = $champ;
578
			$champs[] = $champ;
579
			$valeurs[] = is_null($valeur) ? 'NULL' : $this->proteger($valeur);
579
			$valeurs[] = is_null($valeur) ? 'NULL' : Cel::db()->proteger($valeur);
580
			if ($champ == 'date_creation' && $valeur != 'NULL') {
580
			if ($champ == 'date_creation' && $valeur != 'NULL') {
581
				$champs[] = 'date_creation';
581
				$champs[] = 'date_creation';
582
				$valeurs[] = $this->proteger($valeur);
582
				$valeurs[] = Cel::db()->proteger($valeur);
583
			}
583
			}
584
		}
584
		}
585
		$champs = implode(', ', $champs);
585
		$champs = implode(', ', $champs);