Subversion Repositories eFlore/Applications.coel

Compare Revisions

Ignore whitespace Rev 1648 → Rev 1649

/trunk/jrest/services/CoelStructure.php
171,9 → 171,18
}
try {
// Vérification des tables à vraiment mettre à jour en fonction des données passées.
if( (! @$params['cs_latitude'] || ! @$params['cs_longitude']) &&
(@$params['cs_adresse_01'] || @$params['cs_code_postal'] || @$params['cs_ville']) ) {
$lonlat = array();
if(Coel::coordGuess(Coel::addrReStruct($params), $lonlat)) {
$params['cs_latitude'] = $lonlat['lat'];
$params['cs_longitude'] = $lonlat['lon'];
}
}
 
$tables_a_modifier = $this->recupererTablesAModifier($params);
reset($tables_a_modifier);
 
$id_structure = null;
while (list($table_id, $table) = each($tables_a_modifier)) {
if (is_null($table['champs'])) continue;
194,7 → 203,7
$tables_a_modifier[123]['champs_valeurs_id']['csv_id_structure'] = $id_structure;
$tables_a_modifier[123]['champs_valeurs_brut']['csv_id_structure'] = $id_structure;
$tables_a_modifier[123]['champs_valeurs_protege']['csv_id_structure'] = $this->bdd->quote($id_structure);
 
// Historisation (Ajout des méta-données)
$etat = 1; // Ajout
$cle = $this->recupererCle($table);
/trunk/jrest/services/Coel.php
656,5 → 656,40
public static function debug($var) {
echo '<pre>'.print_r($var, true).'</pre>';
}
 
/*
* Retourne une pair de coordonnée depuis un tableau représentant une adresse
* ou une adresse partielle à l'aide du service Nominatim.
* (http://wiki.openstreetmap.org/wiki/Nominatim)
*
* @param in data: un tableau associatif doté de *toutes* les clefs suivantes:
* 'adresse', 'cp', 'ville', 'pays'
* @param out lonlat: un tableau associatif contenant 'lon' et 'lat' si elles ont été déterminées
* @return boolean: selon que la fonction à réussi ou non
*/
static function coordGuess(Array $data, Array $lonlat) {
if(!$data) return FALSE;
// TODO
return FALSE;
}
 
/*
* Retourne un tableau prêt à être utilisé par coordGuess(), c'est à dire initialisant toutes
* les clefs nécessaires (même si NULL) et disposant systématiquement d'un pays.
* Cela à partir d'un tableau au format de clefs prédéterminé.
*
* @param data: un tableau associatif contenant les clefs telles que nommées à l'issue du
* du formulaire de saisie: 'cs_adresse_01', 'cs_code_postal', 'cs_ville'
* @return un tableau associatif contenant une ou plusieurs des clefs suivantes:
* 'adresse', 'cp', 'ville', 'pays'
*/
static function addrReStruc(Array $in) {
return array(
'adresse' => @trim($in['cs_adresse_01']) ? $in['cs_adresse_01'] : '',
'cp' => @trim($in['cs_code_postal']) ? $in['cs_code_postal'] : '',
'ville' => @trim($in['cs_ville']) ? $in['cs_ville'] : '',
'pays' => @trim($in['cs_ce_truk_pays']) ? $in['cs_ce_truk_pays'] : 'France'
);
}
}
?>