| 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 ";
|