Subversion Repositories eFlore/Applications.cel

Rev

Rev 3675 | Rev 3716 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3675 Rev 3715
Line 53... Line 53...
53
			}
53
            }
54
			// Si c'est une obs Pl@ntNet
54
            // Si c'est une obs Pl@ntNet
55
			if (! empty($requeteDonnees['tag-obs']) && strpos(strtolower($requeteDonnees['tag-obs']), 'mobileSauvages') !== false) {
55
            if (! empty($requeteDonnees['tag-obs']) && strpos(strtolower($requeteDonnees['tag-obs']), 'mobileSauvages') !== false) {
56
			    $this->isSauvages = true;
56
                $this->isSauvages = true;
57
			}
57
            }
-
 
58
			// Si c'est une obs Pl@ntNet
-
 
59
			if (! empty($requeteDonnees['tag-obs']) && strpos(strtolower($requeteDonnees['tag-obs']), 'mobileSauvages') !== false) {
-
 
60
			    $this->isSauvages = true;
-
 
61
			}
Line 58... Line 62...
58
 
62
 
59
			// Traitements des tags multiples de projet
63
            // Traitements des tags multiples de projet
Line 60... Line 64...
60
			$this->traiterProjetTags();
64
            $this->traiterProjetTags();
Line 80... Line 84...
80
				$infosUtilisateur = $this->infosInscritTela($utilisateur['courriel']);
84
                $infosUtilisateur = $this->infosInscritTela($utilisateur['courriel']);
81
				if ($infosUtilisateur) {
85
                if ($infosUtilisateur) {
82
					$this->userId = $infosUtilisateur['id'];
86
                    $this->userId = $infosUtilisateur['id'];
83
					$this->userIntitule = $infosUtilisateur['intitule'];
87
                    $this->userIntitule = $infosUtilisateur['intitule'];
84
				} else {
88
                } else {
85
					$this->userId = '';
89
                    $this->userId = 0;
86
					$this->userIntitule = $utilisateur['prenom'] . ' ' . $utilisateur['nom'];
90
                    $this->userIntitule = $utilisateur['prenom'] . ' ' . $utilisateur['nom'];
87
				}
91
                }
88
				$this->userEmail = $utilisateur['courriel'];
92
                $this->userEmail = $utilisateur['courriel'];
Line 89... Line 93...
89
 
93
 
Line 160... Line 164...
160
						}
164
                        }
161
						if ($this->isSauvages) {
165
                        if ($this->isSauvages) {
162
						    $obsAAjouter['input_source'] = 'autre';
166
                            $obsAAjouter['input_source'] = 'autre';
163
						    $obsAAjouter['project'] = 'sauvages';
167
                            $obsAAjouter['project'] = 'sauvages';
164
						}
168
                        }
165
 
-
 
-
 
169
						$obsAAjouter['input_source'] = 'widget';
-
 
170
						$obsAAjouter['project_id'] = $this->projetId;
-
 
171
						$obsAAjouter['project'] = $this->projet;
166
						$obsAAjouter['obs_etendue'] = isset($obs['obs_etendue']) ? $obs['obs_etendue'] : array();
172
                        $obsAAjouter['obs_etendue'] = isset($obs['obs_etendue']) ? $obs['obs_etendue'] : array();
-
 
173
						if ($this->isSauvages) {
-
 
174
						    $obsAAjouter['input_source'] = 'autre';
-
 
175
						    $obsAAjouter['project'] = 'sauvages';
-
 
176
						}
Line 167... Line 177...
167
 
177
 
168
						// Tentative d'enrichissement des données taxonomiques
178
                        // Tentative d'enrichissement des données taxonomiques
169
						// @TODO attention aux perfs, aux timeouts de WS etc.
179
                        // @TODO attention aux perfs, aux timeouts de WS etc.
Line 588... Line 598...
588
		}
598
        }
589
	}
599
    }
Line 590... Line 600...
590
 
600
 
591
	private function lierObsAMotsCles($observations_ids, $tags) {
601
    private function lierObsAMotsCles($observations_ids, $tags) {
592
		// pas de mots clés pour les non-inscrits
602
        // pas de mots clés pour les non-inscrits
593
		if (!$this->userId) {
603
        if ($this->userId == null) {
594
			return true;
604
            $this->userId = 0;
Line 595... Line 605...
595
		}
605
        }
596
 
606
 
597
		$chemin_parent = '/';
607
        $chemin_parent = '/';
Line 633... Line 643...
633
		}
643
        }
634
	}
644
    }
Line 635... Line 645...
635
 
