Changeset 125432 in spip-zone
- Timestamp:
- Oct 4, 2020, 3:55:48 PM (5 months ago)
- 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 269 269 270 270 // ------------------------------------------------------------------------------------- 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 // ------------------------------------------------------------------------------------- 271 292 // Table des codes alternatifs à l'ISO 3166-2 (nationaux ou supra-nationaux) : spip_iso3166alternates 272 293 // C'est en quelque sorte une table de liens qui fonctionne avec les codes et pas un id. 273 294 $table_alternates = array( 274 "code_iso" => "varchar( 6) DEFAULT '' NOT NULL",295 "code_iso" => "varchar(20) DEFAULT '' NOT NULL", 275 296 "type_alter" => "varchar(16) DEFAULT '' NOT NULL", 276 "code_alter" => "varchar( 10) DEFAULT '' NOT NULL",297 "code_alter" => "varchar(20) DEFAULT '' NOT NULL", 277 298 ); 278 299 -
_plugins_/isocode/trunk/ezrest/isocode.php
r125384 r125432 273 273 */ 274 274 function 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 */ 305 function 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 */ 388 function 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 */ 401 function infrasubdivisions_conditionner_pays($valeur) { 275 402 276 403 $condition = ''; -
_plugins_/isocode/trunk/ezrest/isocode_openapi.schema.yaml
r125387 r125432 32 32 - name: subdivisions 33 33 description: Nomenclatures et informations sur les subdivisions territoriales 34 - name: infrasubdivisions 35 description: Nomenclatures sur les infra subdivisions territoriales 34 36 - name: contours 35 37 description: Contours géographiques des territoires … … 46 48 responses: 47 49 '200': 48 $ref: '#/components/responses/ zoneSucces'50 $ref: '#/components/responses/continentSucces' 49 51 /zones: 50 52 get: … … 70 72 required: false 71 73 schema: 72 $ref: '#/components/schemas/Code Alpha2'74 $ref: '#/components/schemas/CodeGeoIP' 73 75 - name: zone 74 76 in: query … … 77 79 schema: 78 80 $ref: '#/components/schemas/CodeNum3' 81 example: '002' 79 82 responses: 80 83 '200': … … 96 99 schema: 97 100 $ref: '#/components/schemas/CodeAlpha2' 101 example: 'FR' 98 102 responses: 99 103 '200': … … 127 131 '400': 128 132 $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' 129 165 /contours: 130 166 get: … … 141 177 schema: 142 178 type: string 143 enum: 144 - 'zone' 145 - 'country' 146 - 'subdivision' 179 enum: ['zone', 'country', 'subdivision'] 147 180 - name: service 148 181 in: query … … 171 204 schema: 172 205 type: string 173 enum: 174 - 'nomenclature' 175 - 'geometrie' 206 enum: ['nomenclature', 'geometrie'] 176 207 responses: 177 208 '200': … … 185 216 type: string 186 217 pattern: '^[0-9]{3}$' 218 CodeGeoIP: 219 type: string 220 enum: ['AF', 'NA', 'OC', 'AN', 'AS', 'EU', 'SA'] 187 221 Identifiant: 188 222 type: string … … 244 278 type: string 245 279 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>' 246 298 BlocDonneesZone: 247 299 type: object … … 277 329 type: string 278 330 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>'} 280 332 BlocDonnees: 281 333 type: object … … 289 341 $ref: '#/components/schemas/CodeAlpha2' 290 342 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' 291 358 zoneSucces: 292 359 description: la requête a été traitée avec succès -
_plugins_/isocode/trunk/formulaires/isocode_peupler.php
r125359 r125432 13 13 * à savoir, charger ou vider et la liste des tables regroupées par service. 14 14 * 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`. 15 17 * 16 18 * @return array -
_plugins_/isocode/trunk/inc/isocode.php
r125379 r125432 21 21 * @uses isocode_decharger_tables() 22 22 * 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 27 26 * 28 27 * @return array … … 191 190 } 192 191 } 193 } else if ($type === 'geometrie'){192 } else { 194 193 // Contours géométriques : les services sont décrits dans la configuration incluse dans le fichier 195 194 // geometrie_api.php 196 195 include_spip("services/${type}/${type}_api"); 197 $services[$type] = array_keys($GLOBALS['isocode'][ 'geometrie']);196 $services[$type] = array_keys($GLOBALS['isocode'][$type]); 198 197 } 199 198 } … … 243 242 } 244 243 } 245 } else if ($type === 'geometrie'){244 } else { 246 245 // Détermination du ou des services pour le type géométrie 247 246 include_spip("services/${type}/${type}_api"); … … 296 295 } 297 296 } 298 } else if ($type === 'geometrie'){297 } else { 299 298 // Un service ne concerne qu'une seule table 300 299 include_spip("services/${type}/${type}_api"); -
_plugins_/isocode/trunk/isocode_administrations.php
r125372 r125432 40 40 ); 41 41 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 42 51 include_spip('base/upgrade'); 43 52 maj_plugin($nom_meta_base_version, $version_cible, $maj); -
_plugins_/isocode/trunk/isocode_pipelines.php
r125381 r125432 94 94 ); 95 95 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 96 128 $collections['contours'] = array( 97 129 'module' => 'isocode', -
_plugins_/isocode/trunk/lang/isocode_fr.php
r125386 r125432 11 11 12 12 // 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.', 21 22 22 23 // G … … 27 28 28 29 // 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', 30 33 31 34 // 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', 44 48 45 49 // 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', 48 53 49 54 // 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.', 66 72 67 73 // S … … 70 76 71 77 // 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', 78 86 ); -
_plugins_/isocode/trunk/paquet.xml
r125372 r125432 2 2 prefix="isocode" 3 3 categorie="outil" 4 version="0. 6.0"5 etat=" dev"4 version="0.7.0" 5 etat="test" 6 6 compatibilite="[3.1.0;3.2.*]" 7 7 logo="isocode_logo-64.png" 8 schema=" 1"8 schema="2" 9 9 > 10 10 -
_plugins_/isocode/trunk/prive/squelettes/inclure/inc-navigation_isocode.html
r125359 r125432 8 8 </li>] 9 9 [<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"> 10 16 (#URL_ECRIRE{isocode_geometrie} 11 17 |lien_ou_expose{
Note: See TracChangeset
for help on using the changeset viewer.