Subversion Repositories eFlore/Applications.cel

Compare Revisions

No changes between revisions

Ignore whitespace Rev 3116 → Rev 3117

/branches/v2.27-secateur/jrest/services/CelWidgetSaisie.php
40,6 → 40,26
$this->debug[] = 'Projet : '.$requeteDonnees['projet'];
$this->projet = $requeteDonnees['projet'];
 
// Si c'estune obs Pl@ntNet, la garde-t-on ou non ?
if (! empty($requeteDonnees['tag-obs']) && strpos(strtolower($requeteDonnees['tag-obs']), 'plantnet') !== false) {
// 1) l'email est-il dans notre annuaire ?
$inscritATela = $this->estInscritATela($requeteDonnees['utilisateur']['courriel']);
// 2) y a-t-il date, lieu, détermination, référentiel ? (à voir plus tard)
// $donneeQualifiee = $this->estUneDonneeQualifiee($requeteDonnees);
// @WARNING : ne pas relancer enrichirDonneesTaxonomiques() !
$donneeQualifiee = false; // debug
if (! $inscritATela && ! $donneeQualifiee) {
// fake ID
$retour = (object) array(
'msg' => "observation Pl@ntNet non sauvegardée",
'id' => "fake-" . uniqid(),
'images' => array()
);
$this->envoyerJson($retour);
exit; // envoyerJson() ne termine pas le script !
} // sinon traitement normal
}
 
// Traitements des tags multiples de projet
$this->traiterProjetTags();
 
252,6 → 272,41
}
 
/**
* Retourne true si le courriel $courriel est présent dans l'annuaire Tela,
* false sinon
*/
protected function estInscritATela($courriel) {
if (empty($courriel)) {
return false;
}
// interrogation de l'annuaire
$url = sprintf($this->config['settings']['baseURLServicesAnnuaireTpl'], 'utilisateur/identite-par-courriel/' . $courriel);
$retour = file_get_contents($url);
if (! $retour) {
return false;
}
try {
$retour = json_decode($retour, true);
} catch (Exception $e) {
return false;
}
// le service annuaire a retourné qqch de valide
return (! empty($retour));
}
 
/**
* Retourne true si les champs suivants sont présents dans le tableau :
* - obsId1[nom_sel]
* - obsId1[latitude]' : obs.geoloc.lat || '',
'obsId1[longitude]' : obs.geoloc.lon || '',
* mot-clé "pn:referentiel"
*/
protected function estUneDonneeQualifiee($donnees) {
// vérifier date et géoloc
// lancer enrichirDonneesTaxonomiques et vérifier si ça a retrouvé un nn
}
 
/**
* Si les données taxonomiques sont incomplètes dans $obs
* (clefs 'nom_sel_nn', 'nom_sel', 'nom_referentiel', 'nom_ret_nn',
* 'nom_ret', 'famille'), tente d'en récupérer un maximum à l'aide des
262,7 → 317,7
protected function enrichirDonneesTaxonomiques(&$obs) {
// sans référentiel, on ne peut rien faire
if (! empty($obs['nom_referentiel'])) {
// copies locales pour ne pas abimer les donénes d'entrée
// copies locales pour ne pas abimer les données d'entrée
$nn = $obs['nom_sel_nn'];
$ref = $obs['nom_referentiel'];
$ns = $obs['nom_sel'];
/branches/v2.27-secateur/jrest/services
Property changes:
Modified: svn:mergeinfo
Merged /trunk/jrest/services:r3111-3112
/branches/v2.27-secateur/jrest
Property changes:
Modified: svn:mergeinfo
Merged /trunk/jrest:r3111-3112
/branches/v2.27-secateur/.
Property changes:
Modified: svn:mergeinfo
Merged /trunk:r3111-3112