Changeset 94839 in spip-zone


Ignore:
Timestamp:
Jan 31, 2016, 4:20:42 PM (3 years ago)
Author:
eric@…
Message:

Réorganisation d'une partie de la configuration des services.
Reformatage des fichiers service.

Location:
_plugins_/rainette/trunk
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/rainette/trunk/inc/charger_meteo.php

    r94836 r94839  
    8585        // par défaut configuré pour le service.
    8686        if (($mode == 'previsions') and !$periodicite) {
    87                 $periodicite = $configuration['previsions']['defaut'];
     87                $periodicite = $configuration['previsions']['periodicite_defaut'];
    8888        }
    8989
  • _plugins_/rainette/trunk/rainette_fonctions.php

    r94836 r94839  
    120120        // On construit la balise img
    121121        $texte = attribut_html($resume);
    122         $balise_img = "<img src=\"$source\" alt=\"$texte\" title=\"$texte\" width=\"$taille_defaut\" height=\"$taille_defaut\" />";
     122        $balise_img = "<img src=\"${source}\" alt=\"${texte}\" title=\"${texte}\" width=\"${taille_defaut}\" height=\"${taille_defaut}\" />";
    123123
    124124        return $balise_img;
     
    274274
    275275/**
    276  * @param        $lieu
     276 * @param string $lieu
     277 * @param string $mode
    277278 * @param string $modele
    278279 * @param string $service
     280 * @param array  $options
    279281 *
    280282 * @return array|string
     
    283285
    284286        // Initialisation du retour
    285         $texte = '';
    286287        $tableau = array();
    287288
    288289        // Détermination de la périodicité en fonction du mode et du modèle demandés
    289         $type_modele = 0;
    290290        $periodicite = 0;
    291291        $erreur = '';
  • _plugins_/rainette/trunk/services/owm.php

    r94836 r94839  
    66 * @package SPIP\RAINETTE\SERVICES\OWM
    77 */
    8 
    9 if (!defined("_ECRIRE_INC_VERSION")) {
     8if (!defined('_ECRIRE_INC_VERSION')) {
    109        return;
    1110}
     
    3231                'logo'  => null,
    3332                'lien'  => 'http://openweathermap.org/',
    34         ),
    35         'previsions'     => array(
    36                 'periodicites' => array(
    37                         24 => array('max_jours' => 16),
    38 //                      3  => array('max_jours' => 5)
    39                 ),
    40                 'defaut'       => 24
    4133        ),
    4234        'langue_service' => 'EN'
     
    10193//    pas disponibles en JSON
    10294$GLOBALS['rainette_owm_config']['previsions'] = array(
    103         'periode_maj'     => 7200,
    104         'format_flux'     => 'xml',
    105         'cle_base'        => array('children', 'forecast', 0, 'children', 'time'),
    106         'cle_heure'       => array(),
    107         'structure_heure' => false,
    108         'donnees'         => array(
     95        'periodicites'       => array(
     96                24 => array('max_jours' => 16),
     97                //              3  => array('max_jours' => 5)
     98        ),
     99        'periodicite_defaut' => 24,
     100        'periode_maj'        => 7200,
     101        'format_flux'        => 'xml',
     102        'cle_base'           => array('children', 'forecast', 0, 'children', 'time'),
     103        'cle_heure'          => array(),
     104        'structure_heure'    => false,
     105        'donnees'            => array(
    109106                // Données d'observation
    110107                'date'                 => array('cle' => array('attributes', 'day')),
     
    161158 * @param string $lieu
    162159 * @param string $mode
     160 * @param        $periodicite
     161 * @param        $configuration
    163162 *
    164163 * @return string
     
    186185 * @param $lieu
    187186 * @param $mode
     187 * @param $periodicite
     188 * @param $configuration
    188189 *
    189190 * @return string
     
    209210                   . '&mode=' . $configuration['format_flux']
    210211                   . '&units=' . ($configuration['unite'] == 'm' ? 'metric' : 'imperial')
    211                    . (($mode == 'previsions') and ($periodicite == 24) ? '&cnt=' . $configuration['previsions']['periodicites'][$periodicite]['max_jours'] : '')
     212                   . ((($mode == 'previsions') and ($periodicite == 24))
     213                        ? '&cnt=' . $configuration['periodicites'][$periodicite]['max_jours']
     214                        : '')
    212215                   . '&lang=' . $code_langue
    213216                   . ($configuration['inscription'] ? '&APPID=' . $configuration['inscription'] : '');
     
    217220
    218221/**
    219  * @param array  $flux
    220  * @param string $lieu
    221  * @param int    $index
    222  *        Index où trouver et ranger les données. Cet index n'est pas utilisé pour les conditions
     222 * @param array $tableau
     223 * @param       $configuration
    223224 *
    224225 * @return array
     
    286287 * @param array $configuration
    287288 *        Configuration complète du service, statique et utilisateur.
    288  * @param int   $index
     289 * @param int   $index_periode
    289290 *        Index où trouver et ranger les données. Cet index n'est pas utilisé pour les conditions
    290291 *
     
    313314 */
    314315
     316/**
     317 * Calcule les états en fonction des états météorologiques natifs fournis par le service.
     318 *
     319 * @internal
     320 *
     321 * @param array $tableau
     322 *        Tableau standardisé des conditions contenant uniquement les données fournies sans traitement
     323 *        par le service. Le tableau est mis à jour et renvoyé à l'appelant.
     324 * @param array $configuration
     325 *        Configuration complète du service, statique et utilisateur.
     326 *
     327 * @return void
     328 */
    315329function etat2resume_owm(&$tableau, $configuration) {
    316330
  • _plugins_/rainette/trunk/services/weather.php

    r94836 r94839  
    2828                'logo'  => null,
    2929                'lien'  => 'http://www.weather.com/',
    30         ),
    31         'previsions'     => array(
    32                 'periodicites' => array(
    33                         12 => array('max_jours' => 10)
    34                 ),
    35                 'defaut'       => 12
    3630        ),
    3731        'langue_service' => ''
     
    9387// -- Seules les données non calculées sont configurées.
    9488$GLOBALS['rainette_weather_config']['previsions'] = array(
    95         'periode_maj'     => 1800,
    96         'format_flux'     => 'xml',
    97         'cle_base'        => array('children', 'dayf', 0, 'children', 'day'),
    98         'cle_heure'       => array('children', 'part'),
    99         'structure_heure' => true,
    100         'donnees'         => array(
     89        'periodicites'       => array(
     90                12 => array('max_jours' => 10)
     91        ),
     92        'periodicite_defaut' => 12,
     93        'periode_maj'        => 1800,
     94        'format_flux'        => 'xml',
     95        'cle_base'           => array('children', 'dayf', 0, 'children', 'day'),
     96        'cle_heure'          => array('children', 'part'),
     97        'structure_heure'    => true,
     98        'donnees'            => array(
    10199                // Données d'observation
    102100                'date'                 => array('cle' => array('attributes', 'dt')),
     
    148146 * @param $lieu
    149147 * @param $mode
     148 * @param $periodicite
    150149 * @param $configuration
    151150 *
     
    169168 * @param $lieu
    170169 * @param $mode
     170 * @param $periodicite
    171171 * @param $configuration
    172172 *
     
    176176
    177177        $url = _RAINETTE_WEATHER_URL_BASE
    178                    . strtoupper(trim($lieu))
    179                    . '?unit='
    180                    . $configuration['unite'];
     178           . strtoupper(trim($lieu))
     179           . '?unit='
     180           . $configuration['unite'];
    181181
    182182        if ($mode != 'infos') {
    183183                $url .= ($mode == 'previsions')
    184                         ? '&dayf=' . $configuration['previsions']['periodicites'][$periodicite]['max_jours']
     184                        ? '&dayf=' . $configuration['periodicites'][$periodicite]['max_jours']
    185185                        : '&cc=*';
    186186        }
     
    191191
    192192function weather_complement2infos($tableau, $configuration) {
     193
    193194        // Le nom de la ville retournée par le service est sous la forme 'Ville,Région[,Pays]' (Région désigne
    194195        // parfois le département (France) ou l'état (Etats-Unis).
     
    234235 * @param array $configuration
    235236 *        Configuration complète du service, statique et utilisateur.
    236  * @param int   $index
     237 * @param int   $index_periode
    237238 *        Index où trouver et ranger les données. Cet index n'est pas utilisé pour les conditions
    238239 *
     
    244245
    245246        if (($tableau) and ($index_periode > -1)) {
    246 
    247247                // Compléter le tableau standard avec les états météorologiques calculés
    248248                etat2resume_weather($tableau, $configuration);
  • _plugins_/rainette/trunk/services/wunderground.php

    r94836 r94839  
    1111
    1212if (!defined('_RAINETTE_WUNDERGROUND_URL_BASE_REQUETE')) {
     13        /**
     14         * URL de base (endpoint) des requêtes au service Wunderground
     15         */
    1316        define('_RAINETTE_WUNDERGROUND_URL_BASE_REQUETE', 'http://api.wunderground.com/api');
    1417}
    1518if (!defined('_RAINETTE_WUNDERGROUND_URL_BASE_ICONE')) {
     19        /**
     20         * UEL de base des icônes fournis par le service Wunderground
     21         */
    1622        define('_RAINETTE_WUNDERGROUND_URL_BASE_ICONE', 'http://icons.wxug.com/i/c');
    1723}
     
    3137                'logo'  => 'wunderground-126.png',
    3238                'lien'  => 'http://www.wunderground.com/',
    33         ),
    34         'previsions'        => array(
    35                 'periodicites' => array(
    36                         24 => array('max_jours' => 10),
    37 //                      1  => array('max_jours' => 10)
    38                 ),
    39                 'defaut'            => 24
    4039        ),
    4140        'langue_service' => 'EN'
     
    9796// -- Seules les données non calculées sont configurées.
    9897$GLOBALS['rainette_wunderground_config']['previsions'] = array(
    99         'periode_maj'     => 1800,
    100         'format_flux'     => 'json',
    101         'cle_base'        => array('forecast', 'simpleforecast', 'forecastday'),
    102         'cle_heure'       => array(),
    103         'structure_heure' => false,
    104         'donnees'         => array(
     98        'periodicites'       => array(
     99                24 => array('max_jours' => 10),
     100                //              1  => array('max_jours' => 10)
     101        ),
     102        'periodicite_defaut' => 24,
     103        'periode_maj'        => 1800,
     104        'format_flux'        => 'json',
     105        'cle_base'           => array('forecast', 'simpleforecast', 'forecastday'),
     106        'cle_heure'          => array(),
     107        'structure_heure'    => false,
     108        'donnees'            => array(
    105109                // Données d'observation
    106110                'date'                 => array('cle' => array('date', 'epoch')),
     
    195199
    196200/**
    197  * @param $lieu
    198  * @param $mode
     201 * Contruit l'url de la requête en fonction du lieu, du mode et de la périodicité demandés.
     202 *
     203 * @api
     204 *
     205 * @param string $lieu
     206 *        Lieu pour lequel on requiert le nom du cache.
     207 * @param string $mode
     208 *        Type de données météorologiques. Les valeurs possibles sont `infos`, `conditions` ou `previsions`.
     209 * @param int    $periodicite
     210 *        La périodicité horaire des prévisions :
     211 *            - `24`, ou `1`, pour le mode `previsions`
     212 *            - `0`, pour les modes `conditions` et `infos`
     213 * @param array  $configuration
     214 *        Configuration complète du service, statique et utilisateur.
    199215 *
    200216 * @return string
     217 *        Chemin complet du fichier cache.
    201218 */
    202219function wunderground_service2url($lieu, $mode, $periodicite, $configuration) {
     
    254271 * @param array $configuration
    255272 *        Configuration complète du service, statique et utilisateur.
    256  * @param int   $index
    257  *        Index où trouver et ranger les données. Cet index n'est pas utilisé pour les conditions
    258273 *
    259274 * @return array
     
    310325 * @param array $configuration
    311326 *        Configuration complète du service, statique et utilisateur.
    312  * @param int   $index
    313  *        Index où trouver et ranger les données. Cet index n'est pas utilisé pour les conditions
     327 * @param int   $index_periode
     328 *        Index où trouver et ranger les données.
    314329 *
    315330 * @return array
     
    342357 * ---------------------------------------------------------------------------------------------
    343358 */
     359
     360/**
     361 * Calcule les états en fonction des états météorologiques natifs fournis par le service.
     362 *
     363 * @internal
     364 *
     365 * @param array $tableau
     366 *        Tableau standardisé des conditions contenant uniquement les données fournies sans traitement
     367 *        par le service. Le tableau est mis à jour et renvoyé à l'appelant.
     368 * @param array $configuration
     369 *        Configuration complète du service, statique et utilisateur.
     370 *
     371 * @return void
     372 */
    344373function etat2resume_wunderground(&$tableau, $configuration) {
    345374
    346375        if ($tableau['code_meteo']
    347         and $tableau['icon_meteo']) {
     376                and $tableau['icon_meteo']
     377        ) {
    348378                // Determination, suivant le mode choisi, du code, de l'icone et du resume qui seront affiches
    349379                if ($configuration['condition'] == 'wunderground') {
     
    384414                'chancerain'      => array(39, 45),
    385415                'chancesleet'     => array(39, 45),
    386 //              'chancesleet'     => array(41, 46),
     416                //              'chancesleet'     => array(41, 46),
    387417                'chancesnow'      => array(41, 46),
    388418                'chancetstorms'   => array(38, 47),
     
    416446}
    417447
     448/**
     449 * @param $langue
     450 *
     451 * @return string
     452 */
    418453function langue2code_wunderground($langue) {
    419454        static $langue2wunderground = array(
  • _plugins_/rainette/trunk/services/wwo.php

    r94836 r94839  
    3131                'logo'  => null,
    3232                'lien'  => 'http://www.worldweatheronline.com/',
    33         ),
    34         'previsions'       => array(
    35                 'periodicites' => array(
    36                         24 => array('max_jours' => 15),
    37                         12 => array('max_jours' => 15),
    38                         6  => array('max_jours' => 15),
    39                         3  => array('max_jours' => 15),
    40                         1  => array('max_jours' => 15)
    41                 ),
    42                 'defaut'       => 24
    4333        ),
    4434        'langue_service' => 'en',
     
    10090// -- Seules les données non calculées sont configurées.
    10191$GLOBALS['rainette_wwo_config']['previsions'] = array(
    102         'periode_maj'     => 14400,
    103         'format_flux'     => 'json',
    104         'cle_base'        => array('data', 'weather'),
    105         'cle_heure'       => array('hourly'),
    106         'structure_heure' => true,
    107         'donnees'         => array(
     92        'periodicites'       => array(
     93                24 => array('max_jours' => 15),
     94                12 => array('max_jours' => 15),
     95                6  => array('max_jours' => 15),
     96                3  => array('max_jours' => 15),
     97                1  => array('max_jours' => 15)
     98        ),
     99        'periodicite_defaut' => 24,
     100        'periode_maj'        => 14400,
     101        'format_flux'        => 'json',
     102        'cle_base'           => array('data', 'weather'),
     103        'cle_heure'          => array('hourly'),
     104        'structure_heure'    => true,
     105        'donnees'            => array(
    108106                // Données d'observation
    109107                'date'                 => array('cle' => array('date')),
     
    243241        } else {
    244242                $url .= '&cc=no&fx=yes'
    245                                 . '&num_of_days=' . $configuration['previsions']['periodicites'][$periodicite]['max_jours']
     243                                . '&num_of_days=' . $configuration['periodicites'][$periodicite]['max_jours']
    246244                                . '&tp=' . strval($periodicite);
    247245        }
Note: See TracChangeset for help on using the changeset viewer.