Browse Source

Mise en place du chargement et du vidage des infra subdivisions.

Les infra subdivisions ne peuvent être chargées ou vidées que conjointement des subdivisions.
master
Eric Lupinacci 7 months ago
parent
commit
281297553e
  1. 2
      README.md
  2. 57
      formulaires/peupler_territoires.html
  3. 31
      formulaires/peupler_territoires.php
  4. 2
      inc/requeter_isocode.php
  5. 44
      inc/territoire.php
  6. 8
      inc/territoires_services.php
  7. 68
      inc/territoires_utils.php
  8. 49
      lang/territoires_fr.php
  9. 5
      prive/objets/infos/territoire.html
  10. 2
      prive/squelettes/contenu/territoires.html
  11. 10
      territoires_fonctions.php

2
README.md

@ -1,2 +1,2 @@
# territoires
Gestion des zones géographiques du continent à la subdivision
Gestion des zones géographiques du continent à la subdivision minimale d'un pays

57
formulaires/peupler_territoires.html

@ -18,12 +18,6 @@
obligatoire=oui,
})]
[(#SAISIE{case, forcer,
label_case=<:territoires:label_case_forcer:>,
explication=<:territoires:explication_forcer:>,
conteneur_class=long_label,
})]
[(#SAISIE{checkbox, types,
label=<:territoires:label_peupler_territoire:>,
explication=<:territoires:explication_zone_country_territoire:>,
@ -38,17 +32,33 @@
obligatoire=oui,
tout_selectionner=oui,
})]
</div>
[(#SAISIE{case, extra_code,
label_case=<:territoires:label_case_extra_code:>,
conteneur_class=long_label,
})]
<fieldset id="chargement">
<legend><:territoires:label_peupler_options:></legend>
<div class="editer-groupe">
[(#SAISIE{case, forcer,
label_case=<:territoires:label_case_forcer:>,
explication=<:territoires:explication_forcer:>,
conteneur_class=long_label,
})]
[(#SAISIE{case, extra_info,
label_case=<:territoires:label_case_extra_info:>,
conteneur_class=long_label,
})]
</div>
[(#SAISIE{case, infrasub,
label_case=<:territoires:label_case_infrasub:>,
conteneur_class=long_label,
})]
[(#SAISIE{case, extra_code,
label_case=<:territoires:label_case_extra_code:>,
conteneur_class=long_label,
})]
[(#SAISIE{case, extra_info,
label_case=<:territoires:label_case_extra_info:>,
conteneur_class=long_label,
})]
</div>
</fieldset>
<p class="boutons">
<span class="image_loading">&nbsp;</span>
@ -58,3 +68,20 @@
</form>
]
</div>
<script type="text/javascript">
//<![CDATA[
jQuery(document).ready(function() {
[(#ENV{action_territoire}|!={peupler}|oui)
jQuery("fieldset#chargement").hide();
]
jQuery("input[name='action_territoire']").change(function() {
if (jQuery("input[name='action_territoire']:checked").val() == ['peupler']) {
jQuery("fieldset#chargement").show();
} else {
jQuery("fieldset#chargement").hide(); }
jQuery(this).blur();
});
});
//]]>
</script>

31
formulaires/peupler_territoires.php

@ -65,7 +65,7 @@ function formulaires_peupler_territoires_charger() {
}
}
// Ne pas sélectionner des pays par défaut et ne pas se trainer les messages d'erreur
// Ne pas sélectionner un type ou un pays par défaut
set_request('types', array());
set_request('pays', array());
@ -103,6 +103,7 @@ function formulaires_peupler_territoires_verifier() {
/**
* Exécution du formulaire : les territoires choisis sont soit vidés, soit chargés.
*
* @uses territoire_est_peuple()
* @uses territoire_peupler()
* @uses territoire_depeupler()
* @uses formulaires_peupler_territoires_notifier()
@ -121,14 +122,28 @@ function formulaires_peupler_territoires_traiter() {
// Acquisition des saisies: comme elles sont obligatoires, il existe toujours une action et un territoire
// à savoir soit un type région ou pays, soit un pays pour une subdivision.
include_spip('inc/territoire');
$action = _request('action_territoire');
if ($action === 'peupler_force') {
$action = 'peupler';
}
$types = _request('types');
$pays = _request('pays');
$infra = _request('infrasub');
if ($pays) {
$types[] = 'subdivision';
if (
(
($action === 'peupler')
and $infra
)
or (
($action === 'depeupler')
and territoire_est_peuple('infra_subdivision', $pays)
)
) {
$types[] = 'infra_subdivision';
}
}
// Détermination des options de l'action
@ -145,11 +160,14 @@ function formulaires_peupler_territoires_traiter() {
// On peuple chaque type (ou type,pays pour les subdivisions).
// (La fonction de chargement lance un vidage préalable si le pays demandé est déjà chargée)
include_spip('inc/territoire');
$actionner = "territoire_${action}";
$statut = array();
foreach ($types as $_type) {
// Traitement du type en prenant en compte le cas particulier des subdivisions.
if ($_type === 'subdivision') {
if (
include_spip('inc/territoires_utils')
and type_est_subdivision($_type)
) {
foreach ($pays as $_pays) {
$statut[] = $actionner($_type, $_pays, $options);
}
@ -203,20 +221,21 @@ function formulaires_peupler_territoires_notifier($type, $messages, $action, $st
);
// On compile la liste des pays traités et un indicateur global pour chaque cas d'erreur.
include_spip('inc/territoires_utils');
foreach ($statuts as $_statut) {
// Traitement des succès
if (!empty($_statut['sha'])) {
if ($type === 'subdivision') {
if (type_est_subdivision($type)) {
$variables['sha'][] = $_statut['pays'];
}
$statut_global['sha'] = true;
} elseif (!$_statut['ok']) {
if ($type === 'subdivision') {
if (type_est_subdivision($type)) {
$variables['nok'][] = $_statut['pays'];
}
$statut_global['nok'] = true;
} else {
if ($type === 'subdivision') {
if (type_est_subdivision($type)) {
$variables['ok'][] = $_statut['pays'];
}
$statut_global['ok'] = true;

2
inc/requeter_isocode.php

@ -44,7 +44,7 @@ function inc_requeter_isocode_dist($url_base, $collection, $filtres, $taille_max
include_spip('inc/distant');
$options = array(
'transcoder' => true,
'taille_max' => _INC_DISTANT_MAX_SIZE * _TERRITOIRE_COEFF_MAX_DISTANT,
'taille_max' => $taille_max ? $taille_max : _INC_DISTANT_MAX_SIZE * _TERRITOIRE_COEFF_MAX_DISTANT,
);
// Acquisition du flux de données

44
inc/territoire.php

@ -15,9 +15,8 @@ if (!defined('_ECRIRE_INC_VERSION')) {
*
* @api
*
* @param string $type Type de territoires à peupler. Prends les valeurs `zone`, `country` ou `subdivision`.
* @param string $pays Code ISO 3166-1 alpha2 du pays dont on veut peupler les subdivisions.
* N'est utilisé que si le type choisi est `subdivision` sinon est une chaine vide.
* @param string $type Type de territoires. Prends les valeurs `zone`, `country`, `subdivision` ou `infra_subdivision`.
* @param string $pays Code ISO 3166-1 alpha2 du pays si le type est `subdivision` ou `infra_subdivision` sinon une chaine vide.
* @param array $options Options de peuplement (défaut à `false`) :
* - `force` : si `true` force le repeuplement même si le sha est identique.
* - `extras`: tableau des types d'extras à peupler soit `code` pour les codes alternatifs
@ -38,7 +37,7 @@ function territoire_peupler($type, $pays, $options = array()) {
// Le peuplement dépend du type :
// - type = zone ou country : on charge l'ensemble des régions du monde ou l'ensemble des pays
// - type = subdivision : il faut préciser le pays (code ISO alpha2) pour lequel on charge toutes les subdivisions
// - type = subdivision ou infra_subdivision : il faut préciser le pays (code ISO alpha2) pour lequel on charge toutes les subdivisions
include_spip('inc/territoires_services');
include_spip('inc/territoires_utils');
if (type_pays_est_valide($type, $pays)) {
@ -77,6 +76,14 @@ function territoire_peupler($type, $pays, $options = array()) {
// -- on vide les territoires avant de les remettre (inutile de gérer les erreurs
// car l'insertion les détectera).
// On gère aussi les infra subdivisions qui doivent être vidées au préalable si on vide
// les subdivisions parents.
if (
($type === 'subdivision')
and territoire_est_peuple('infra_subdivision', $pays)
) {
territoire_depeupler('infra_subdivision', $pays);
}
territoire_depeupler($type, $pays);
// -- on insère chaque territoire comme un objet
@ -230,9 +237,8 @@ function territoire_peupler($type, $pays, $options = array()) {
*
* @api
*
* @param string $type Type de territoires à peupler. Prends les valeurs `zone`, `country` ou `subdivision`.
* @param string $pays Code ISO 3166-1 alpha2 du pays dont on veut peupler les subdivisions.
* N'est utilisé que si le type choisi est `subdivision` sinon est une chaine vide.
* @param string $type Type de territoires. Prends les valeurs `zone`, `country`, `subdivision` ou `infra_subdivision`.
* @param string $pays Code ISO 3166-1 alpha2 du pays si le type est `subdivision` ou `infra_subdivision` sinon une chaine vide.
*
* @return array Liste des code ISO 3166-1 alpha2 des pays chargés sous la forme [code] = nom multi.
*/
@ -249,7 +255,7 @@ function territoire_depeupler($type, $pays = '') {
// Le vidage dépend du type :
// - type = zone ou country : on vide l'ensemble des régions du monde ou l'ensemble des pays
// - type = subdivision : il faut préciser le pays (code ISO alpha2) pour lequel on vide toutes les subdivisions
// - type = subdivision ou infra_subdivision : il faut préciser le pays (code ISO alpha2) pour lequel on vide toutes les subdivisions
include_spip('inc/territoires_services');
include_spip('inc/territoires_utils');
if (type_pays_est_valide($type, $pays)) {
@ -264,7 +270,7 @@ function territoire_depeupler($type, $pays = '') {
$where = array(
'type=' . sql_quote($type),
);
if ($type === 'subdivision') {
if (type_est_subdivision($type)) {
$where[] = 'iso_pays=' . sql_quote($pays);
}
if ($ids = sql_allfetsel('id_territoire', $from, $where)) {
@ -337,8 +343,8 @@ function territoire_depeupler($type, $pays = '') {
*
* @api
*
* @param string $type Type de territoires à acquérie. Prends les valeurs `zone`, `country` ou `subdivision`.
* @param array|string $pays Code ISO 3166-1 alpha2 du pays si le type est une subdivision sinon une chaine vide.
* @param string $type Type de territoires. Prends les valeurs `zone`, `country`, `subdivision` ou `infra_subdivision`.
* @param array|string $pays Code ISO 3166-1 alpha2 du pays si le type est `subdivision` ou `infra_subdivision` sinon une chaine vide.
*
* @return bool true si le territoire est chargé, false sinon.
*/
@ -350,7 +356,10 @@ function territoire_est_peuple($type, $pays = '') {
// La liste des territoires chargés est en meta.
include_spip('inc/config');
$peuplement = lire_config('territoires_peuplement', array());
if ($type === 'subdivision') {
if (
include_spip('inc/territoires_utils')
and type_est_subdivision($type)
) {
// Chaque pays chargé est un index du tableau
if (isset($peuplement[$type])) {
$est_peuple = array_key_exists($pays, $peuplement[$type]);
@ -368,9 +377,9 @@ function territoire_est_peuple($type, $pays = '') {
*
* @api
*
* @param string $type Type de territoires à acquérir. Prends les valeurs `zone`, `country` ou `subdivision`.
* @param array|string $pays Code ISO 3166-1 alpha2 du pays si le type est une subdivision ou chaine vide sinon.
* @param string $type_extra Type d'extra. Prends les valeurs `code` ou `info`.
* @param string $type Type de territoires. Prends les valeurs `zone`, `country`, `subdivision` ou `infra_subdivision`.
* @param string $pays Code ISO 3166-1 alpha2 du pays si le type est `subdivision` ou `infra_subdivision` sinon une chaine vide.
* @param string $type_extra Type d'extra. Prends les valeurs `code` ou `info`.
*
* @return bool true si le territoire est chargé, false sinon.
*/
@ -382,7 +391,10 @@ function territoire_extra_est_peuple($type, $pays, $type_extra) {
// La liste des territoires chargés est en meta.
include_spip('inc/config');
$peuplement = lire_config('territoires_peuplement', array());
if ($type === 'subdivision') {
if (
include_spip('inc/territoires_utils')
and type_est_subdivision($type)
) {
// Chaque pays chargé est un index du tableau
if (isset($peuplement[$type][$pays]['ext'])) {
$est_peuple = in_array($type_extra, $peuplement[$type][$pays]['ext']);

8
inc/territoires_services.php

@ -18,9 +18,8 @@ if (!defined('_ECRIRE_INC_VERSION')) {
*
* @api
*
* @param string $type Type de territoires. Prends les valeurs `zone`, `country` ou `subdivision`.
* @param string $pays Code ISO 3166-1 alpha2 du pays dont on veut peupler les subdivisions.
* N'est utilisé que si le type choisi est `subdivision`.
* @param string $type Type de territoires. Prends les valeurs `zone`, `country`, `subdivision` ou `infra_subdivision`.
* @param string $pays Code ISO 3166-1 alpha2 du pays si le type est `subdivision` ou `infra_subdivision` sinon une chaine vide.
*
* @return bool `true` si le couple (type, pays) est valide, `false` sinon.
*/
@ -28,7 +27,8 @@ function type_pays_est_valide($type, $pays = '') {
$est_valide = false;
// On récupère le sha de la table dans les metas si il existe (ie. la table a été chargée)
if ($type === 'subdivision') {
include_spip('inc/territoires_utils');
if (type_est_subdivision($type)) {
if (strlen($pays) === 2) {
$est_valide = true;
}

68
inc/territoires_utils.php

@ -97,9 +97,9 @@ function territoires_configurer() {
*
* @internal
*
* @param string $type Type de territoires à acquérie. Prends les valeurs `zone`, `country` ou `subdivision`.
* @param string $pays Code ISO 3166-1 alpha2 du pays nécessaire si le type est `subdivision`.
* @param array $options Permet de demander l'exclusion (`exclure`) de certains index si ceux-ci sont inutilisés
* @param string $type Type de territoires. Prends les valeurs `zone`, `country`, `subdivision` ou `infra_subdivision`.
* @param string $pays Code ISO 3166-1 alpha2 du pays si le type est `subdivision` ou `infra_subdivision` sinon une chaine vide.
* @param array $options Permet de demander l'exclusion (`exclure`) de certains index si ceux-ci sont inutilisés
* ou de ne retourner qu'un seul index (`index`).
*
* @return array
@ -116,8 +116,11 @@ function territoires_acquerir($type, $pays = '', $options = array()) {
$collection = 'zones';
} elseif ($type === 'country') {
$collection = 'pays';
} elseif ($type === 'subdivision') {
$collection = 'subdivisions';
} elseif (
include_spip('inc/territoires_utils')
and type_est_subdivision($type)
) {
$collection = "${type}s";
if ($pays) {
$filtres = array('pays' => $pays);
}
@ -155,8 +158,8 @@ function territoires_acquerir($type, $pays = '', $options = array()) {
*
* @internal
*
* @param string $type Type de territoires à préserver. Prends les valeurs `zone`, `country` ou `subdivision`.
* @param string $pays Code ISO 3166-1 alpha2 du pays nécessaire si le type est `subdivision`.
* @param string $type Type de territoires. Prends les valeurs `zone`, `country`, `subdivision` ou `infra_subdivision`.
* @param string $pays Code ISO 3166-1 alpha2 du pays si le type est `subdivision` ou `infra_subdivision` sinon une chaine vide.
*
* @return array
*/
@ -168,7 +171,7 @@ function territoires_preserver($type, $pays = '') {
$where = array(
'type=' . sql_quote($type),
);
if ($type === 'subdivision') {
if (type_est_subdivision($type)) {
$where[] = 'iso_pays=' . sql_quote($pays);
}
@ -240,10 +243,8 @@ function territoires_preserver($type, $pays = '') {
*
* @internal
*
* @param string $multi_prioritaire
* Balise multi considérée comme prioritaire en cas de conflit sur une langue.
* @param string $multi_non_prioritaire
* Balise multi considérée comme non prioritaire en cas de conflit sur une langue.
* @param string $multi_prioritaire Balise multi considérée comme prioritaire en cas de conflit sur une langue.
* @param string $multi_non_prioritaire Balise multi considérée comme non prioritaire en cas de conflit sur une langue.
*
* @return string
* La chaine construite est toujours une balise `<multi>` complète ou une chaine vide sinon.
@ -311,8 +312,8 @@ function traduction_fusionner($multi_prioritaire, $multi_non_prioritaire) {
/**
* @param array $territoire
* @param string $type
* @param string $pays
* @param string $type Type de territoires. Prends les valeurs `zone`, `country`, `subdivision` ou `infra_subdivision`.
* @param string $pays Code ISO 3166-1 alpha2 du pays si le type est `subdivision` ou `infra_subdivision` sinon une chaine vide.
*
* @internal
*
@ -352,6 +353,7 @@ function enregistrement_initialiser($territoire, $type, $pays = '') {
// La région d'appartenance est toujours inclus dans le champ code_num_region fourni par Nomenclatures
$enregistrement['iso_parent'] = $territoire['code_num_region'];
}
// TODO : comment gérer les infra subdivisions
return $enregistrement;
}
@ -365,8 +367,8 @@ function enregistrement_initialiser($territoire, $type, $pays = '') {
* @param array $types_extras
* @param array $source
* @param array $configuration
* @param string $type
* @param string $pays
* @param string $type Type de territoires. Prends les valeurs `zone`, `country`, `subdivision` ou `infra_subdivision`.
* @param string $pays Code ISO 3166-1 alpha2 du pays si le type est `subdivision` ou `infra_subdivision` sinon une chaine vide.
* @param array $meta_extras
*
* @return array
@ -425,21 +427,47 @@ function extra_compiler($mode, $types_extras, $source, $configuration, $type, $p
return $extras;
}
/**
* Vérifie si le couple (type, pays) est valide, à savoir, désigne bien un sous-ensemble cohérent de territoires.
* Les sous-ensembles valides sont :
* - les régions du monde
* - les pays
* - les subdivisions d'un pays.
*
* @api
*
* @param string $type Type de territoires. Prends les valeurs `zone`, `country`, `subdivision` ou `infra_subdivision`.
*
* @return bool `true` si le couple (type, pays) est valide, `false` sinon.
*/
function type_est_subdivision($type) {
$est_subdivision = false;
// On récupère le sha de la table dans les metas si il existe (ie. la table a été chargée)
if (
($type === 'subdivision')
or ($type === 'infra_subdivision')
) {
$est_subdivision = true;
}
return $est_subdivision;
}
/**
* Identifie la variable de configuration à partir du type de territoire et éventuellement du pays pour les
* subdivisions.
*
* @internal
*
* @param string $type Type de territoires à peupler. Prends les valeurs `zone`, `country` ou `subdivision`.
* @param string $pays Code ISO 3166-1 alpha2 du pays dont on veut peupler les subdivisions.
* N'est utilisé que si le type choisi est `subdivision`.
* @param string $type Type de territoires. Prends les valeurs `zone`, `country`, `subdivision` ou `infra_subdivision`.
* @param string $pays Code ISO 3166-1 alpha2 du pays si le type est `subdivision` ou `infra_subdivision` sinon une chaine vide.
*
* @return string
*/
function consigne_identifier($type, $pays = '') {
$consigne = ($type === 'subdivision')
$consigne = (type_est_subdivision($type))
? "${type}/${pays}"
: $type;

49
lang/territoires_fr.php

@ -14,8 +14,8 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'explication_peupler_form' => 'Si les territoires sont déjà chargées ils seront supprimés avant le rechargement. Néanmoins, les éventuelles modifications manuelles faites après le chargement initial et les liens avec les logos et les autres objets seront conservés.
Le vidage lui ne conserve ni les territoires, ni les extras, ni les liens.',
'explication_zone_country_territoire' => 'Régions & Pays',
'explication_subdivision_territoire' => 'Subdivisions',
'explication_forcer' => 'Le forçage est utile uniquement pour ajouter après coup des identifiants ou des informations complémentaires sans actionner le vidage au préalable.',
'explication_subdivision_territoire' => 'Subdivisions',
'explication_forcer' => 'Le forçage est utile uniquement pour ajouter après coup des identifiants ou des informations complémentaires sans actionner le vidage au préalable.',
// I
'info_territoire_peuple' => 'chargé',
@ -27,7 +27,9 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'label_case_forcer' => 'Forcer le peuplement',
'label_case_extra_code' => 'Charger des codes d\'identification supplémentaires pour les territoires choisis',
'label_case_extra_info' => 'Charger des informations complémentaires sur les territoires choisis',
'label_case_infrasub' => 'Charger également les infra subdivisions',
'label_peupler_action' => 'Choisissez une action',
'label_peupler_options' => 'Options de peuplement',
'label_peupler_territoire' => 'Choisissez les territoires sur lesquels appliquer l\'action sélectionnée',
// M
@ -48,26 +50,33 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'onglet_zone' => 'Zones',
'onglet_country' => 'Pays',
'onglet_subdivision' => 'Subdivisions',
'onglet_infra_subdivision' => 'Infra Subdivisions',
// S
'msg_depeupler_zone_erreur' => 'Une erreur s\'est produite lors du vidage des régions du monde.',
'msg_depeupler_zone_notice' => 'Aucun vidage n\'est nécessaire pour les régions du monde.',
'msg_depeupler_zone_succes' => 'Les régions du monde ont bien été vidées.',
'msg_peupler_zone_erreur' => 'Une erreur s\'est produite lors du peuplement des régions du monde.',
'msg_peupler_zone_notice' => 'Aucune mise à jour n\'est nécessaire pour les régions du monde.',
'msg_peupler_zone_succes' => 'Les régions du monde ont bien été chargées.',
'msg_depeupler_country_erreur' => 'Une erreur s\'est produite lors du vidage des pays.',
'msg_depeupler_country_notice' => 'Aucun vidage n\'est nécessaire pour les pays.',
'msg_depeupler_country_succes' => 'Les pays ont bien été vidés.',
'msg_peupler_country_erreur' => 'Une erreur s\'est produite lors du peuplement des pays.',
'msg_peupler_country_notice' => 'Aucune mise à jour n\'est nécessaire pour les pays.',
'msg_peupler_country_succes' => 'Les pays ont bien été chargés.',
'msg_depeupler_subdivision_erreur' => 'Une erreur s\'est produite lors du vidage des subdivisions du ou des pays « @pays@ ».',
'msg_depeupler_subdivision_notice' => 'Aucun vidage n\'est nécessaire pour les subdivisions du ou des pays « @pays@ ».',
'msg_depeupler_subdivision_succes' => 'Les subdivisions du ou des pays « @pays@ » ont bien été vidées.',
'msg_peupler_subdivision_erreur' => 'Une erreur s\'est produite lors du peuplement des subdivisions du ou des pays « @pays@ ».',
'msg_peupler_subdivision_notice' => 'Aucune mise à jour n\'est nécessaire pour les subdivisions du ou des pays « @pays@ ».',
'msg_peupler_subdivision_succes' => 'Les subdivisions du ou des pays « @pays@ » ont bien été chargées.',
'msg_depeupler_zone_erreur' => 'Une erreur s\'est produite lors du vidage des régions du monde.',
'msg_depeupler_zone_notice' => 'Aucun vidage n\'est nécessaire pour les régions du monde.',
'msg_depeupler_zone_succes' => 'Les régions du monde ont bien été vidées.',
'msg_peupler_zone_erreur' => 'Une erreur s\'est produite lors du peuplement des régions du monde.',
'msg_peupler_zone_notice' => 'Aucune mise à jour n\'est nécessaire pour les régions du monde.',
'msg_peupler_zone_succes' => 'Les régions du monde ont bien été chargées.',
'msg_depeupler_country_erreur' => 'Une erreur s\'est produite lors du vidage des pays.',
'msg_depeupler_country_notice' => 'Aucun vidage n\'est nécessaire pour les pays.',
'msg_depeupler_country_succes' => 'Les pays ont bien été vidés.',
'msg_peupler_country_erreur' => 'Une erreur s\'est produite lors du peuplement des pays.',
'msg_peupler_country_notice' => 'Aucune mise à jour n\'est nécessaire pour les pays.',
'msg_peupler_country_succes' => 'Les pays ont bien été chargés.',
'msg_depeupler_subdivision_erreur' => 'Une erreur s\'est produite lors du vidage des subdivisions du ou des pays « @pays@ ».',
'msg_depeupler_subdivision_notice' => 'Aucun vidage n\'est nécessaire pour les subdivisions du ou des pays « @pays@ ».',
'msg_depeupler_subdivision_succes' => 'Les subdivisions du ou des pays « @pays@ » ont bien été vidées.',
'msg_peupler_subdivision_erreur' => 'Une erreur s\'est produite lors du peuplement des subdivisions du ou des pays « @pays@ ».',
'msg_peupler_subdivision_notice' => 'Aucune mise à jour n\'est nécessaire pour les subdivisions du ou des pays « @pays@ ».',
'msg_peupler_subdivision_succes' => 'Les subdivisions du ou des pays « @pays@ » ont bien été chargées.',
'msg_depeupler_infra_subdivision_erreur' => 'Une erreur s\'est produite lors du vidage des infra subdivisions du ou des pays « @pays@ ».',
'msg_depeupler_infra_subdivision_notice' => 'Aucun vidage n\'est nécessaire pour les infra subdivisions du ou des pays « @pays@ ».',
'msg_depeupler_infra_subdivision_succes' => 'Les infra subdivisions du ou des pays « @pays@ » ont bien été vidées.',
'msg_peupler_infra_subdivision_erreur' => 'Une erreur s\'est produite lors du peuplement des infra subdivisions du ou des pays « @pays@ ».',
'msg_peupler_infra_subdivision_notice' => 'Aucune mise à jour n\'est nécessaire pour les infra subdivisions du ou des pays « @pays@ ».',
'msg_peupler_infra_subdivision_succes' => 'Les infra subdivisions du ou des pays « @pays@ » ont bien été chargées.',
// T
'territoires_titre' => 'Territoires',

5
prive/objets/infos/territoire.html

@ -9,12 +9,13 @@
[(#REM) <!-- Le code ISO utilisé pour le territoire :
- M49 pour les régions,
- 3166-1 alpha2 pour les pays
- 3166-2 pour les subdivisions -->]
- 3166-2 pour les subdivisions
- Code spécifiques pour les infra subdivisions -->]
<div class="numero">
<:territoire:champ_iso_territoire_label:>&nbsp;:
<p>#ISO_TERRITOIRE</p>
</div>
[(#REM) <!-- Type de territoire et son icone (zone, country, subdivision) -->]
[(#REM) <!-- Type de territoire et son icone (zone, country, subdivision, infra_subdivision) -->]
[<div class="numero">
[(#CHEMIN_IMAGE{[type_(#TYPE)-xx.svg]}
|image_reduire{32,32}

2
prive/squelettes/contenu/territoires.html

@ -10,7 +10,7 @@
|parametre_url{type, ''}
|lien_ou_expose{<:territoires:onglet_tous:>, #ENV{type, ''}|=={''}, ajax})
</li>]
<BOUCLE_types(DATA) {source table, #LISTE{zone, country, subdivision}}>
<BOUCLE_types(DATA) {source table, #LISTE{zone, country, subdivision, infra_subdivision}}>
[<li>
(#SELF
|parametre_url{type, #VALEUR}

10
territoires_fonctions.php

@ -12,16 +12,16 @@ if (!defined('_ECRIRE_INC_VERSION')) {
/**
* Fournit l'ascendance géographique d'un territoire, par consultation dans la base de données.
*
* @param string $iso_territoire Code ISO principal du territoire
* @param string|null $iso_parent Code ISO principal du parent direct du territoire concerné ou chaine vide sinon
* @param string $ordre Classement de la liste : `descendant`(défaut) ou `ascendant`.
*
* @return array Liste des territoires ascendants.
* @package SPIP\TERRITOIRE\API
*
* @api
* @filtre
*
* @param string $iso_territoire Code ISO principal du territoire
* @param string $iso_parent Code ISO principal du parent direct du territoire concerné ou chaine vide sinon
* @param string $ordre Classement de la liste : `descendant`(défaut) ou `ascendant`.
*
* @return array Liste des territoires ascendants.
*/
function territoire_informer_ascendance($iso_territoire, $iso_parent = null, $ordre = 'descendant') {

Loading…
Cancel
Save