645
 
636
	private function lierImgAMotsCles($images_ids, $tags) {
646
    private function lierImgAMotsCles($images_ids, $tags) {
637
		// pas de mots clés pour les non-inscrits
647
        // pas de mots clés pour les non-inscrits
638
		if (!$this->userId) {
648
        if ($this->userId == null) {
639
			return true;
649
            $this->userId = 0;
Line 640... Line 650...
640
		}
650
        }
641
 
651
 
642
		$chemin_parent = "/";
652
        $chemin_parent = "/";
Line 739... Line 749...
739
				$infosImage['user_id'] = $this->userId;
749
                $infosImage['user_id'] = $this->userId;
740
				$infosImage['user_email'] = $this->userEmail;
750
                $infosImage['user_email'] = $this->userEmail;
741
				$infosImage['user_pseudo'] = $this->userIntitule;
751
                $infosImage['user_pseudo'] = $this->userIntitule;
742
				$infosImage['content_url'] = $cheminImage;
752
                $infosImage['content_url'] = $cheminImage;
743
				$infosImage['mime_type'] = mime_content_type($cheminImage);
753
                $infosImage['mime_type'] = mime_content_type($cheminImage);
744
				// $infosImage['url'] = '';
-
 
745
				// $infosImage['md5'] = md5_file($cheminImage);
754
                // $infosImage['md5'] = md5_file($cheminImage);
746
				$infosImage['date_created'] = 'NOW()';
755
                $infosImage['date_created'] = 'NOW()';
747
				$infosImage['date_updated'] = 'NOW()';
756
                $infosImage['date_updated'] = 'NOW()';
748
				$infosImage['date_linked_to_occurrence'] = 'NOW()';
757
                $infosImage['date_linked_to_occurrence'] = 'NOW()';
749
				$this->debug[] = 'Nom fichier img meta :'.$nomFichierImage;
758
                $this->debug[] = 'Nom fichier img meta :'.$nomFichierImage;
750
				$requete = $this->construireRequeteInsertionImage($infosImage);
759
                $requete = $this->construireRequeteInsertionImage($infosImage);
751
				$resultat = Cel::db()->executer($requete);
760
                $resultat = Cel::db()->executer($requete);
752
				if ($resultat !== false) {
761
                if ($resultat !== false) {
753
					$idImage = $this->traiterEtRecupererIdImage($nomFichierImage);
762
                    $idImage = $this->traiterEtRecupererIdImage($nomFichierImage);
754
					if ($idImage !== false) {
763
                    if ($idImage !== false) {
-
 
764
                        $infosImage['url'] = 'https://api.tela-botanica.org/img:'.str_pad($idImage, 9, '0', STR_PAD_LEFT).'O';
-
 
765
 
755
						$manipulateurImage = new ImageRecreation($this->config);
766
                        $manipulateurImage = new ImageRecreation($this->config);
756
						// Stocke le fichier en conservant les fichiers temporaires, ce qui permet de réessayer
767
                        // 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
768
                        // de les traiter en cas d'échec de la totalité du processus de traitement de l'obs
758
						$stockageOk = $manipulateurImage->stockerFichierOriginal($cheminImage, $idImage, true);
769
                        $stockageOk = $manipulateurImage->stockerFichierOriginal($cheminImage, $idImage, true);
759
						if ($stockageOk) {
770
                        if ($stockageOk) {
Line 807... Line 818...
807
			'FROM photo '.
818
            'FROM photo '.
808
			"WHERE (user_id = $id_utilisateur OR user_email = $email_utilisateur)".
819
            "WHERE (user_id = $id_utilisateur OR user_email = $email_utilisateur)".
809
			"	AND original_name = $original_name ";
820
            "	AND original_name = $original_name ";
810
		$resultat = Cel::db()->requeter($requete);
821
        $resultat = Cel::db()->requeter($requete);
811
		$id_image = $resultat[0]['id'] ?? false;
822
        $id_image = $resultat[0]['id'] ?? false;
-
 
823
		$id_image = $resultat[0]['id'] ?? false;
Line 812... Line 824...
812
 
824
 
813
		if ($id_image) {
825
        if ($id_image) {
814
			$full_id_image = str_pad($id_image, 9, '0', STR_PAD_LEFT) . 'O';
826
            $full_id_image = str_pad($id_image, 9, '0', STR_PAD_LEFT) . 'O';
815
			$image_url = sprintf($this->config['settings']['celImgUrlTpl'], $full_id_image);
827
            $image_url = sprintf($this->config['settings']['celImgUrlTpl'], $full_id_image);