@ -15,118 +15,6 @@ if (!defined('_TERRITOIRE_URL_BASE_ISOCODE')) {
define('_TERRITOIRE_URL_BASE_ISOCODE', 'https://contrib.spip.net/http.api/ezrest');
}
/**
* Initialise la configuration de chargement des différents types de territoire, soit les régions du monde, les pays,
* les subdivisions et infra-subdivisions.
* Cette configuration est stockée dans la meta `territoires` à l’ installation et n'est pas modifiable.
*
* @internal
*
* @return array Tableau des configurations de chaque type de territoire définissant comment récupérer et interpréter
* les données de Nomenclatures pour remplir les tables de territoires.
*/
function territoires_configurer() {
// Configuration statique du plugin Territoires
$configuration = array(
'zone' => array(
'champs' => array(
'base' => array(
'code_num' => 'iso_territoire',
'category' => 'categorie',
'parent' => 'iso_parent',
'label' => 'iso_titre',
),
'index' => 'zones',
),
'extras' => array(
'code' => array(
'champs' => array(
'extra' => '#code_geoip',
'valeur' => 'code',
),
'index' => 'continents',
'cle_iso' => 'code_num',
),
),
),
'country' => array(
'champs' => array(
'base' => array(
'code_alpha2' => 'iso_territoire',
'category' => 'categorie',
'code_continent' => 'iso_continent',
'label' => 'iso_titre',
),
'extras' => array(
'code' => array(
'code_alpha3' => 'code_iso3166_a3',
'code_num' => 'code_iso3166_num',
),
'info' => array(
'capital' => 'capital',
'area' => 'area',
'population' => 'population',
'tld' => 'tld',
'code_4217_3' => 'code_4217_3',
'phone_id' => 'phone_id'
),
),
'index' => 'pays',
),
),
'subdivision' => array(
'champs' => array(
'base' => array(
'code_3166_2' => 'iso_territoire',
'type' => 'categorie',
'country' => 'iso_pays',
'parent' => 'iso_parent',
'label' => 'iso_titre',
),
'index' => 'subdivisions',
),
'extras' => array(
'code' => array(
'champs' => array(
'extra' => 'type_alter',
'valeur' => 'code_alter',
),
'index' => 'codes_alternatifs',
'cle_iso' => 'code_iso',
),
),
),
'infrasubdivision' => array(
'champs' => array(
'base' => array(
'code' => 'iso_territoire',
'type' => 'categorie',
'country' => 'iso_pays',
'parent' => 'iso_parent',
'label' => 'iso_titre',
),
'index' => 'infrasubdivisions',
),
'extras' => array(
'code' => array(
'champs' => array(
'extra' => 'type_alter',
'valeur' => 'code_alter',
),
'index' => 'codes_alternatifs',
'cle_iso' => 'code_iso',
),
),
),
);
return $configuration;
}
/**
* Acquiert les données de territoires disponibles dans Nomenclatures.
* La fonction utilise l'API REST de Nomenclatures.
@ -369,9 +257,9 @@ function enregistrement_initialiser($territoire, $type, $pays = '') {
}
// Compléter systématiquement avec le type, le nom d'usage qui pour l'instant n'est pas fourni et le descriptif
// TODO : pour l'instant Nomenclatures ne fournit pas de nom d'usage (on duplique le nom ISO) ni de descriptif.
// TODO : pour l'instant Nomenclatures ne fournit pas de nom d'usage ni de descriptif.
$enregistrement['type'] = $type;
$enregistrement['nom_usage'] = $enregistrement['iso_titre'];
$enregistrement['nom_usage'] = preg_replace("#\s+\(.*\)#", '', $enregistrement['iso_titre']) ;
$enregistrement['descriptif'] = '';
// Gestion des parentés inter-types : on remplit systématiquement le champ parent pour créer une hiérarchie complète
@ -504,9 +392,7 @@ function type_est_subdivision($type) {
*/
function consigne_identifier($type, $pays = '') {
$consigne = (type_est_subdivision($type))
return (type_est_subdivision($type))
? "${type}/${pays}"
: $type;
return $consigne;
}