source: spip-zone/_plugins_/rainette/trunk/inc/debusquer.php @ 96102

Last change on this file since 96102 was 96102, checked in by eric@…, 4 years ago

Correction de la page de démo pour les infos et les conditions.

  • Property svn:eol-style set to native
File size: 4.7 KB
Line 
1<?php
2
3if (!defined('_ECRIRE_INC_VERSION')) {
4        return;
5}
6
7if (!defined('_RAINETTE_DEBUG')) {
8        define('_RAINETTE_DEBUG', false);
9}
10
11if (!defined('_RAINETTE_DEBUG_PREVISIONS')) {
12        define('_RAINETTE_DEBUG_PREVISIONS',
13                'Donn&#233;es d\'observation:date/heure
14                |Donn&#233;es astronomiques:lever_soleil/coucher_soleil
15                |Temp&#233;ratures:temperature:temperature_max:temperature_min
16                |Donn&#233;es an&#233;mom&#233;triques:vitesse_vent/angle_vent/direction_vent
17                |Donn&#233;es atmosph&#233;riques:risque_precipitation/precipitation/humidite/point_rosee/pression/visibilite/indice_uv/risque_uv
18                |&#201;tats m&#233;t&#233orologiques natifs:code_meteo/icon_meteo/desc_meteo
19                |&#201;tats m&#233;t&#233orologiques calcul&#233;s:periode/icone/resume');
20}
21if (!defined('_RAINETTE_DEBUG_CONDITIONS')) {
22        define('_RAINETTE_DEBUG_CONDITIONS',
23                'Donn&#233;es d\'observation:derniere_maj/station
24                |Temp&#233;ratures:temperature_reelle/temperature_ressentie
25                |Donn&#233;es an&#233;mom&#233;triques:vitesse_vent/angle_vent/direction_vent
26                |Donn&#233;es atmosph&#233;riques:precipitation/humidite/point_rosee/pression/tendance_pression/visibilite/indice_uv/risque_uv
27                |&#201;tats m&#233;t&#233orologiques natifs:code_meteo/icon_meteo/desc_meteo
28                |&#201;tats m&#233;t&#233orologiques calcul&#233;s:icone/resume/periode');
29}
30if (!defined('_RAINETTE_DEBUG_INFOS')) {
31        define('_RAINETTE_DEBUG_INFOS',
32                'Lieu:ville/pays/pays_iso/region
33                |Coordonn&#233;es:longitude/latitude');
34}
35if (!defined('_RAINETTE_DEBUG_TYPE_UNITE')) {
36        define('_RAINETTE_DEBUG_TYPE_UNITE',
37                'temperature:temperature_reelle,temperature_ressentie,point_rosee,temperature,temperature_max,temperature_min
38                |vitesse:vitesse_vent
39                |angle:angle_vent,longitude,latitude
40                |pourcentage:risque_precipitation,humidite
41                |pression:pression
42                |distance:visibilite
43                |precipitation:precipitation
44                |indice:indice_uv');
45}
46
47
48function rainette_dbg_afficher_cache($lieu, $mode = 'previsions', $periodicite = 0, $service = 'weather') {
49        $debug = '';
50
51        // Recuperation du tableau des conditions courantes
52        if (_RAINETTE_DEBUG and function_exists('bel_env')) {
53                $charger = charger_fonction('charger_meteo', 'inc');
54                $nom_fichier = $charger($lieu, $mode, $periodicite, $service);
55                if ($nom_fichier) {
56                        $contenu = '';
57                        lire_fichier($nom_fichier, $contenu);
58                        $tableau = unserialize($contenu);
59
60                        $debug = bel_env(serialize($tableau));
61                }
62        }
63
64        return $debug;
65}
66
67
68function rainette_dbg_comparer_services($mode = 'conditions', $jeu = array(), $periodicite = 0) {
69        $debug = array();
70
71        if (!$mode) {
72                $mode = 'conditions';
73        }
74
75        $donnees = constant('_RAINETTE_DEBUG_' . strtoupper($mode));
76        $donnees = explode(':', $donnees);
77
78        if ($donnees) {
79                if (!$jeu) {
80                        $jeu = array(
81                                'weather'      => 'FRXX0076',
82                                'owm'          => 'Paris,Fr',
83                                'wwo'          => 'Paris,France',
84                                'wunderground' => 'Paris,France'
85                        );
86                }
87
88                // Recuperation du tableau des conditions courantes
89                foreach ($jeu as $_service => $_lieu) {
90                        $charger = charger_fonction('charger_meteo', 'inc');
91                        $nom_cache = $charger($_lieu, $mode, $periodicite, $_service);
92                        lire_fichier($nom_cache, $contenu_cache);
93                        $tableau = unserialize($contenu_cache);
94
95                        if (!$tableau['extras']['erreur']) {
96                                $tableau =$tableau['donnees'];
97                                foreach ($tableau as $_donnee => $_valeur) {
98                                        $type = gettype($tableau[$_donnee]);
99                                        $debug[$_donnee][$_service]['valeur'] = $_valeur;
100                                        $debug[$_donnee][$_service]['type'] = $type;
101                                        if ($_donnee != 'erreur') {
102                                                $debug[$_donnee][$_service]['erreur'] = ($type === 'NULL') ? 'nonapi' : ($_valeur === '' ? 'erreur' : '');
103                                        } else {
104                                                $debug[$_donnee][$_service]['erreur'] = $_valeur ? 'erreur' : '';
105                                        }
106                                }
107                        }
108                }
109        }
110
111        return $debug;
112}
113
114
115function rainette_dbg_afficher_donnee($donnee, $valeur, $type_php, $service = 'weather') {
116        static $types_unite = array();
117        $texte = '';
118
119        if (!$types_unite) {
120                $config_types = explode('|', _RAINETTE_DEBUG_TYPE_UNITE);
121                foreach ($config_types as $_config_type) {
122                        list($type, $donnees) = explode(':', trim($_config_type));
123                        foreach (explode(',', $donnees) as $_donnee) {
124                                $types_unite[$_donnee] = $type;
125                        }
126                }
127        }
128        $type_donnee = isset($types_unite[$donnee]) ? $types_unite[$donnee] : '';
129
130        if ($type_php === 'NULL') {
131                $texte = '<del>API</del>';
132                $type_php = '';
133        } elseif ($valeur === '') {
134                if ($donnee != 'erreur') {
135                        $texte = 'Indisponible';
136                } else {
137                        $texte = $valeur ? $valeur : 'Ok';
138                }
139        } elseif ($type_php === 'array') {
140                foreach ($valeur as $_cle => $_valeur) {
141                        $texte .= ($texte ? '<br />' : '') . "<strong>${_cle}</strong> : " . ((gettype($_valeur) === null) ? '<del>API</del>' : $_valeur);
142                }
143        } else {
144                $texte = $type_donnee ? rainette_afficher_unite($valeur, $type_donnee, -1, $service) : $valeur;
145        }
146        $texte .= "<br /><em>${type_php}</em>";
147
148        return $texte;
149}
Note: See TracBrowser for help on using the repository browser.