source: spip-zone/_plugins_/isocode/trunk/isocode_pipelines.php @ 125373

Last change on this file since 125373 was 125373, checked in by Eric Lupinacci, 11 months ago

Ajout des contours pour les lands allemands

File size: 3.3 KB
Line 
1<?php
2/**
3 * Ce fichier contient l'ensemble des fonctions implémentant l'API du plugin.
4 *
5 * @package SPIP\ISOCODE\COLLECTION
6 */
7if (!defined('_ECRIRE_INC_VERSION')) {
8        return;
9}
10
11
12/**
13 * Déclare les collections accessibles via l'API ezREST.
14 * Par défaut, le plugin propose une liste de collections.
15 *
16 * @pipeline liste_ezcollection
17 *
18 * @param array $collections Configuration des collections déjà déclarées.
19 *
20 * @return array Collections complétées.
21**/
22function isocode_liste_ezcollection($collections) {
23
24        // Initialisation du tableau des collections
25        if (!$collections) {
26                $collections = array();
27        }
28
29        // Les index désignent les collections, le tableau associé contient les filtres admissibles.
30        $collections['subdivisions'] = array(
31                'module'    => 'isocode',
32                'cache'     => array(
33                        'type'  => 'ezrest',
34                        'duree' => 3600 * 24 * 30
35                ),
36                'filtres'   => array(
37                        array(
38                                'critere'         => 'pays',
39                                'est_obligatoire' => false,
40                                'champ_nom'       => 'country',
41                                'champ_table'     => 'iso3166subdivisions'
42                        ),
43                        array(
44                                'critere'         => 'type',
45                                'est_obligatoire' => false,
46                                'champ_nom'       => 'type',
47                                'champ_table'     => 'iso3166subdivisions'
48                        ),
49                        array(
50                                'critere'         => 'exclure', // Ce n'est pas un filtre conditionnel mais une option de contenu
51                                'est_obligatoire' => false,
52                        ),
53                )
54        );
55
56        $collections['pays'] = array(
57                'module'    => 'isocode',
58                'cache'     => array(
59                        'type'  => 'ezrest',
60                        'duree' => 3600 * 24 * 30
61                ),
62                'filtres'   => array(
63                        array(
64                                'critere'         => 'zone',
65                                'est_obligatoire' => false,
66                                'champ_nom'       => 'code_num_region',
67                                'champ_table'     => 'iso3166countries'
68                        ),
69                        array(
70                                'critere'         => 'continent',
71                                'est_obligatoire' => false,
72                                'champ_nom'       => 'code_continent',
73                                'champ_table'     => 'iso3166countries'
74                        ),
75                ),
76                'ressource' => 'code_alpha2'
77        );
78
79        $collections['zones'] = array(
80                'module'  => 'isocode',
81                'cache'     => array(
82                        'type'  => 'ezrest',
83                        'duree' => 3600 * 24 * 30
84                ),
85                'filtres' => array()
86        );
87
88        $collections['continents'] = array(
89                'module'  => 'isocode',
90                'cache'     => array(
91                        'type'  => 'spip',
92                        'duree' => 3600 * 24 * 30
93                ),
94                'filtres' => array()
95        );
96
97        $collections['contours'] = array(
98                'module'    => 'isocode',
99                'cache'     => array(
100                        'type'  => 'ezrest',
101                        'duree' => 3600 * 24 * 30
102                ),
103                'filtres'   => array(
104                        array(
105                                'critere'         => 'type',
106                                'est_obligatoire' => true,
107                                'champ_nom'       => 'type',
108                                'champ_table'     => 'geoboundaries'
109                        ),
110                        array(
111                                'critere'         => 'pays',
112                                'est_obligatoire' => false,
113                                'champ_nom'       => 'country',
114                                'champ_table'     => 'geoboundaries'
115                        ),
116                        array(
117                                'critere'         => 'service',
118                                'est_obligatoire' => false,
119                                'champ_nom'       => 'service',
120                                'champ_table'     => 'geoboundaries'
121                        ),
122                        array(
123                                'critere'         => 'exclure', // Ce n'est pas un filtre conditionnel mais une option de contenu
124                                'est_obligatoire' => false,
125                        ),
126                ),
127        );
128
129        $collections['services'] = array(
130                'module'    => 'isocode',
131                'cache'     => array(
132                        'type'  => 'ezrest',
133                        'duree' => 3600 * 12
134                ),
135                'filtres'   => array(
136                        array(
137                                'critere'         => 'type_service',
138                                'est_obligatoire' => false,
139                        ),
140                ),
141        );
142
143        return $collections;
144}
Note: See TracBrowser for help on using the repository browser.