Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 3720 Rev 3731
Line 41... Line 41...
41
        if (self::ARRET_SERVICE) {
41
        if (self::ARRET_SERVICE) {
42
            $this->messages[] = "Désactivation temporaire du service d'envoi des données au CEL.";
42
            $this->messages[] = "Désactivation temporaire du service d'envoi des données au CEL.";
43
        } else if (array_key_exists('projet', $requeteDonnees)) {
43
        } else if (array_key_exists('projet', $requeteDonnees)) {
44
            $this->debug[] = 'Projet : '.$requeteDonnees['projet'];
44
            $this->debug[] = 'Projet : '.$requeteDonnees['projet'];
45
            if ($requeteDonnees['projet'] != "base") {
45
            if ($requeteDonnees['projet'] != "base") {
46
                $this->projet = $requeteDonnees['projet'];
46
                $this->projet = $requeteDonnees['projet'] ?? null;
47
                $this->projetId = $requeteDonnees['id_projet'] ?? null;
47
                $this->projetId = $requeteDonnees['id_projet'] ?? null;
48
            }
48
            }
Line 49... Line 49...
49
 
49
 
50
            // Si c'est une obs Pl@ntNet
50
            // Si c'est une obs Pl@ntNet
Line 123... Line 123...
123
                        $obsAAjouter['geometry'] = $obs['geometry'] ?? json_encode([
123
                        $obsAAjouter['geometry'] = $obs['geometry'] ?? json_encode([
124
                                'type' => 'Point',
124
                                'type' => 'Point',
125
                                'coordinates' => [ (float)$obs['longitude'], (float)$obs['latitude'] ]
125
                                'coordinates' => [ (float)$obs['longitude'], (float)$obs['latitude'] ]
126
                            ]); // CONCAT('{\"type\":\"Point\",\"coordinates\":[', longitude, ',', latitude,']}'),
126
                            ]); // CONCAT('{\"type\":\"Point\",\"coordinates\":[', longitude, ',', latitude,']}'),
127
                        $obsAAjouter['geodatum'] = 'WGS84';
127
                        $obsAAjouter['geodatum'] = 'WGS84';
-
 
128
                        $obsAAjouter['published_location'] = (! empty($requeteDonnees['tag-obs']) && strpos(strtolower($requeteDonnees['tag-obs']), 'plantnet') !== false) ? 
-
 
129
                            "localité" : "précise";
Line 128... Line 130...
128
 
130
 
129
                        $obsAAjouter['phenology'] = isset($obs['phenologie']) ? $obs['phenologie'] : null;
131
                        $obsAAjouter['phenology'] = isset($obs['phenologie']) ? $obs['phenologie'] : null;
Line 130... Line 132...
130
                        $obsAAjouter['coef'] = isset($obs['abondance']) ? $obs['abondance'] : null;
132
                        $obsAAjouter['coef'] = isset($obs['abondance']) ? $obs['abondance'] : null;
Line 135... Line 137...
135
                        $obsAAjouter['date_published'] = $obsAAjouter['date_created'];
137
                        $obsAAjouter['date_published'] = $obsAAjouter['date_created'];
Line 136... Line 138...
136
 
138
 
137
                        $obsAAjouter['image_nom'] = $obs['image_nom'] ?? null;
139
                        $obsAAjouter['image_nom'] = $obs['image_nom'] ?? null;
Line 138... Line 140...
138
                        $obsAAjouter['image_b64'] = $obs['image_b64'] ?? null;
140
                        $obsAAjouter['image_b64'] = $obs['image_b64'] ?? null;
139
 
141
 
140
                        $obsAAjouter['certainty'] = '';
142
                        $obsAAjouter['certainty'] = ($this->project == "aDeterminer") ? 'à déterminer' : '';
141
                        if (isset($obs['certitude'])) {
143
                        if (isset($obs['certitude'])) {
142
                            switch ($obs['certitude']) {
144
                            switch ($obs['certitude']) {
143
                                case 'certaine':
145
                                case 'certaine':
Line 151... Line 153...
151
                                    break;
153
                                    break;
152
                            }
154
                            }
153
                        }
155
                        }
154
                        $obsAAjouter['input_source'] = 'widget';
156
                        $obsAAjouter['input_source'] = 'widget';
155
                        $obsAAjouter['project_id'] = $this->projetId;
157
                        $obsAAjouter['project_id'] = $this->projetId;
156
                        $obsAAjouter['project'] = $this->projet;
158
                        $obsAAjouter['project'] = ($this->projectId == null) ? null : $this->projet;
157
                        if ($this->isFromPlantNet) {
159
                        if ($this->isFromPlantNet) {
158
                            $obsAAjouter['input_source'] = 'PlantNet';
160
                            $obsAAjouter['input_source'] = 'PlantNet';
159
                            $obsAAjouter['plantnet_id'] = $obs['obs_id'];
161
                            $obsAAjouter['plantnet_id'] = $obs['obs_id'];
160
                        }
162
                        }
161
                        if ($this->isSauvages) {
163
                        if ($this->isSauvages) {
Line 661... Line 663...
661
        return $tag;
663
        return $tag;
662
    }
664
    }
Line 663... Line 665...
663
 
665
 
664
    private function traiterNomFichierImage($fichierNom) {
666
    private function traiterNomFichierImage($fichierNom) {
-
 
667
        $fichierNom = preg_replace('/[.](jpeg|jpg)$/i', '.jpg', strtolower(trim($fichierNom)));
665
        $fichierNom = preg_replace('/[.](jpeg|jpg)$/i', '.jpg', strtolower(trim($fichierNom)));
668
        
666
        return $fichierNom;
669
        return $fichierNom;
Line 667... Line 670...
667
    }
670
    }
668
 
671
 
Line 747... Line 750...
747
                $infosImage['date_linked_to_occurrence'] = 'NOW()';
750
                $infosImage['date_linked_to_occurrence'] = 'NOW()';
748
                $this->debug[] = 'Nom fichier img meta :'.$nomFichierImage;
751
                $this->debug[] = 'Nom fichier img meta :'.$nomFichierImage;
749
                $requete = $this->construireRequeteInsertionImage($infosImage);
752
                $requete = $this->construireRequeteInsertionImage($infosImage);
750
                $resultat = Cel::db()->executer($requete);
753
                $resultat = Cel::db()->executer($requete);
751
                if ($resultat !== false) {
754
                if ($resultat !== false) {
752
                    $idImage = $this->traiterEtRecupererIdImage($nomFichierImage);
755
                    $idImage = $this->traiterEtRecupererIdImage($nomFichierImage, $id_obs);
753
                    if ($idImage !== false) {
756
                    if ($idImage !== false) {
754
                        $infosImage['url'] = 'https://api.tela-botanica.org/img:'.str_pad($idImage, 9, '0', STR_PAD_LEFT).'O';
757
                        $infosImage['url'] = 'https://api.tela-botanica.org/img:'.str_pad($idImage, 9, '0', STR_PAD_LEFT).'O';
Line 755... Line 758...
755
 
758
 
756
                        $manipulateurImage = new ImageRecreation($this->config);
759
                        $manipulateurImage = new ImageRecreation($this->config);
Line 797... Line 800...
797
        $ok = $manipulateurImage->detruireImageSurDisque($idImageASupprimer);
800
        $ok = $manipulateurImage->detruireImageSurDisque($idImageASupprimer);
Line 798... Line 801...
798
 
801
 
799
        return $ok;
802
        return $ok;
Line 800... Line 803...
800
    }
803
    }
801
 
-
 
802
    private function traiterEtRecupererIdImage($original_name) {
-
 
803
        $id_utilisateur = Cel::db()->proteger($this->userId);
804
 
Line 804... Line 805...
804
        $email_utilisateur = Cel::db()->proteger($this->userEmail);
805
    private function traiterEtRecupererIdImage($original_name, $id_obs) {
805
        $original_name = Cel::db()->proteger($original_name);
806
        $original_name = Cel::db()->proteger($original_name);
806
 
807
 
807
        $requete = 'SELECT id '.
808
        $requete = 'SELECT id '.
808
            'FROM photo '.
809
            'FROM photo '.
809
            "WHERE (user_id = $id_utilisateur OR user_email = $email_utilisateur)".
810
            "WHERE occurrence_id = ".$idObs.
Line 810... Line 811...
810
            "	AND original_name = $original_name ";
811
            "	AND original_name = $original_name ";