Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 3560 Rev 3561
Line 738... Line 738...
738
				$infosImage['user_id'] = $this->userId;
738
				$infosImage['user_id'] = $this->userId;
739
				$infosImage['user_email'] = $this->userEmail;
739
				$infosImage['user_email'] = $this->userEmail;
740
				$infosImage['user_pseudo'] = $this->userIntitule;
740
				$infosImage['user_pseudo'] = $this->userIntitule;
741
				$infosImage['content_url'] = $cheminImage;
741
				$infosImage['content_url'] = $cheminImage;
742
				$infosImage['mime_type'] = mime_content_type($cheminImage);
742
				$infosImage['mime_type'] = mime_content_type($cheminImage);
743
				$infosImage['url'] = "concat('https://api.tela-botanica.org/img:', 
-
 
744
				        lpad(`id`, 9, '0'), 'O')";
743
				$infosImage['url'] = '';
745
				// $infosImage['md5'] = md5_file($cheminImage);
744
				// $infosImage['md5'] = md5_file($cheminImage);
746
				$infosImage['date_created'] = 'NOW()';
745
				$infosImage['date_created'] = 'NOW()';
747
				$infosImage['date_updated'] = 'NOW()';
746
				$infosImage['date_updated'] = 'NOW()';
748
				$infosImage['date_linked_to_occurrence'] = 'NOW()';
747
				$infosImage['date_linked_to_occurrence'] = 'NOW()';
749
				$this->debug[] = 'Nom fichier img meta :'.$nomFichierImage;
748
				$this->debug[] = 'Nom fichier img meta :'.$nomFichierImage;
750
				$requete = $this->construireRequeteInsertionImage($infosImage);
749
				$requete = $this->construireRequeteInsertionImage($infosImage);
751
				$resultat = Cel::db()->executer($requete);
750
				$resultat = Cel::db()->executer($requete);
752
				if ($resultat !== false) {
751
				if ($resultat !== false) {
753
					$idImage = $this->obtenirIdImagePourIdentifiantEtNomOriginal($nomFichierImage);
752
					$idImage = $this->traiterEtRecupererIdImage($nomFichierImage);
754
					if ($idImage !== false) {
753
					if ($idImage !== false) {
755
						$manipulateurImage = new ImageRecreation($this->config);
754
						$manipulateurImage = new ImageRecreation($this->config);
756
						// Stocke le fichier en conservant les fichiers temporaires, ce qui permet de réessayer
755
						// Stocke le fichier en conservant les fichiers temporaires, ce qui permet de réessayer
757
						// de les traiter en cas d'échec de la totalité du processus de traitement de l'obs
756
						// de les traiter en cas d'échec de la totalité du processus de traitement de l'obs
758
						$stockageOk = $manipulateurImage->stockerFichierOriginal($cheminImage, $idImage, true);
757
						$stockageOk = $manipulateurImage->stockerFichierOriginal($cheminImage, $idImage, true);
Line 796... Line 795...
796
		$ok = $manipulateurImage->detruireImageSurDisque($idImageASupprimer);
795
		$ok = $manipulateurImage->detruireImageSurDisque($idImageASupprimer);
Line 797... Line 796...
797
 
796
 
798
		return $ok;
797
		return $ok;
Line 799... Line 798...
799
	}
798
	}
800
 
799
 
801
	private function obtenirIdImagePourIdentifiantEtNomOriginal($original_name) {
800
	private function traiterEtRecupererIdImage($original_name) {
802
		$id_utilisateur = Cel::db()->proteger($this->userId);
801
		$id_utilisateur = Cel::db()->proteger($this->userId);
Line 803... Line 802...
803
		$email_utilisateur = Cel::db()->proteger($this->userEmail);
802
		$email_utilisateur = Cel::db()->proteger($this->userEmail);
804
		$original_name = Cel::db()->proteger($original_name);
803
		$original_name = Cel::db()->proteger($original_name);
805
 
804
 
806
		$requete = 'SELECT id '.
805
		$requete = 'SELECT id '.
807
			'FROM photo '.
806
			'FROM photo '.
808
			"WHERE (user_id = $id_utilisateur OR user_email = $email_utilisateur)".
807
			"WHERE (user_id = $id_utilisateur OR user_email = $email_utilisateur)".
-
 
808
			"	AND original_name = $original_name ";
-
 
809
		$resultat = Cel::db()->requeter($requete);
-
 
810
		$id_image = $resultat[0]['id'] ?? false;
-
 
811
 
-
 
812
		if ($id_image) {
-
 
813
			$full_id_image = str_pad($id_image, 9, '0', STR_PAD_LEFT) . 'O';
-
 
814
			$image_url = sprintf(config::get('celImgUrlTpl'), $full_id_image);
-
 
815
			$requete = 'UPDATE photo'.
-
 
816
				' SET url = ' . Cel::db()->proteger($image_url)
-
 
817
				' WHERE id = ' Cel::db()->proteger($id_image);
809
			"	AND original_name = $original_name ";
818
			$resultat = Cel::db()->requeter($requete);
Line 810... Line 819...
810
		$resultat = Cel::db()->requeter($requete);
819
		}
Line 811... Line 820...
811
		$id_image = (count($resultat) > 0) ? $resultat[0]['id'] : false;
820