Changeset 125432 in spip-zone


Ignore:
Timestamp:
Oct 4, 2020, 3:55:48 PM (8 weeks ago)
Author:
Eric Lupinacci
Message:

Création d'un nouveau type de service infrasubdivision pour permettre de gérer la nomenclature des infra subdivisions des pays.
Ajout des infra subdivisions de la france : communes et arrondisssements (pas de cantons pour l'instant).

Location:
_plugins_/isocode/trunk
Files:
6 added
11 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/isocode/trunk

    • Property subgit:lock:0858ddf359b9b7b9eaf8fa1dc5485142bb6f8674 deleted
    • Property subgit:lock:a890a4ae6046015e1e4add4367a3547aca548a50 set to 2020-10-04T18:02:58.721
  • _plugins_/isocode/trunk/base/isocode_declarations.php

    r125376 r125432  
    269269
    270270        // -------------------------------------------------------------------------------------
     271        // Table des infra subdivisions géographiques des pays (arborescence) avec un code spécifiques : spip_infrasubdivisions
     272        $table_infra_subdivisions = array(
     273                'service' => "varchar(30) DEFAULT '' NOT NULL",   // le nom du service
     274                'code'    => "varchar(20) DEFAULT '' NOT NULL",   // Specific identifier based on alpha2 country and specific code XX-YYY
     275                'country' => "char(2) DEFAULT '' NOT NULL",       // The two-letter identifier (ISO 3166 alpha2)
     276                'type'    => "varchar(48) DEFAULT '' NOT NULL",   // Specific type by country in english (department, land...)
     277                'parent'  => "varchar(20) DEFAULT '' NOT NULL",   // The identifier of parent
     278                'label'   => "text DEFAULT '' NOT NULL",          // Multilangage name
     279                'maj'     => 'timestamp DEFAULT current_timestamp ON UPDATE current_timestamp'
     280        );
     281
     282        $table_infra_subdivisions_key = array(
     283                'PRIMARY KEY' => 'service,code',
     284                'KEY type'    => 'type',
     285                'KEY country' => 'country',
     286        );
     287
     288        $tables_principales['spip_infrasubdivisions'] =
     289                array('field' => &$table_infra_subdivisions, 'key' => &$table_infra_subdivisions_key);
     290
     291        // -------------------------------------------------------------------------------------
    271292        // Table des codes alternatifs à l'ISO 3166-2 (nationaux ou supra-nationaux) : spip_iso3166alternates
    272293        // C'est en quelque sorte une table de liens qui fonctionne avec les codes et pas un id.
    273294        $table_alternates = array(
    274                 "code_iso"    => "varchar(6) DEFAULT '' NOT NULL",
     295                "code_iso"    => "varchar(20) DEFAULT '' NOT NULL",
    275296                "type_alter"  => "varchar(16) DEFAULT '' NOT NULL",
    276                 "code_alter"  => "varchar(10) DEFAULT '' NOT NULL",
     297                "code_alter"  => "varchar(20) DEFAULT '' NOT NULL",
    277298        );
    278299
  • _plugins_/isocode/trunk/ezrest/isocode.php

    r125384 r125432  
    273273 */
    274274function subdivisions_conditionner_pays($valeur) {
     275
     276        $condition = '';
     277        if ($valeur) {
     278                if (strpos($valeur, ',') === false) {
     279                        $condition = 'country=' . sql_quote($valeur);
     280                } else {
     281                        $pays = explode(',', $valeur);
     282                        $condition = sql_in('country', $pays);
     283                }
     284        }
     285
     286        return $condition;
     287}
     288
     289
     290// -----------------------------------------------------------------------
     291// ------------------- COLLECTION INFRASUBDIVISIONS ----------------------
     292// -----------------------------------------------------------------------
     293
     294/**
     295 * Récupère la liste des subdivisions de la table spip_iso3166subdivisions éventuellement filtrés par les critères
     296 * additionnels positionnés dans la requête.
     297 *
     298 * @param array $conditions    Conditions à appliquer au select
     299 * @param array $filtres       Tableau des critères de filtrage additionnels à appliquer au select.
     300 * @param array $configuration Configuration de la collection utile pour savoir quelle fonction appeler pour
     301 *                             construire chaque filtre.
     302 *
     303 * @return array Tableau des subdivisions et par défaut des codes alternatifs et de la liste des pays.
     304 */
     305function infrasubdivisions_collectionner($conditions, $filtres, $configuration) {
     306
     307        // Initialisation de la collection
     308        $subdivisions = array();
     309
     310        // Récupérer la liste des subdivisions (filtrée ou pas par pays ou par type de subdivision).
     311        $from = 'spip_infrasubdivisions';
     312        // -- Tous le champs sauf les labels par langue et la date de mise à jour.
     313        $description_table = sql_showtable($from, true);
     314        $champs = array_keys($description_table['field']);
     315        $select = array_diff($champs, array('maj'));
     316
     317        // -- Initialisation du where: aucune condition par défaut.
     318        $where = array();
     319        // -- Si il y a des critères additionnels on complète le where en conséquence.
     320        if ($conditions) {
     321                $where = array_merge($where, $conditions);
     322        }
     323        // -- Rangement de la liste dans l'index subdivisions
     324        $subdivisions['infrasubdivisions'] = sql_allfetsel($select, $from, $where);
     325
     326        // La liste est enrichie par défaut:
     327        // -- des codes alternatifs disponibles dans iso3166alternates
     328        // -- de la liste des pays concernés par les codes renvoyés
     329        // Ces données supplémentaires peuvent être exclues en utilisant le filtre 'exclure'
     330        //
     331        // -- Ajout des codes alternatifs si non exclus explicitement
     332        if (empty($filtres['exclure'])
     333                or (
     334                        !empty($filtres['exclure'])
     335                        and (strpos($filtres['exclure'], 'alternates') === false)
     336                )
     337        ) {
     338                // on construit la condition sur la table de liens à partir des codes ISO des subdivisions
     339                $where = array();
     340                $codes_subdivision = array_column($subdivisions['infrasubdivisions'], 'code');
     341                $where[] = sql_in('code_iso', $codes_subdivision);
     342
     343                $codes = sql_allfetsel('*', 'spip_iso3166alternates', $where);
     344                $subdivisions['codes_alternatifs'] = $codes;
     345        }
     346
     347        // -- Ajout de la liste des pays concernés par les subdivisions sauf si exclu
     348        if (empty($filtres['exclure'])
     349                or (
     350                        !empty($filtres['exclure'])
     351                        and (strpos($filtres['exclure'], 'pays') === false)
     352                )
     353        ) {
     354                // Liste des codes 3166-1 alpha2 et du nom multi
     355                $pays = array();
     356                foreach($subdivisions['infrasubdivisions'] as $_subdivision) {
     357                        if (!in_array($_subdivision['country'], $pays)) {
     358                                $where = array('code_alpha2=' . sql_quote($_subdivision['country']));
     359                                if ($nom = sql_getfetsel('label', 'spip_iso3166countries', $where)) {
     360                                        $pays[$_subdivision['country']] = $nom;
     361                                }
     362                        }
     363                }
     364                $subdivisions['pays'] = $pays;
     365
     366                if (
     367                        !empty($filtres['exclure'])
     368                        and (strpos($filtres['exclure'], 'infrasubdivisions') !== false)
     369                ) {
     370                        // -- On peut exclure aussi la liste des subdivisions pour n'avoir que les pays possédant une subdivisions
     371                        //    Pour cela il ne faut pas avoir exclu la liste des pays car sinon le payload peut être vide.
     372                        //    Cela allège le flux des données.
     373                        unset($subdivisions['infrasubdivisions']);
     374                }
     375        }
     376
     377        return $subdivisions;
     378}
     379
     380/**
     381 * Evite que le filtre exclure ne soit considéré comme une condition SQL.
     382 * Il sera traité dans la fonction collectionner pour supprimer des données dans le contenu de la requête.
     383 *
     384 * @param string $valeur Valeur du critère `exclure`.
     385 *
     386 * @return string Toujours la chaine vide.
     387 */
     388function infrasubdivisions_conditionner_exclure($valeur) {
     389
     390        return '';
     391}
     392
     393/**
     394 * Calcule la condition du filtre pays pour lequel il est possible de passer une liste de codes de pays séparés
     395 * par une virgule.
     396 *
     397 * @param string $valeur Valeur du critère `exclure`.
     398 *
     399 * @return string Toujours la chaine vide.
     400 */
     401function infrasubdivisions_conditionner_pays($valeur) {
    275402
    276403        $condition = '';
  • _plugins_/isocode/trunk/ezrest/isocode_openapi.schema.yaml

    r125387 r125432  
    3232  - name: subdivisions
    3333    description: Nomenclatures et informations sur les subdivisions territoriales
     34  - name: infrasubdivisions
     35    description: Nomenclatures sur les infra subdivisions territoriales
    3436  - name: contours
    3537    description: Contours géographiques des territoires
     
    4648      responses:
    4749        '200':
    48           $ref: '#/components/responses/zoneSucces'
     50          $ref: '#/components/responses/continentSucces'
    4951  /zones:
    5052    get:
     
    7072          required: false
    7173          schema:
    72             $ref: '#/components/schemas/CodeAlpha2'
     74            $ref: '#/components/schemas/CodeGeoIP'
    7375        - name: zone
    7476          in: query
     
    7779          schema:
    7880            $ref: '#/components/schemas/CodeNum3'
     81          example: '002'
    7982      responses:
    8083        '200':
     
    9699          schema:
    97100            $ref: '#/components/schemas/CodeAlpha2'
     101          example: 'FR'
    98102      responses:
    99103        '200':
     
    127131        '400':
    128132          $ref: '#/components/responses/parametreErreur'
     133  /infrasubdivisions:
     134    get:
     135      tags:
     136        - infrasubdivisions
     137      summary: Liste des infra subdivisions territoriales
     138      description: Renvoie la liste des infra subdivisions filtrée ou pas
     139      operationId: getInfraSubdivisions
     140      parameters:
     141        - name: service
     142          in: query
     143          description: L'identifiant du service
     144          required: true
     145          schema:
     146            $ref: '#/components/schemas/Identifiant'
     147        - $ref: '#/components/parameters/paysParametre'
     148        - name: type
     149          in: query
     150          description: Le type de subdivision au sens de l'ISO 3166-2
     151          required: false
     152          schema:
     153            $ref: '#/components/schemas/Identifiant'
     154        - name: exclure
     155          in: query
     156          description: liste des index à exclure de la réponse
     157          required: false
     158          schema:
     159            type: string
     160      responses:
     161        '200':
     162          $ref: '#/components/responses/zoneSucces'
     163        '400':
     164          $ref: '#/components/responses/parametreErreur'
    129165  /contours:
    130166    get:
     
    141177          schema:
    142178            type: string
    143             enum:
    144             - 'zone'
    145             - 'country'
    146             - 'subdivision'
     179            enum: ['zone', 'country', 'subdivision']
    147180        - name: service
    148181          in: query
     
    171204          schema:
    172205            type: string
    173             enum:
    174             - 'nomenclature'
    175             - 'geometrie'
     206            enum: ['nomenclature', 'geometrie']
    176207      responses:
    177208        '200':
     
    185216      type: string
    186217      pattern: '^[0-9]{3}$'
     218    CodeGeoIP:
     219      type: string
     220      enum: ['AF', 'NA', 'OC', 'AN', 'AS', 'EU', 'SA']
    187221    Identifiant:
    188222      type: string
     
    244278          type: string
    245279      required: ['status', 'type', 'element', 'valeur', 'titre', 'detail']   
     280    BlocDonneesContinent:
     281      type: object
     282      properties:
     283        continents:
     284          type: array
     285          items:
     286            type: object
     287            properties:
     288              code:
     289                $ref: '#/components/schemas/CodeAlpha2'
     290              code_M49:
     291                $ref: '#/components/schemas/CodeNum3'
     292              nom:
     293                type: string
     294          example:
     295            code: AS
     296            code_num: '142'
     297            nom: '<multi>[fr]Asie[en]Asia</multi>'
    246298    BlocDonneesZone:
    247299      type: object
     
    277329                type: string
    278330          example:
    279             '142': {code: AS, code_num: '142', label: '<multi>[fr]Asie[en]Asia</multi>'} 
     331            '142': {code: AS, code_num: '142', label: '<multi>[fr]Asie[en]Asia</multi>'}
    280332    BlocDonnees:
    281333      type: object
     
    289341        $ref: '#/components/schemas/CodeAlpha2'
    290342  responses:
     343    continentSucces:
     344      description: la requête a été traitée avec succès
     345      content:
     346        application/json:
     347          schema:
     348            type: object
     349            properties:
     350              donnees:
     351                $ref: '#/components/schemas/BlocDonneesContinent'
     352              erreur:
     353                $ref: '#/components/schemas/BlocErreur'
     354              fournisseur:
     355                $ref: '#/components/schemas/BlocFournisseur'
     356              requete:
     357                $ref: '#/components/schemas/BlocRequete'
    291358    zoneSucces:
    292359      description: la requête a été traitée avec succès
  • _plugins_/isocode/trunk/formulaires/isocode_peupler.php

    r125359 r125432  
    1313 * à savoir, charger ou vider et la liste des tables regroupées par service.
    1414 * L'action vider s'appelle décharger car il existe dékà une fonction d'administration de vidage des tables.
     15 *
     16 * @param string $type Type de service. Prend les valeurs `nomenclature`, `infra_subdivision` ou `geometrie`.
    1517 *
    1618 * @return array
  • _plugins_/isocode/trunk/inc/isocode.php

    r125379 r125432  
    2121 * @uses isocode_decharger_tables()
    2222 *
    23  * @param string $type Type de service. Prend les valeurs `nomenclature` ou `geometrie`.
    24  * @param array $services
    25  *      Liste des tables (nomenclature) ou des contours (geometrie) à charger.
    26  *      Si le tableau est vide l'ensemble des éléments du type choisi seront chargés.
     23 * @param string $type    Type de service. Prend les valeurs `nomenclature`, `infrasubdivision` ou `geometrie`.
     24 * @param string $table
     25 * @param string $service
    2726 *
    2827 * @return array
     
    191190                                }
    192191                        }
    193                 } elseif ($type === 'geometrie') {
     192                } else {
    194193                        // Contours géométriques : les services sont décrits dans la configuration incluse dans le fichier
    195194                        // geometrie_api.php
    196195                        include_spip("services/${type}/${type}_api");
    197                         $services[$type] = array_keys($GLOBALS['isocode']['geometrie']);
     196                        $services[$type] = array_keys($GLOBALS['isocode'][$type]);
    198197                }
    199198        }
     
    243242                                        }
    244243                                }
    245                         } elseif ($type === 'geometrie') {
     244                        } else {
    246245                                // Détermination du ou des services pour le type géométrie
    247246                                include_spip("services/${type}/${type}_api");
     
    296295                                }
    297296                        }
    298                 } elseif ($type === 'geometrie') {
     297                } else {
    299298                        // Un service ne concerne qu'une seule table
    300299                        include_spip("services/${type}/${type}_api");
  • _plugins_/isocode/trunk/isocode_administrations.php

    r125372 r125432  
    4040        );
    4141
     42        $maj['2'] = array(
     43                array(
     44                        'maj_tables',
     45                        array('spip_infrasubdivisions')
     46                ),
     47                array('sql_alter', "TABLE spip_iso3166alternates CHANGE code_iso code_iso varchar(20) DEFAULT '' NOT NULL"),
     48                array('sql_alter', "TABLE spip_iso3166alternates CHANGE code_alter code_alter varchar(20) DEFAULT '' NOT NULL"),
     49        );
     50
    4251        include_spip('base/upgrade');
    4352        maj_plugin($nom_meta_base_version, $version_cible, $maj);
  • _plugins_/isocode/trunk/isocode_pipelines.php

    r125381 r125432  
    9494        );
    9595
     96        $collections['infrasubdivisions'] = array(
     97                'module'    => 'isocode',
     98                'cache'     => array(
     99                        'type'  => 'ezrest',
     100                        'duree' => 3600 * 24 * 30
     101                ),
     102                'filtres'   => array(
     103                        array(
     104                                'critere'         => 'service',
     105                                'est_obligatoire' => false,
     106                                'champ_nom'       => 'service',
     107                                'champ_table'     => 'infrasubdivisions'
     108                        ),
     109                        array(
     110                                'critere'         => 'pays',
     111                                'est_obligatoire' => false,
     112                                'champ_nom'       => 'country',
     113                                'champ_table'     => 'infrasubdivisions'
     114                        ),
     115                        array(
     116                                'critere'         => 'type',
     117                                'est_obligatoire' => false,
     118                                'champ_nom'       => 'type',
     119                                'champ_table'     => 'infrasubdivisions'
     120                        ),
     121                        array(
     122                                'critere'         => 'exclure', // Ce n'est pas un filtre conditionnel mais une option de contenu
     123                                'est_obligatoire' => false,
     124                        ),
     125                ),
     126        );
     127
    96128        $collections['contours'] = array(
    97129                'module'    => 'isocode',
  • _plugins_/isocode/trunk/lang/isocode_fr.php

    r125386 r125432  
    1111
    1212        // E
    13         'erreur_400_zone_nok_titre'        => 'La zone géographique d\'identifiant « @valeur@ » est invalide',
    14         'erreur_400_zone_nok_message'      => 'La zone géographique doit être désignée par son identifiant UN M49 (3 chiffres)',
    15         'erreur_400_continent_nok_titre'   => 'Le continent d\'identifiant « @valeur@ » est invalide',
    16         'erreur_400_continent_nok_message' => 'Le continent doit être désignée par son identifiant GeoIP (2 lettres)',
    17         'erreur_charger'                   => 'Erreur de chargement pour « @elements@ ».',
    18         'erreur_decharger'                 => 'Erreur de vidage pour « @elements@ ».',
    19         'explication_action_nomenclature'  => 'Si les tables sont déjà chargées en base de données elle seront vidées avant le chargement.',
    20         'explication_action_geometrie'     => 'Si les contours sont déjà chargés en base de données ils seront vidés avant le chargement.',
     13        'erreur_400_zone_nok_titre'           => 'La zone géographique d\'identifiant « @valeur@ » est invalide',
     14        'erreur_400_zone_nok_message'         => 'La zone géographique doit être désignée par son identifiant UN M49 (3 chiffres)',
     15        'erreur_400_continent_nok_titre'      => 'Le continent d\'identifiant « @valeur@ » est invalide',
     16        'erreur_400_continent_nok_message'    => 'Le continent doit être désignée par son identifiant GeoIP (2 lettres)',
     17        'erreur_charger'                      => 'Erreur de chargement pour « @elements@ ».',
     18        'erreur_decharger'                    => 'Erreur de vidage pour « @elements@ ».',
     19        'explication_action_nomenclature'     => 'Si les tables sont déjà chargées en base de données elle seront vidées avant le chargement.',
     20        'explication_action_geometrie'        => 'Si les contours sont déjà chargés en base de données ils seront vidés avant le chargement.',
     21        'explication_action_infrasubdivision' => 'Si les infra subdivisions sont déjà chargées en base de données elles seront vidées avant le chargement.',
    2122
    2223        // G
     
    2728
    2829        // I
    29         'info_charge' => 'chargé',
     30        'info_charge'                   => 'chargé',
     31        'infrasubdivision_inseearrond'  => 'Arrondissements français selon l\'INSEE',
     32        'infrasubdivision_inseecommune' => 'Communes et arrondissements municipaux français selon l\'INSEE',
    3033
    3134        // L
    32         'label_action_charger'        => 'Charger',
    33         'label_action'                => 'Action à exécuter',
    34         'label_action_decharger'      => 'Vider',
    35         'label_colonne_actualisation' => 'Actualisé le',
    36         'label_colonne_libelle'       => 'Description',
    37         'label_colonne_service'       => 'Service',
    38         'label_colonne_statistiques'  => 'Compteur',
    39         'label_colonne_table'         => 'Table',
    40         'label_element_geometrie'     => 'Contours sur lesquels appliquer l\'action',
    41         'label_element_nomenclature'  => 'Tables sur lesquelles appliquer l\'action',
    42         'label_groupe_langue'         => 'Langues',
    43         'label_groupe_geographie'     => 'Informations géographiques',
     35        'label_action_charger'            => 'Charger',
     36        'label_action'                    => 'Action à exécuter',
     37        'label_action_decharger'          => 'Vider',
     38        'label_colonne_actualisation'     => 'Actualisé le',
     39        'label_colonne_libelle'           => 'Description',
     40        'label_colonne_service'           => 'Service',
     41        'label_colonne_statistiques'      => 'Compteur',
     42        'label_colonne_table'             => 'Table',
     43        'label_element_geometrie'         => 'Contours sur lesquels appliquer l\'action',
     44        'label_element_infrasubdivision'  => 'Infra subdivisions sur lesquelles appliquer l\'action',
     45        'label_element_nomenclature'      => 'Tables sur lesquelles appliquer l\'action',
     46        'label_groupe_langue'             => 'Langues',
     47        'label_groupe_geographie'         => 'Informations géographiques',
    4448
    4549        // M
    46         'menu_nomenclature' => 'Nomenclatures',
    47         'menu_geometrie'    => 'Contours géométriques',
     50        'menu_infrasubdivision' => 'Infra subdivisions',
     51        'menu_nomenclature'     => 'Nomenclatures internationales',
     52        'menu_geometrie'        => 'Contours géométriques',
    4853
    4954        // N
    50         'nomenclature_geoipcontinents'         => 'table des codes GeoIP des continents',
    51         'nomenclature_iana5646subtags'         => 'table reproduisant le registre IANA des sous-étiquettes de langues (RFC 5646)',
    52         'nomenclature_iso15924scripts'         => 'table des indicatifs d\'écritures (ISO 15924)',
    53         'nomenclature_iso3166alternates'       => 'table des codes alternatifs des subdivisions',
    54         'nomenclature_iso3166countries'        => 'table des indicatifs des pays (ISO 3166-1)',
    55         'nomenclature_iso3166subdivisions'     => 'table des indicatifs des subdivisions des pays (ISO 3166-2)',
    56         'nomenclature_m49regions'              => 'table des indicatifs des régions du monde selon l\'ONU (UN M.49)',
    57         'nomenclature_iso4217currencies'       => 'table des devises (ISO 4217)',
    58         'nomenclature_iso639codes'             => 'table principale des codes de langue (ISO 639-1,2 et 3)',
    59         'nomenclature_iso639families'          => 'table des familles et groupes de langues (ISO 639-5)',
    60         'nomenclature_iso639macros'            => 'table des macrolangues',
    61         'nomenclature_iso639names'             => 'table des noms de langues',
    62         'nomenclature_iso639retirements'       => 'table des langues supprimées',
    63         'notice_charger'                       => 'Aucune mise à jour nécessaire pour « @elements@ ».',
    64         'notice_geometrie_aucun_chargement'    => 'Aucun contour géométrique n\'a encore été chargé en base de données. Utiliser le formulaire ci-dessous pour y remédier.',
    65         'notice_nomenclature_aucun_chargement' => 'Aucune table de nomenclatures n\'a encore été chargée en base de données. Utiliser le formulaire ci-dessous pour y remédier.',
     55        'nomenclature_geoipcontinents'             => 'table des codes GeoIP des continents',
     56        'nomenclature_iana5646subtags'             => 'table reproduisant le registre IANA des sous-étiquettes de langues (RFC 5646)',
     57        'nomenclature_iso15924scripts'             => 'table des indicatifs d\'écritures (ISO 15924)',
     58        'nomenclature_iso3166alternates'           => 'table des codes alternatifs des subdivisions',
     59        'nomenclature_iso3166countries'            => 'table des indicatifs des pays (ISO 3166-1)',
     60        'nomenclature_iso3166subdivisions'         => 'table des indicatifs des subdivisions des pays (ISO 3166-2)',
     61        'nomenclature_m49regions'                  => 'table des indicatifs des régions du monde selon l\'ONU (UN M.49)',
     62        'nomenclature_iso4217currencies'           => 'table des devises (ISO 4217)',
     63        'nomenclature_iso639codes'                 => 'table principale des codes de langue (ISO 639-1,2 et 3)',
     64        'nomenclature_iso639families'              => 'table des familles et groupes de langues (ISO 639-5)',
     65        'nomenclature_iso639macros'                => 'table des macrolangues',
     66        'nomenclature_iso639names'                 => 'table des noms de langues',
     67        'nomenclature_iso639retirements'           => 'table des langues supprimées',
     68        'notice_charger'                           => 'Aucune mise à jour nécessaire pour « @elements@ ».',
     69        'notice_geometrie_aucun_chargement'        => 'Aucun contour géométrique n\'a encore été chargé en base de données. Utiliser le formulaire ci-dessous pour y remédier.',
     70        'notice_infrasubdivision_aucun_chargement' => 'Aucune infra subdivision n\'a encore été chargée en base de données. Utiliser le formulaire ci-dessous pour y remédier.',
     71        'notice_nomenclature_aucun_chargement'     => 'Aucune table de nomenclatures n\'a encore été chargée en base de données. Utiliser le formulaire ci-dessous pour y remédier.',
    6672
    6773        // S
     
    7076
    7177        // T
    72         'titre_form_gerer_table'     => 'Vider ou charger des tables',
    73         'titre_form_gerer_geometrie' => 'Vider ou charger des ensembles de contours géographiques',
    74         'titre_liste_tables'         => 'Liste des nomenclatures officielles chargées en base de données',
    75         'titre_liste_geometries'     => 'Liste des contours géométriques chargés en base de données',
    76         'titre_page_geometrie'       => 'Gestion des contours géométriques',
    77         'titre_page_nomenclature'    => 'Gestion des nomenclatures',
     78        'titre_form_gerer_table'        => 'Vider ou charger des tables',
     79        'titre_form_gerer_geometrie'    => 'Vider ou charger des ensembles de contours géographiques',
     80        'titre_liste_tables'            => 'Liste des nomenclatures officielles chargées en base de données',
     81        'titre_liste_geometries'        => 'Liste des contours géométriques chargés en base de données',
     82        'titre_liste_infrasubdivisions' => 'Liste des infra subdivisions chargées en base de données',
     83        'titre_page_geometrie'          => 'Gestion des contours géométriques',
     84        'titre_page_infrasubdivision'   => 'Gestion des infra subdivisions',
     85        'titre_page_nomenclature'       => 'Gestion des nomenclatures',
    7886);
  • _plugins_/isocode/trunk/paquet.xml

    r125372 r125432  
    22        prefix="isocode"
    33        categorie="outil"
    4         version="0.6.0"
    5         etat="dev"
     4        version="0.7.0"
     5        etat="test"
    66        compatibilite="[3.1.0;3.2.*]"
    77        logo="isocode_logo-64.png"
    8         schema="1"
     8        schema="2"
    99>
    1010
  • _plugins_/isocode/trunk/prive/squelettes/inclure/inc-navigation_isocode.html

    r125359 r125432  
    88        </li>]
    99        [<li class="item">
     10                (#URL_ECRIRE{isocode_infrasubdivision}
     11                        |lien_ou_expose{
     12                                <:isocode:menu_infrasubdivision:>,
     13                                [(#ENV{exec}|=={isocode_infrasubdivision})]})
     14        </li>]
     15        [<li class="item">
    1016                (#URL_ECRIRE{isocode_geometrie}
    1117                        |lien_ou_expose{
Note: See TracChangeset for help on using the changeset viewer.