You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

175 lines
4.0 KiB

<?php
/**
* Ce fichier contient l'ensemble des fonctions implémentant l'API du plugin.
*
* @package SPIP\ISOCODE\COLLECTION
*/
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
/**
* Déclare les collections accessibles via l'API ezREST.
* Par défaut, le plugin propose une liste de collections.
*
* @pipeline liste_ezcollection
*
* @param array $collections Configuration des collections déjà déclarées.
*
* @return array Collections complétées.
**/
function isocode_liste_ezcollection($collections) {
// Initialisation du tableau des collections
if (!$collections) {
$collections = array();
}
$collections['continents'] = array(
'module' => 'isocode',
'cache' => array(
'type' => 'spip',
'duree' => 3600 * 24 * 30
),
'filtres' => array()
);
$collections['zones'] = array(
'module' => 'isocode',
'cache' => array(
'type' => 'ezrest',
'duree' => 3600 * 24 * 30
),
'filtres' => array()
);
$collections['pays'] = array(
'module' => 'isocode',
'cache' => array(
'type' => 'ezrest',
'duree' => 3600 * 24 * 30
),
'filtres' => array(
array(
'critere' => 'zone',
'est_obligatoire' => false,
'champ_nom' => 'code_num_region',
'champ_table' => 'iso3166countries'
),
array(
'critere' => 'continent',
'est_obligatoire' => false,
'champ_nom' => 'code_continent',
'champ_table' => 'iso3166countries'
),
),
'ressource' => 'code_alpha2'
);
$collections['subdivisions'] = array(
'module' => 'isocode',
'cache' => array(
'type' => 'ezrest',
'duree' => 3600 * 24 * 30
),
'filtres' => array(
array(
'critere' => 'pays',
'est_obligatoire' => false,
'champ_nom' => 'country',
'champ_table' => 'iso3166subdivisions'
),
array(
'critere' => 'type',
'est_obligatoire' => false,
'champ_nom' => 'type',
'champ_table' => 'iso3166subdivisions'
),
array(
'critere' => 'exclure', // Ce n'est pas un filtre conditionnel mais une option de contenu
'est_obligatoire' => false,
),
)
);
$collections['infrasubdivisions'] = array(
'module' => 'isocode',
'cache' => array(
'type' => 'ezrest',
'duree' => 3600 * 24 * 30
),
'filtres' => array(
array(
'critere' => 'service',
'est_obligatoire' => false,
'champ_nom' => 'service',
'champ_table' => 'infrasubdivisions'
),
array(
'critere' => 'pays',
'est_obligatoire' => false,
'champ_nom' => 'country',
'champ_table' => 'infrasubdivisions'
),
array(
'critere' => 'type',
'est_obligatoire' => false,
'champ_nom' => 'type',
'champ_table' => 'infrasubdivisions'
),
array(
'critere' => 'exclure', // Ce n'est pas un filtre conditionnel mais une option de contenu
'est_obligatoire' => false,
),
),
);
$collections['contours'] = array(
'module' => 'isocode',
'cache' => array(
'type' => 'ezrest',
'duree' => 3600 * 24 * 30
),
'filtres' => array(
array(
'critere' => 'type',
'est_obligatoire' => true,
'champ_nom' => 'type',
'champ_table' => 'geoboundaries'
),
array(
'critere' => 'service',
'est_obligatoire' => false,
'champ_nom' => 'service',
'champ_table' => 'geoboundaries'
),
array(
'critere' => 'pays',
'est_obligatoire' => false,
'champ_nom' => 'country',
'champ_table' => 'geoboundaries'
),
array(
'critere' => 'exclure', // Ce n'est pas un filtre conditionnel mais une option de contenu
'est_obligatoire' => false,
),
),
);
$collections['services'] = array(
'module' => 'isocode',
'cache' => array(
'type' => 'ezrest',
'duree' => 3600 * 12
),
'filtres' => array(
array(
'critere' => 'type_service',
'est_obligatoire' => false,
),
),
);
return $collections;
}