Compare commits

...

49 Commits
master ... v1

Author SHA1 Message Date
Salvatore c8b6e249f5 [Salvatore] [source:lang/ rainette] Export depuis https://trad.spip.net de la langue fr
[Salvatore] [source:lang/ rainette] Mise a jour du bilan depuis https://trad.spip.net
3 years ago
salvatore@rezo.net c075e5c093 [Salvatore] [source: rainette] Export depuis https://trad.spip.net de la langue fr
[Salvatore] [source: rainette] Mise a jour du bilan depuis https://trad.spip.net
3 years ago
alm82@live.it e2c9bde801 [Salvatore] [source:_plugins_/rainette/branches/v1/lang/ rainette] Export depuis http://trad.spip.net de la langue it 6 years ago
alm82@live.it 10849f34e7 [Salvatore] [source:_plugins_/rainette/branches/v1/lang/ rainette] Export depuis http://trad.spip.net de la langue it 6 years ago
spip.franck@lien-d-amis.net 01246c0a07 Contrib est en https, donc j'ajoute le "s", plus divers broutilles 6 years ago
salvatore@rezo.net 67f3b656a8 [Salvatore] [source:_plugins_/rainette/branches/v1/lang/ rainette] Export depuis http://trad.spip.net 6 years ago
george@middleeastwatch.net 31b9078370 Report de la r97817 dans la v1: Weather fonctionne sur cette URL ; mais il faut ajouter http: 7 years ago
salvatore@rezo.net 2b781ccd8b [Salvatore] [source:_plugins_/rainette/branches/v1/lang/ rainette] Export depuis http://trad.spip.net 7 years ago
salvatore@rezo.net c9050846d0 [Salvatore] [source:_plugins_/rainette/branches/v1/lang/ rainette] Export depuis http://trad.spip.net 8 years ago
esj@rezo.net 477cd67b90 Mettre dans la description de Rainette V1 l'URL du service permettant de trouver le code météo associé à une ville, demande récurrente sur le forum. 9 years ago
ben.spip@gmail.com e96abcfc00 spip-contrib.net -> contrib.spip.net pour Francky
find . -name '*' | grep '/lang/'  | xargs sed -i 's#http://www.spip-contrib.net/#http://contrib.spip.net#g'
find . -name '*.xml' | xargs sed -i 's#http://www.spip-contrib.net/#http://contrib.spip.net#g'
9 years ago
eric@smellup.net 9d4af6c806 On passe la version v1 de Rainette en stable...
On met à jour la description de la v2 (trunk) avant de la publier.
9 years ago
hanjo@allez-allier.com b0d542ce2f [Salvatore] [source:_plugins_/rainette/branches/v1/lang/ rainette] Export depuis http://trad.spip.net de la langue en 10 years ago
hanjo@allez-allier.com b984109647 [Salvatore] [source:_plugins_/rainette/branches/v1/lang/ rainette] Export depuis http://trad.spip.net de la langue nl 10 years ago
jrynik@yahoo.co.uk 2c382746cf [Salvatore] [source:_plugins_/rainette/branches/v1/lang/ rainette] Export depuis http://trad.spip.net de la langue sk 10 years ago
raquelsbujaldon@gmail.com ffd0fc2b87 [Salvatore] [source:_plugins_/rainette/branches/v1/lang/ rainette] Export depuis http://trad.spip.net de la langue es 10 years ago
esj@rezo.net 62b80307dc [source:_plugins_/rainette Rainette] Retourner aussi l'intervalle de temps où la prévision météo est à jour, afin de pouvoir calculer l'Expires de l'en-tête Http au besoin. 10 years ago
esj@rezo.net 256ccf46eb [source:_plugins_/rainette Rainette] Optimiser le partage des background-url dans tous les cas (i.e. celui de l'index 0, à ne pas confondre avec False). Et un espace superflu. 10 years ago
esj@rezo.net fbf084d780 [source:_plugins_/rainette Rainette] version 1.5.2:
* ajout du filtre rainette_croaaaaa_previsions_css qui produit une feuile de style dont les sélecteurs sont les jours et les propriété l'icone de la prévision météo;
 * ajout d'un exemple de ce filtre dans le squelette de démo, qu'on passe en XHTML Basic 1.1 pour l'occasion.
10 years ago
esj@rezo.net fcde06403f [source:_plugins_/rainette Rainette] Eviter de produire les attributs width/height lorsque getimagesize ne fonctionne pas, et partager le code autour de ça. 10 years ago
eric@smellup.net 9028707d19 Oups, fichier oublié précédemment 10 years ago
eric@smellup.net 72b7bc9035 Report de la correction sur le html et les css des modèles de la v2.
Ajout du crédit de Touti.
10 years ago
esj@rezo.net 92ac2018c4 [source:_plugins_/rainette Rainette] soyons précis. 10 years ago
esj@rezo.net 1f25280822 [source:_plugins_/rainette Rainette] V1.5.0 stable mais avec un vieux bug qu'on corrige illico. La fonction {{{rainette_afficher_direction}}} ne retournait pas "N" dans le cas 0. Comme de plus elle faisait faire le boulot par angle2direction appelée nulle part ailleurs, on fusionne les 2 proprement. 10 years ago
salvatore@rezo.net 1ab8882217 langues (rainette) 10 years ago
esj@rezo.net 45fd2b60b8 [source:_plugins_/rainette Rainette] V1.5.0 stable. 10 years ago
esj@rezo.net 3c4dcd54ce [source:_plugins_/rainette Rainette] Comme annoncé on renomme v1.5 en v1. 10 years ago
eric@smellup.net 76da2f164f Ajouter la version du plugin dans le titre de la démo 10 years ago
esj@rezo.net e694263d0a [source:_plugins_/rainette Rainette]: unifier la présentation lorsque les prévisions ne sont pas disponibles. 10 years ago
esj@rezo.net b41b6ee6c7 [source:_plugins_/rainette Rainette]: ajout de l'adjectif "météorologique" dans certains libellés, on n'a pas toujours un contexte permettant de comprendre qu'il ne s'agit pas des prévisions du chômage ni des conditions carcérales en régime totalitaire. Ajout d'un paramètre dans une chaîne parlant à l'évidence d'une date à suivre dans le texte HTML. Mais où est-elle utilisée ? 10 years ago
esj@rezo.net fd2884ede1 [source:_plugins_/rainette Rainette]: donc, 1.5. En test. 10 years ago
esj@rezo.net 287f952266 [source:_plugins_/rainette Rainette]: tout ça mérite bien de s'appeler 1.5. 10 years ago
esj@rezo.net c797f8c2d3 [source:_plugins_/rainette Rainette]: extension du 3e argument du modèle de prévision. Si celui-ci est non pas un entier positif mais une date (i.e. interprétable par {{{strtotime}}}), on calcule le nombre de jours séparant cette date de la date du jour. Si ce nombre est positif et inférieur au maximum, on le prend comme valeur de 3e argument, sinon on retourne un message que la prévision demandée est indisponible. 10 years ago
esj@rezo.net 371212e7b9 [source:_plugins_/rainette Rainette]: les erreurs d'arrondis sont visiblement différentes entre navigateurs, en particulier les lignes de bordure ne se surimpriment pas comme attendu. On utilise le sélecteur "+" pour éviter les bordures inutiles. 10 years ago
eric@smellup.net 89f2f35fee Retrouver le log dans la page de démo et la classe details pour le ul. 10 years ago
esj@rezo.net c0190225b7 [source:_plugins_/rainette Rainette]: ajustement des CSS pour le modèle {{{previsions_24h}}}. Pas besoin de toucher au modèle lui-même à nouveau. Cet envoi clôt le remplacement des PX par des EM. 10 years ago
esj@rezo.net f1a815188c [source:_plugins_/rainette Rainette]: ajustement des CSS pour le modèle {{{previsions_2x12h}}}. Pas besoin ce coup-ci de toucher au modèle lui-même qui utilisait déjà des UL/LI plutôt que des DIV/BR. Il n'y avait plus qu'à faire le remplacement des PX par des EM. 10 years ago
esj@rezo.net accf2cc4bd [source:_plugins_/rainette Rainette]: Mettre des ID dans le squelette de démo pour pointer facilement dedans. 10 years ago
esj@rezo.net 74008ec1bc [source:_plugins_/rainette Rainette]: refonte du modèle {{{rainette_infos / infos_ville}}} et ses classes CSS pour que celles-ci soit en valeurs relatives et fourni ainsi une meilleure accessibilité:
* retrait des BR pour manoeuvrer au niveau de la CSS;
 * remplacement de Div par Ul quand la sémantique l'impose;
 * remplacement du ligne-height par un padding.
10 years ago
esj@rezo.net 665e02cbbc [source:_plugins_/rainette Rainette]: refonte du modèle {{{conditions_tempsree}}} et ses classes CSS pour que celles-ci soit en valeurs relatives et fourni ainsi une meilleure accessibilité:
* retrait des BR pour manoeuvrer au niveau de la CSS;
 * remplacement de Div par Ul quand la sémantique l'impose;
 * évacuation du ligne-height qui donne des horreurs comme presque toujours;
 * à la place, utilisation d'une marge négative pour les icones de pression.
10 years ago
esj@rezo.net 71e14c0762 [source:_plugins_/rainette Rainette]: je disais: une branche de travail provisoire, pour refaire la CSS avec des "em", pas des "px", qui s'appellera 1.4.3. 10 years ago
esj@rezo.net a35bf43914 Une branche de travail provisoire, pour refaire la CSS avec des "em", pas des "px". 10 years ago
salvatore@rezo.net cfed0dba8d langues (rainette) 10 years ago
salvatore@rezo.net 10279b5386 langues (rainette) 10 years ago
eric@smellup.net 92158c31fe langues (rainette) 10 years ago
eric@smellup.net d7bd01d700 Find_in_path sur les css pour autoriser la création simple de ses propres css. 10 years ago
salvatore@rezo.net a4b12b8fe5 langues (rainette) 11 years ago
salvatore@rezo.net 693c861667 langues (rainette) 11 years ago
eric@smellup.net 4a22a875d9 Branchement Rainette fin : on crée la branche v1 11 years ago

2
.gitattributes vendored

@ -108,6 +108,8 @@ lang/rainette_ca.php -text
lang/rainette_es.php -text
lang/rainette_fa.php -text
lang/rainette_fr.php -text
lang/rainette_it.php -text
lang/rainette_nl.php -text
lang/rainette_sk.php -text
modeles/conditions_tempsreel.html -text
modeles/infos_ville.html -text

@ -1,15 +1,22 @@
#CACHE{1800}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="#LANG" lang="#LANG" dir="#LANG_DIR">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.1//EN"
"http://www.w3.org/TR/xhtml-basic/xhtml-basic11.dtd">
<html xml:lang="#LANG" lang="#LANG" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv='Content-Type' content='text/html; charset=#CHARSET' />
<title>Rainette - Demo</title>
#INSERT_HEAD
[
<link rel="stylesheet" href="#CHEMIN{agenda.css}" type="text/css" />
<style type='text/css'>
(#ENV{ville, FRXX0076}|rainette_croaaaaa_previsions_css)
</style>]
#INSERT_HEAD
</head>
<body style="color: #000000;font-family: Arial,Helvetica,sans-serif;font-size: 11px;margin: auto;width: 640px;">
<span style="float: left; margin-right: 20px;">
<img height="32" width="32" title="Plugin Rainette" alt="Plugin Rainette" src="plugins/rainette/rainette-64.png"/>
</span>
<h1 style="margin-bottom: 20px; color: #798F74;">PLUGIN RAINETTE</h1>
<div style="float: left; margin-right: 20px;">
<img height="32" width="32" title="Plugin Rainette" alt="Plugin Rainette" src="#CHEMIN{rainette-64.png}"/>
</div>
<h1 style="margin-bottom: 20px; color: #798F74;">PLUGIN RAINETTE[ ((#PLUGIN{RAINETTE, version}))]</h1>
<p style="font-size: 12px;">Pour appeler la page de demo:</p>
<ul>
<li><strong>http://monsite/spip.php?page=demo/rainette</strong> (Paris par d&eacute;faut) ou</li>
@ -17,12 +24,11 @@
</ul>
<p style="font-size: 12px;">Pour chercher le code d'une ville composer l'url:</p>
<ul><li><strong>http://xoap.weather.com/search/search?where=nom_de_la_ville</strong></li></ul>
<br /><br />
<div id="#ENV{ville, FRXX0076}">
<p style="font-size: 12px">&gt;&gt;&nbsp;Utilisation du mod&eacute;le <strong>rainette_infos</strong></p>
<div id="#ENV{ville, FRXX0076}" style='margin-top:5em'>
<p id='rainette_infos' style="font-size: 12px">&gt;&gt;&nbsp;Utilisation du mod&eacute;le <strong>rainette_infos</strong></p>
[(#MODELE{rainette_infos,code=#ENV{ville, FRXX0076},sous_modele=infos_ville})]
<br clear="all"/><br /><br />
<br style='clear:both' /><br /><br />
<p style="font-size: 12px;">&gt;&gt;&nbsp;Utilisation de la balise <strong>RAINETTE_INFOS</strong></p>
<ul>
<li>Ville observ&eacute;e:&nbsp;<strong>#RAINETTE_INFOS{#ENV{ville, FRXX0076}, VILLE}</strong></li>
@ -31,19 +37,28 @@
<li>Appel sans type d'info pr&eacute;cis&eacute;e, on renvoie le tableau s&eacute;rialis&eacute;:&nbsp;[<strong>(#RAINETTE_INFOS{#ENV{ville, FRXX0076}})</strong>]</li>
<li>Appel sans argument, on renvoie une chaine vide:&nbsp;[<strong>(#RAINETTE_INFOS)</strong>]</li>
</ul>
<br clear="all"/><br /><br />
<p style="font-size: 12px">&gt;&gt;&nbsp;Utilisation du mod&eacute;le <strong>rainette_conditions</strong></p>
<br style='clear:both' /><br /><br />
<p id='rainette_conditions' style="font-size: 12px">&gt;&gt;&nbsp;Utilisation du mod&eacute;le <strong>rainette_conditions</strong></p>
[(#MODELE{rainette_conditions,code=#ENV{ville, FRXX0076},sous_modele=conditions_tempsreel})]
<br clear="all"/><br /><br />
<br style='clear:both' /><br /><br />
<p style="font-size: 12px">&gt;&gt;&nbsp;Utilisation du mod&eacute;le <strong>rainette_previsions</strong>, pour le jour courant (jour=0, type=1_jour, sous-modele=previsions_2x12h)<br />
Avant 14h00 on affiche jour et nuit, apr&egrave;s 14h00 on affiche nuit et le lendemain matin</p>
[(#MODELE{rainette_previsions,code=#ENV{ville, FRXX0076},type=1_jour,jour=0,sous_modele=previsions_2x12h})]
<br clear="all"/><br /><br />
<p style="font-size: 12px">&gt;&gt;&nbsp;Utilisation du mod&eacute;le <strong>rainette_previsions</strong>, pour le surlendemain (jour=2, type=1_jour, sous-modele=previsions_2x12h)</p>
<br style='clear:both' /><br /><br />
<p id='rainette_previsions_2x12' style="font-size: 12px">&gt;&gt;&nbsp;Utilisation du mod&eacute;le <strong>rainette_previsions</strong>, pour le surlendemain (jour=2, type=1_jour, sous-modele=previsions_2x12h)</p>
[(#MODELE{rainette_previsions,code=#ENV{ville, FRXX0076},type=1_jour,jour=2,sous_modele=previsions_2x12h})]
<br clear="all"/><br /><br />
<p style="font-size: 12px">&gt;&gt;&nbsp;Utilisation du mod&eacute;le <strong>rainette_previsions</strong>, pour les jours &agrave; venir (jour=3, type=x_jours, sous-modele=previsions_24h)</p>
<br style='clear:both' /><br /><br />
<p id='rainette_previsions_24' style="font-size: 12px">&gt;&gt;&nbsp;Utilisation du mod&eacute;le <strong>rainette_previsions</strong>, pour les jours &agrave; venir (jour=3, type=x_jours, sous-modele=previsions_24h)</p>
[(#MODELE{rainette_previsions,code=#ENV{ville, FRXX0076},type=x_jours,jour=5,sous_modele=previsions_24h})]
</div>
<div id="agenda-#ENV{ville, FRXX0076}">
<p style="font-size: 12px">&gt;&gt;&nbsp;Utilisation du filtre <strong>rainette_previsions_css</strong></p>
<br style='clear:both' />
<div class="page_agenda"><BOUCLE_mois(ARTICLES){agenda date, mois, #ENV{annee}, #ENV{mois}}>[
(#DATE|agenda_memo{#DESCRIPTIF,#TITRE,#URL_ARTICLE,calendrier-couleur[(#ID_SECTEUR|modulo{14,1})]})]</BOUCLE_mois>[(#DATE|
agenda_affiche{<:aucun_article:>, 'mois'})
]<//B_mois>
</div>
</div>
</body>
</html>

@ -9,66 +9,72 @@
* @author Pierre Basson
**/
# cf pour le choix des icones http://liquidweather.net/icons.php
function rainette_icone_meteo($code_icon, $taille='petit', $chemin='', $extension="png"){
$html_icone = '';
include_spip('inc/rainette_utils');
list($src, $w, $h) = rainette_icone(code2icone($code_icon), $chemin, $extension, $taille);
if (!$src) return '';
$r = attribut_html(rainette_resume_meteo($code_icon));
return "<img src='$src' alt='$r' title='$r' width='$w' height='$h' />";
}
function rainette_icone($nom, $chemin='', $extension='', $taille='', $size=true){
if (!$chemin) $chemin = _RAINETTE_ICONES_PATH.$taille.'/';
$temps = code2icone($code_icon);
// Le dossier personnalise ou le dossier passe en argument a bien l'icone requise
if ($img = find_in_path($chemin.$temps.'.'.$extension)) {
list ($l,$h) = @getimagesize($img);
$html_icone = '<img src="'.$img.'" alt="'.rainette_resume_meteo($code_icon).'" title="'.rainette_resume_meteo($code_icon).'" width="'.$l.'" height="'.$h.'" />';
}
// Le dossier personnalise n'a pas d'image, on prend l'icone par defaut dans le repertoire img_meteo/
elseif (($chemin = 'img_meteo/'.$taille.'/') && ($img = find_in_path($chemin.$temps.'.'.$extension))) {
list ($l,$h) = @getimagesize($img);
$html_icone = '<img src="'.$img.'" alt="'.rainette_resume_meteo($code_icon).'" title="'.rainette_resume_meteo($code_icon).'" width="'.$l.'" height="'.$h.'" />';
$file = $nom . '.' . ($extension ? $extension : 'png');
// Le dossier personnalise ou le dossier passe en argument
// a-t-il bien l'icone requise ?
$img = find_in_path($file, $chemin);
if (!$img) {
// Non, on prend l'icone par defaut dans le repertoire img_meteo/
$img = find_in_path($file, 'img_meteo/'.$taille.'/');
if (!$img) return array('',0,0); //???
}
return $html_icone;
@list($w, $h) = $size ? getimagesize($img) : array();
return array($img, intval($w), intval($h));
}
function rainette_resume_meteo($code_icon){
include_spip('inc/rainette_utils');
$resume = ucfirst(_T('rainette:meteo_'.code2icone($code_icon)));
return $resume;
return ucfirst(_T('rainette:meteo_'.code2icone($code_icon)));
}
function rainette_afficher_direction($direction){
static $liste_direction = 'N:NNE:NE:ENE:E:ESE:SE:SSE:S:SSW:SW:WSW:W:WNW:NW:NNW';
$direction_abregee = (intval($direction)) ? angle2direction($direction) : $direction;
if (!in_array($direction_abregee, explode(':', $liste_direction)))
static $liste_direction = array(
0 => 'N',
1 => 'NNE',
2 => 'NE',
3 => 'ENE',
4 => 'E',
5 => 'ESE',
6 => 'SE',
7 => 'SSE',
8 => 'S',
9 => 'SSW',
10 => 'SW',
11 => 'WSW',
12 => 'W',
13 => 'WNW',
14 => 'NW',
15 => 'NNW'
);
if (is_numeric($direction))
$direction = $liste_direction[round($direction / 22.5) % 16];
elseif (!in_array($direction, $liste_direction))
return _T('rainette:valeur_indeterminee');
else
return _T('rainette:direction_'.$direction_abregee);
return _T('rainette:direction_'.$direction);
}
function rainette_afficher_tendance($tendance_en, $methode='texte', $chemin='', $extension="png"){
$html = '';
include_spip('inc/rainette_utils');
if ($methode == 'texte') {
$html = _T('rainette:tendance_texte_'.$tendance_en);
}
else if ($methode == 'symbole') {
$html = _T('rainette:tendance_symbole_'.$tendance_en);
}
else if ($methode == 'icone') {
if (!$chemin) $chemin = _RAINETTE_ICONES_PATH;
// Le dossier personnalise ou le dossier passe en argument a bien l'icone requise
if ($img = find_in_path($chemin.$tendance_en.'.'.$extension)) {
list ($l,$h) = @getimagesize($img);
$html = '<img src="'.$img.'" alt="'._T('rainette:tendance_texte_'.$tendance_en).'" title="'._T('rainette:tendance_texte_'.$tendance_en).'" width="'.$l.'" height="'.$h.'" />';
}
// Le dossier personnalise n'a pas d'image, on prend l'icone par defaut dans le repertoire img_meteo/
elseif (($chemin = 'img_meteo/') && ($img = find_in_path($chemin.$tendance_en.'.'.$extension))) {
list ($l,$h) = @getimagesize($img);
$html = '<img src="'.$img.'" alt="'._T('rainette:tendance_texte_'.$tendance_en).'" title="'._T('rainette:tendance_texte_'.$tendance_en).'" width="'.$l.'" height="'.$h.'" />';
}
}
return $html;
if ($methode == 'texte')
return _T('rainette:tendance_texte_'.$tendance_en);
if ($methode == 'symbole')
return _T('rainette:tendance_symbole_'.$tendance_en);
list($src, $w, $h) = rainette_icone($tendance_en, $chemin, $extension);
if (!$src) return '';
$r = attribut_html( _T('rainette:tendance_texte_'.$tendance_en));
return "<img src='$src' alt='$r' title='$r' width='$w' height='$h' />";
}
function rainette_afficher_unite($valeur, $type_valeur=''){
@ -81,18 +87,29 @@ function rainette_afficher_unite($valeur, $type_valeur=''){
/**
* Charger le fichier des infos meteos jour par jour
* et rendre l'affichage pour les N premiers jours
* et rendre l'affichage pour les $nb_jours_affiche premiers jours
* $nb_jours_affiche peut aussi etre de la forme Y/m/D ou Y-m-D
* auquel cas on prend le nb de jours separant cette date de la courante.
* Si negatif ou superieur au max, on retourne "indisponible".
*
* @param string $code_meteo
* @param int $nb_jours_affiche
* @param int|string $nb_jours_affiche
* @return string
* @author Cedric Morin
*/
function rainette_croaaaaa_previsions($code_meteo, $type='x_jours', $jour=0, $modele='previsions_24h'){
include_spip('inc/rainette_utils');
if ($type == '1_jour') {
$jour = min($jour, _RAINETTE_JOURS_PREVISION-1);
if (($d = intval(strtotime(strval($jour)))) <= 0)
$jour = min($jour, _RAINETTE_JOURS_PREVISION-1);
else {
$d = intval(ceil(($d-time())/(24*3600)));
if (($d < 0) OR ($d >= _RAINETTE_JOURS_PREVISION))
return '<div class="rainette_previsions_2x12h"><div class="maj">' .
_T('rainette:meteo_na') .
'</div></div>';
$jour = $d;
}
$nom_fichier = charger_meteo($code_meteo, 'previsions');
lire_fichier($nom_fichier,$tableau);
@ -149,4 +166,50 @@ function rainette_croaaaaa_infos($code_meteo, $modele='infos_ville'){
$texte = recuperer_fond("modeles/$modele", $tableau);
return $texte;
}
?>
/**
* Charger le fichier des previsions meteos
* et retourne une feuille de styles,
* un style ayant pour selecteur #D$annee-$mois-$jour sur 8 chiffres
* et pour propriete un background-url sur l'icone de la prevision.
* Si le 2e argument est fourni a True, renvoie les dates Unix
* de la derniere prevision et de la suivante, separees par --.
*
* @param string $code_meteo
* @param boolean $intervalle
* @return string
*/
function rainette_croaaaaa_previsions_css($code_meteo, $intervalle=false){
include_spip('inc/rainette_utils');
$texte = $vus = array();
$maj = '';
lire_fichier(charger_meteo($code_meteo, 'previsions'), $previsions);
foreach(unserialize($previsions) as $j => $prevision) {
if (empty($prevision['date'])) {
$maj = @$prevision['derniere_maj'];
if ($intervalle AND $maj) break; else continue;
}
if ($intervalle) continue;
$icone = code2icone($prevision["code_icone_jour"]);
list($src,,) = rainette_icone($icone, '', '', 'petit', false);
if ($src) {
$src = "{ background: url($src) }";
$sel = "#D" . $prevision['date'];
// Si deja vu, partager pour reduire la feuille
$k = array_search($src, $vus);
if ($k===false) {
$vus[$j] = $src;
$texte[$j] = "$sel\n $src";
} else {
$texte[$k] = "$sel, " . $texte[$k];
}
}
}
if (!$intervalle) return join("\n", $texte);
if (!$maj) return '';
$maj = strtotime($maj);
$j = $maj + _RAINETTE_RELOAD_TIME_PREVISIONS;
return "$maj -- $j";
}
?>

@ -5,29 +5,6 @@ function code2icone($icon){
return $r;
}
function angle2direction($degre){
$dir = '';
switch(round($degre / 22.5) % 16)
{
case 0: $dir = 'N'; break;
case 1: $dir = 'NNE'; break;
case 2: $dir = 'NE'; break;
case 3: $dir = 'ENE'; break;
case 4: $dir = 'E'; break;
case 5: $dir = 'ESE'; break;
case 6: $dir = 'SE'; break;
case 7: $dir = 'SSE'; break;
case 8: $dir = 'S'; break;
case 9: $dir = 'SSW'; break;
case 10: $dir = 'SW'; break;
case 11: $dir = 'WSW'; break;
case 12: $dir = 'W'; break;
case 13: $dir = 'WNW'; break;
case 14: $dir = 'NW'; break;
case 15: $dir = 'NNW'; break;
}
return $dir;
}
/**
* lire le xml fournit par le service meteo et en extraire les infos interessantes
@ -154,7 +131,7 @@ function charger_meteo($code_meteo, $mode='previsions'){
if ($mode == 'infos') {
// Traitement du fichier d'infos
if (!file_exists($f)) {
$flux = "http://xml.weather.com/weather/local/".$code_meteo."?unit="._RAINETTE_SYSTEME_MESURE;
$flux = "http://wxdata.weather.com/wxdata/weather/local/".$code_meteo."?unit="._RAINETTE_SYSTEME_MESURE;
include_spip('inc/xml');
$xml = spip_xml_load($flux);
$tableau = xml2tab_infos($xml, $code_meteo);
@ -167,7 +144,7 @@ function charger_meteo($code_meteo, $mode='previsions'){
if (!file_exists($f)
|| !filemtime($f)
|| (time()-filemtime($f)>$reload_time)) {
$flux = "http://xml.weather.com/weather/local/".$code_meteo."?unit="._RAINETTE_SYSTEME_MESURE;
$flux = "http://wxdata.weather.com/wxdata/weather/local/".$code_meteo."?unit="._RAINETTE_SYSTEME_MESURE;
$flux .= ($mode == 'previsions') ? "&dayf="._RAINETTE_JOURS_PREVISION : "&cc=*";
include_spip('inc/xml');
$xml = spip_xml_load($flux);

@ -1,15 +1,30 @@
<traduction module="rainette" gestionnaire="salvatore" url="http://trad.spip.net" source="svn://zone.spip.org/spip-zone/_plugins_/rainette/lang/" reference="fr">
<langue code="ca" />
<langue code="de" />
<langue code="en" />
<langue code="es" url="http://trad.spip.net/tradlang_module/rainette?lang_cible=es">
<traducteur nom="_Eric_" lien="http://trad.spip.net/auteur/_eric_" />
</langue>
<langue code="fa" url="http://trad.spip.net/tradlang_module/rainette?lang_cible=fa">
<traducteur nom="Davood Hossein" lien="http://trad.spip.net/auteur/davood-hossein" />
</langue>
<langue code="fr" />
<langue code="sk" url="http://trad.spip.net/tradlang_module/rainette?lang_cible=sk">
<traducteur nom="jaro" lien="http://trad.spip.net/auteur/jaro" />
<traduction
module="rainette"
id="rainette--rainette@v1-2aded"
gestionnaire="salvatore"
url="https://trad.spip.net"
source="https://git.spip.net/spip-contrib-extensions/rainette.git"
reference="fr">
<langue code="ca" url="https://trad.spip.net/tradlang_module/rainette?lang_cible=ca" total="111" traduits="107" relire="0" modifs="4" nouveaux="0" pourcent="96.40" />
<langue code="de" url="https://trad.spip.net/tradlang_module/rainette?lang_cible=de" total="111" traduits="107" relire="0" modifs="4" nouveaux="0" pourcent="96.40" />
<langue code="en" url="https://trad.spip.net/tradlang_module/rainette?lang_cible=en" total="111" traduits="111" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
<traducteur nom="Hanjo" lien="https://trad.spip.net/auteur/hanjo" />
</langue>
<langue code="es" url="https://trad.spip.net/tradlang_module/rainette?lang_cible=es" total="111" traduits="111" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
<traducteur nom="Eric Lupinacci" lien="https://trad.spip.net/auteur/_eric_" />
<traducteur nom="Raquel S. Bujaldón" lien="https://trad.spip.net/auteur/raquel-s-bujaldon" />
</langue>
<langue code="fa" url="https://trad.spip.net/tradlang_module/rainette?lang_cible=fa" total="111" traduits="107" relire="0" modifs="4" nouveaux="0" pourcent="96.40">
<traducteur nom="Davood Hossein" lien="https://trad.spip.net/auteur/davood-hossein" />
</langue>
<langue code="fr" url="https://trad.spip.net/tradlang_module/rainette?lang_cible=fr" total="111" traduits="111" relire="0" modifs="0" nouveaux="0" pourcent="100.00" />
<langue code="it" url="https://trad.spip.net/tradlang_module/rainette?lang_cible=it" total="111" traduits="111" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
<traducteur nom="Alberto" lien="https://trad.spip.net/auteur/alberto" />
</langue>
<langue code="nl" url="https://trad.spip.net/tradlang_module/rainette?lang_cible=nl" total="111" traduits="111" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
<traducteur nom="Hanjo" lien="https://trad.spip.net/auteur/hanjo" />
</langue>
<langue code="sk" url="https://trad.spip.net/tradlang_module/rainette?lang_cible=sk" total="111" traduits="111" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
<traducteur nom="jaro" lien="https://trad.spip.net/auteur/jaro" />
</langue>
</traduction>

@ -1,9 +1,11 @@
<?php
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
// extrait automatiquement de http://trad.spip.net/tradlang_module/rainette?lang_cible=ca
// extrait automatiquement de https://trad.spip.net/tradlang_module/rainette?lang_cible=ca
// ** ne pas modifier le fichier **
if (!defined('_ECRIRE_INC_VERSION')) return;
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
$GLOBALS[$GLOBALS['idx_lang']] = array(
@ -91,13 +93,13 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'meteo_7' => 'neu i gel',
'meteo_8' => 'plugims gelats',
'meteo_9' => 'plugim',
'meteo_conditions' => 'condicions actuals',
'meteo_conditions' => 'condicions actuals', # MODIF
'meteo_consultation' => 'Consulteu el Temps de @ville@',
'meteo_de' => 'El Temps dee @ville@',
'meteo_na' => 'desconegut',
'meteo_previsions' => 'previsions del ',
'meteo_previsions_aujourdhui' => 'previsions per avui',
'meteo_previsions_n_jours' => 'previsions a @nbj@ dies',
'meteo_previsions' => 'previsions del ', # MODIF
'meteo_previsions_aujourdhui' => 'previsions per avui', # MODIF
'meteo_previsions_n_jours' => 'previsions a @nbj@ dies', # MODIF
// N
'nuit' => 'nit',
@ -144,5 +146,3 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'vent' => 'vent',
'visibilite' => 'visibilitat'
);
?>

@ -1,9 +1,11 @@
<?php
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
// extrait automatiquement de http://trad.spip.net/tradlang_module/rainette?lang_cible=de
// extrait automatiquement de https://trad.spip.net/tradlang_module/rainette?lang_cible=de
// ** ne pas modifier le fichier **
if (!defined('_ECRIRE_INC_VERSION')) return;
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
$GLOBALS[$GLOBALS['idx_lang']] = array(
@ -91,13 +93,13 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'meteo_7' => 'schnee und glatteis',
'meteo_8' => 'überfrierender nieselregen',
'meteo_9' => 'sprühregen',
'meteo_conditions' => 'aktuelles wetter',
'meteo_conditions' => 'aktuelles wetter', # MODIF
'meteo_consultation' => 'Wetterbericht für @ville@ ansehen',
'meteo_de' => 'Wetterbericht von @ville@',
'meteo_na' => 'unbekannt',
'meteo_previsions' => 'wettervorhersage',
'meteo_previsions_aujourdhui' => 'Vorhersagen für heute',
'meteo_previsions_n_jours' => 'Vorhersagen für @nbj@ Tage',
'meteo_previsions' => 'wettervorhersage', # MODIF
'meteo_previsions_aujourdhui' => 'Vorhersagen für heute', # MODIF
'meteo_previsions_n_jours' => 'Vorhersagen für @nbj@ Tage', # MODIF
// N
'nuit' => 'nacht',
@ -144,5 +146,3 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'vent' => 'wind',
'visibilite' => 'sichtweite'
);
?>

@ -1,9 +1,11 @@
<?php
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
// extrait automatiquement de http://trad.spip.net/tradlang_module/rainette?lang_cible=en
// extrait automatiquement de https://trad.spip.net/tradlang_module/rainette?lang_cible=en
// ** ne pas modifier le fichier **
if (!defined('_ECRIRE_INC_VERSION')) return;
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
$GLOBALS[$GLOBALS['idx_lang']] = array(
@ -95,8 +97,8 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'meteo_consultation' => '@ville@ Weather',
'meteo_de' => '@ville@ weather',
'meteo_na' => 'unknown',
'meteo_previsions' => 'forecast conditions',
'meteo_previsions_aujourdhui' => 'today forecast',
'meteo_previsions' => 'forecast for @date@',
'meteo_previsions_aujourdhui' => 'today`s forecast',
'meteo_previsions_n_jours' => '@nbj@-days forecast',
// N
@ -144,5 +146,3 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'vent' => 'wind',
'visibilite' => 'visibility'
);
?>

@ -1,9 +1,11 @@
<?php
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
// extrait automatiquement de http://trad.spip.net/tradlang_module/rainette?lang_cible=es
// extrait automatiquement de https://trad.spip.net/tradlang_module/rainette?lang_cible=es
// ** ne pas modifier le fichier **
if (!defined('_ECRIRE_INC_VERSION')) return;
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
$GLOBALS[$GLOBALS['idx_lang']] = array(
@ -42,7 +44,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'longitude' => 'longitud',
// M
'meteo' => 'meteorología',
'meteo' => 'tiempo',
'meteo_0' => 'tornado',
'meteo_1' => 'tempestad tropical',
'meteo_10' => 'lluvia heladiza',
@ -91,13 +93,13 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'meteo_7' => 'nieve y hielo',
'meteo_8' => 'llovizna heladiza',
'meteo_9' => 'llovizna',
'meteo_conditions' => 'condiciones actuales',
'meteo_consultation' => 'Consultez la météo de @ville@', # NEW
'meteo_de' => 'Météo de @ville@', # NEW
'meteo_conditions' => 'condiciones metereológicas actuales',
'meteo_consultation' => 'Consulte el tiempo para @ville@',
'meteo_de' => 'Tiempo para @ville@',
'meteo_na' => 'desconocido',
'meteo_previsions' => 'pronóstico',
'meteo_previsions_aujourdhui' => 'prévisions pour aujourd\'hui', # NEW
'meteo_previsions_n_jours' => 'prévisions à @nbj@ jours', # NEW
'meteo_previsions' => 'pronóstico metereológico del @date@',
'meteo_previsions_aujourdhui' => 'pronóstico metereológico para hoy',
'meteo_previsions_n_jours' => 'pronósticos metereológicos a @nbj@ días',
// N
'nuit' => 'noche',
@ -110,7 +112,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'risque_precipitation' => 'riesgo de precip.',
// S
'station_observation' => 'estación',
'station_observation' => 'observatorio',
// T
'temperature_max' => 'max.',
@ -144,5 +146,3 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'vent' => 'viento',
'visibilite' => 'visibilidad'
);
?>

@ -1,9 +1,11 @@
<?php
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
// extrait automatiquement de http://trad.spip.net/tradlang_module/rainette?lang_cible=fa
// extrait automatiquement de https://trad.spip.net/tradlang_module/rainette?lang_cible=fa
// ** ne pas modifier le fichier **
if (!defined('_ECRIRE_INC_VERSION')) return;
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
$GLOBALS[$GLOBALS['idx_lang']] = array(
@ -91,13 +93,13 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'meteo_7' => 'مخلوط برف و برفباران',
'meteo_8' => 'بارن يخي ',
'meteo_9' => 'بارش نم‌نم',
'meteo_conditions' => 'وضعيت فعلي ',
'meteo_conditions' => 'وضعيت فعلي ', # MODIF
'meteo_consultation' => 'هوايِ @ville@',
'meteo_de' => 'هواي @ville@',
'meteo_na' => 'ناشناخته',
'meteo_previsions' => 'پيش‌ بيني وضعيت ',
'meteo_previsions_aujourdhui' => 'پيش‌ بيني امروز',
'meteo_previsions_n_jours' => 'پيش بيني @nbj@ روز ',
'meteo_previsions' => 'پيش‌ بيني وضعيت ', # MODIF
'meteo_previsions_aujourdhui' => 'پيش‌ بيني امروز', # MODIF
'meteo_previsions_n_jours' => 'پيش بيني @nbj@ روز ', # MODIF
// N
'nuit' => 'شب ',
@ -144,5 +146,3 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'vent' => 'باد',
'visibilite' => 'ديد'
);
?>

@ -1,7 +1,9 @@
<?php
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
// Fichier source, a modifier dans svn://zone.spip.org/spip-zone/_plugins_/rainette/lang/
if (!defined('_ECRIRE_INC_VERSION')) return;
// Fichier source, a modifier dans https://git.spip.net/spip-contrib-extensions/rainette.git
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
$GLOBALS[$GLOBALS['idx_lang']] = array(
@ -89,13 +91,13 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'meteo_7' => 'neige et verglas',
'meteo_8' => 'bruine verglaçante',
'meteo_9' => 'bruine',
'meteo_conditions' => 'conditions actuelles',
'meteo_conditions' => 'conditions météorologiques actuelles',
'meteo_consultation' => 'Consultez la météo de @ville@',
'meteo_de' => 'Météo de @ville@',
'meteo_na' => 'inconnu',
'meteo_previsions' => 'prévisions du',
'meteo_previsions_aujourdhui' => 'prévisions pour aujourd\'hui',
'meteo_previsions_n_jours' => 'prévisions à @nbj@ jours',
'meteo_previsions' => 'prévisions météorologiques du @date@',
'meteo_previsions_aujourdhui' => 'prévisions météorologiques pour aujourdhui',
'meteo_previsions_n_jours' => 'prévisions météorologiques à @nbj@ jours',
// N
'nuit' => 'nuit',
@ -142,5 +144,3 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'vent' => 'vent',
'visibilite' => 'visibilité'
);
?>

@ -0,0 +1,148 @@
<?php
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
// extrait automatiquement de https://trad.spip.net/tradlang_module/rainette?lang_cible=it
// ** ne pas modifier le fichier **
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
$GLOBALS[$GLOBALS['idx_lang']] = array(
// C
'coucher_soleil' => 'tramonto',
// D
'demain' => 'domani',
'derniere_maj' => 'aggiorna',
'direction_E' => 'est',
'direction_ENE' => 'est nord-est',
'direction_ESE' => 'est sud-est',
'direction_N' => 'nord',
'direction_NE' => 'nord-est',
'direction_NNE' => 'nord nord-est',
'direction_NNW' => 'nord nord-ovest',
'direction_NW' => 'nord-ovest',
'direction_S' => 'sud',
'direction_SE' => 'sud-est',
'direction_SSE' => 'sud sud-est',
'direction_SSW' => 'sud sud-ovest',
'direction_SW' => 'sud-ovest',
'direction_W' => 'ovest',
'direction_WNW' => 'ovest nord-ovest',
'direction_WSW' => 'ovest sud-ovest',
// H
'humidite' => 'umidità',
// J
'jour' => 'giorno',
// L
'latitude' => 'latitudine',
'lever_soleil' => 'alba',
'longitude' => 'longitudine',
// M
'meteo' => 'meteo',
'meteo_0' => 'tornado',
'meteo_1' => 'tempesta tropicale',
'meteo_10' => 'pioggia gelata',
'meteo_11' => 'rovesci',
'meteo_12' => 'rovesci',
'meteo_13' => 'qualche fiocco',
'meteo_14' => 'deboli rovesci di neve',
'meteo_15' => 'bufera di neve',
'meteo_16' => 'neve',
'meteo_17' => 'grandine',
'meteo_18' => 'nevischio',
'meteo_19' => 'polvere',
'meteo_2' => 'uragano',
'meteo_20' => 'nebbioso',
'meteo_21' => 'nebbia',
'meteo_22' => 'nebbia',
'meteo_23' => 'burrasca',
'meteo_24' => 'vento',
'meteo_25' => 'freddo',
'meteo_26' => 'nuvoloso',
'meteo_27' => 'chiaro di luna nuvoloso',
'meteo_28' => 'nuvoloso',
'meteo_29' => 'chiaro di luna e nuvole sparse',
'meteo_3' => 'tempesta violenta',
'meteo_30' => 'sole e nubi sparse',
'meteo_31' => 'chiaro di luna',
'meteo_32' => 'sole',
'meteo_33' => 'chiaro di luna velato',
'meteo_34' => 'sole velato',
'meteo_35' => 'pioggia mista a grandine',
'meteo_36' => 'calore',
'meteo_37' => 'temporali isolati',
'meteo_38' => 'temporali sparsi',
'meteo_39' => 'temporali sparsi',
'meteo_4' => 'tempesta',
'meteo_40' => 'rovesci',
'meteo_41' => 'forti nevicate',
'meteo_42' => 'rovesci di neve sparsi',
'meteo_43' => 'abbondanti nevicate',
'meteo_44' => 'soleggiato',
'meteo_45' => 'rovesci temporaleschi',
'meteo_46' => 'rovesci di neve',
'meteo_47' => 'temporali isolati',
'meteo_5' => 'pioggia mista a neve',
'meteo_6' => 'pioggia e ghiaccio',
'meteo_7' => 'neve e ghiaccio',
'meteo_8' => 'pioggerella gelata',
'meteo_9' => 'pioggerella',
'meteo_conditions' => 'meteo attuale',
'meteo_consultation' => 'Guarda il meteo di @ville@',
'meteo_de' => 'Meteo di @ville@',
'meteo_na' => 'sconosciuto',
'meteo_previsions' => 'previsioni meteo del @date@',
'meteo_previsions_aujourdhui' => 'previsioni del tempo di oggi',
'meteo_previsions_n_jours' => 'previsioni meteto a @nbj@ giorni',
// N
'nuit' => 'notte',
// P
'point_rosee' => 'punto di rugiada',
'pression' => 'pressione',
// R
'risque_precipitation' => 'rischio di pioggia',
// S
'station_observation' => 'stazione',
// T
'temperature_max' => 'max',
'temperature_min' => 'min',
'temperature_ressentie' => 'percepita',
'tendance_symbole_falling' => '↓',
'tendance_symbole_rising' => '↑',
'tendance_symbole_steady' => '→',
'tendance_texte_falling' => 'in diminuzione',
'tendance_texte_rising' => 'in aumento',
'tendance_texte_steady' => 'stabile',
// U
'unite_angle_metrique' => '°',
'unite_angle_standard' => '°',
'unite_distance_metrique' => 'km',
'unite_distance_standard' => 'miglia',
'unite_pourcentage_metrique' => '%',
'unite_pourcentage_standard' => '%',
'unite_precipitation_metrique' => 'mm',
'unite_precipitation_standard' => 'pollice',
'unite_pression_metrique' => 'mbar',
'unite_pression_standard' => 'pollice',
'unite_temperature_metrique' => '°C',
'unite_temperature_standard' => '°F',
'unite_vitesse_metrique' => 'km/h',
'unite_vitesse_standard' => 'mph',
// V
'valeur_indeterminee' => 'N/D',
'vent' => 'vento',
'visibilite' => 'visibilità'
);

@ -0,0 +1,148 @@
<?php
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
// extrait automatiquement de https://trad.spip.net/tradlang_module/rainette?lang_cible=nl
// ** ne pas modifier le fichier **
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
$GLOBALS[$GLOBALS['idx_lang']] = array(
// C
'coucher_soleil' => 'zon onder',
// D
'demain' => 'morgen',
'derniere_maj' => 'aangepast',
'direction_E' => 'oost',
'direction_ENE' => 'oost noord-oost',
'direction_ESE' => 'oost zuid-oost',
'direction_N' => 'noord',
'direction_NE' => 'noord-oost',
'direction_NNE' => 'noord noord-oost',
'direction_NNW' => 'noord noord-west',
'direction_NW' => 'noord-west',
'direction_S' => 'zuid',
'direction_SE' => 'zuid-oost',
'direction_SSE' => 'zuid zuid-oost',
'direction_SSW' => 'zuid zuid-west',
'direction_SW' => 'zuid-west',
'direction_W' => 'west',
'direction_WNW' => 'west noord-west',
'direction_WSW' => 'west zuid-west',
// H
'humidite' => 'vochtigheid',
// J
'jour' => 'dag',
// L
'latitude' => 'breedte',
'lever_soleil' => 'zonsopgang',
'longitude' => 'lengte',
// M
'meteo' => 'weer',
'meteo_0' => 'tornado',
'meteo_1' => 'tropische storm',
'meteo_10' => 'aanvriezende regen',
'meteo_11' => 'regenbuien',
'meteo_12' => 'regen',
'meteo_13' => 'enkele sneeuwvlokken',
'meteo_14' => 'lichte sneeuwbuien',
'meteo_15' => 'stuifsneeuw',
'meteo_16' => 'sneeuw',
'meteo_17' => 'hagel',
'meteo_18' => 'natte sneeuw',
'meteo_19' => 'stof',
'meteo_2' => 'orkaan',
'meteo_20' => 'nevelig',
'meteo_21' => 'mist',
'meteo_22' => 'nevel',
'meteo_23' => 'windstoten',
'meteo_24' => 'wind',
'meteo_25' => 'koud',
'meteo_26' => 'bewolkt',
'meteo_27' => 'overwegend bewolkt',
'meteo_28' => 'zeer bewolkt',
'meteo_29' => 'lichtbewolkt',
'meteo_3' => 'hevige onweer',
'meteo_30' => 'overwegend zonnig',
'meteo_31' => 'heldere nacht',
'meteo_32' => 'zon',
'meteo_33' => 'heldere maan',
'meteo_34' => 'zon met enkele wolken',
'meteo_35' => 'regen- en hagelbuien',
'meteo_36' => 'hitte',
'meteo_37' => 'kans op lokaal onweer',
'meteo_38' => 'kans op onweer',
'meteo_39' => 'kans op onweer',
'meteo_4' => 'onweer',
'meteo_40' => 'enkele buien',
'meteo_41' => 'zware sneeuwval',
'meteo_42' => 'enkele sneeuwbuien',
'meteo_43' => 'zware sneeuwbuien',
'meteo_44' => 'zonnig',
'meteo_45' => 'onweersbuien',
'meteo_46' => 'sneeuwbuien',
'meteo_47' => 'plaatselijk onweer',
'meteo_5' => 'regen en sneeuw',
'meteo_6' => 'aanvriezende regen',
'meteo_7' => 'aanvriezende sneeuw',
'meteo_8' => 'aanvriezende motregen',
'meteo_9' => 'motregen',
'meteo_conditions' => 'actuele weer',
'meteo_consultation' => 'Raadpleeg het weer voor @ville@',
'meteo_de' => 'Weerbericht voor @ville@',
'meteo_na' => 'onbekend',
'meteo_previsions' => 'vooruitzicht voor',
'meteo_previsions_aujourdhui' => 'Voooruitzicht voor vandaag',
'meteo_previsions_n_jours' => 'Vooruitzicht voor @nbj@ dagen',
// N
'nuit' => 'nacht',
// P
'point_rosee' => 'dauwpunt',
'pression' => 'druk',
// R
'risque_precipitation' => 'kans neerslag',
// S
'station_observation' => 'weerstation',
// T
'temperature_max' => 'max.',
'temperature_min' => 'min.',
'temperature_ressentie' => 'gevoel',
'tendance_symbole_falling' => '↓',
'tendance_symbole_rising' => '↑',
'tendance_symbole_steady' => '→',
'tendance_texte_falling' => 'dalend',
'tendance_texte_rising' => 'stijgend',
'tendance_texte_steady' => 'stabiel',
// U
'unite_angle_metrique' => '°',
'unite_angle_standard' => '°',
'unite_distance_metrique' => 'km',
'unite_distance_standard' => 'mijlen',
'unite_pourcentage_metrique' => '%',
'unite_pourcentage_standard' => '%',
'unite_precipitation_metrique' => 'mm',
'unite_precipitation_standard' => 'inches',
'unite_pression_metrique' => 'mbar',
'unite_pression_standard' => 'inches',
'unite_temperature_metrique' => '°C',
'unite_temperature_standard' => '°F',
'unite_vitesse_metrique' => 'km/u',
'unite_vitesse_standard' => 'mph',
// V
'valeur_indeterminee' => 'N/A',
'vent' => 'wind',
'visibilite' => 'zicht'
);

@ -1,9 +1,11 @@
<?php
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
// extrait automatiquement de http://trad.spip.net/tradlang_module/rainette?lang_cible=sk
// extrait automatiquement de https://trad.spip.net/tradlang_module/rainette?lang_cible=sk
// ** ne pas modifier le fichier **
if (!defined('_ECRIRE_INC_VERSION')) return;
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
$GLOBALS[$GLOBALS['idx_lang']] = array(
@ -91,13 +93,13 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'meteo_7' => 'sneh a poľadovica',
'meteo_8' => 'mrznúce mrholenie',
'meteo_9' => 'mrholenie',
'meteo_conditions' => 'súčasné poveternostné podmienky',
'meteo_conditions' => 'aktuálne počasie',
'meteo_consultation' => 'Počasie pre @ville@ ',
'meteo_de' => 'Počasie @ville@ ',
'meteo_na' => 'neznáme',
'meteo_previsions' => 'predpovedané poveternostné podmienky',
'meteo_previsions_aujourdhui' => 'predpoveď na dnes',
'meteo_previsions_n_jours' => '@nbj@-dňová predpoveď',
'meteo_previsions' => 'počasie @date@',
'meteo_previsions_aujourdhui' => 'predpoveď počasia na dnes',
'meteo_previsions_n_jours' => 'predpoveď počasia na @nbj@ dní',
// N
'nuit' => 'noc',
@ -144,5 +146,3 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'vent' => 'vietor',
'visibilite' => 'viditeľnosť'
);
?>

@ -9,7 +9,7 @@
<div class="icone">[(#ENV{code_icone}|rainette_icone_meteo{grand})]</div>
<div class="t_reelle">[(#ENV{temperature_reelle}|rainette_afficher_unite{temperature})]</div>
<div class="t_ressentie"><:rainette:temperature_ressentie:>&nbsp;:[&nbsp;(#ENV{temperature_ressentie}|rainette_afficher_unite{temperature})]<br/></div>
<br clear="all"/>
<br style="clear:both" />
<div class="resume">[(#ENV{code_icone}|rainette_resume_meteo)]</div>
</div>
<div class="maj">
@ -17,19 +17,18 @@
<:rainette:station_observation|ucfirst:>&nbsp;:[&nbsp;(#ENV{station})]
</div>
</div>
<div class="details">
<span><:rainette:vent|ucfirst:></span><br/>
[(#ENV{vitesse_vent}|rainette_afficher_unite{vitesse})]
[ - (#ENV{direction_vent}|rainette_afficher_direction)]<br/><br/>
<span><:rainette:humidite|ucfirst:></span><br/>
[(#ENV{humidite}|rainette_afficher_unite{pourcentage})]<br/><br/>
<span><:rainette:pression|ucfirst:></span><br/>
[(#ENV{pression}|rainette_afficher_unite{pression})]
[ (#ENV{tendance_pression}|rainette_afficher_tendance{icone})]<br/><br/>
<span><:rainette:point_rosee|ucfirst:></span><br/>
[(#ENV{point_rosee}|rainette_afficher_unite{temperature})]<br/><br/>
<span><:rainette:visibilite|ucfirst:></span><br/>
[(#ENV{visibilite}|rainette_afficher_unite{distance})]
</div>
<ul class="details">
[<li><span><:rainette:vent|ucfirst:></span>
(#ENV{vitesse_vent}|rainette_afficher_unite{vitesse})
[ - (#ENV{direction_vent}|rainette_afficher_direction)]</li>]
[<li><span><:rainette:humidite|ucfirst:></span>
(#ENV{humidite}|rainette_afficher_unite{pourcentage})</li>]
[<li><span><:rainette:pression|ucfirst:></span>
(#ENV{pression}|rainette_afficher_unite{pression})
[ (#ENV{tendance_pression}|rainette_afficher_tendance{icone})]</li>]
[<li><span><:rainette:point_rosee|ucfirst:></span>
(#ENV{point_rosee}|rainette_afficher_unite{temperature})</li>]
[<li><span><:rainette:visibilite|ucfirst:></span>
(#ENV{visibilite}|rainette_afficher_unite{distance})</li>]
</ul>
</div>

@ -5,8 +5,8 @@
]
<div class="rainette_infos">
<h2 class="ville">[(#ENV{ville})]</h2>
<div class="coordonnees">
<:rainette:longitude|ucfirst:>&nbsp;:[&nbsp;(#ENV{longitude}|rainette_afficher_unite{angle})]<br/>
<:rainette:latitude|ucfirst:>&nbsp;:[&nbsp;(#ENV{latitude}|rainette_afficher_unite{angle})]
</div>
<ul class="coordonnees">
<li><:rainette:longitude|ucfirst:>&nbsp;:[&nbsp;(#ENV{longitude}|rainette_afficher_unite{angle})]</li>
<li><:rainette:latitude|ucfirst:>&nbsp;:[&nbsp;(#ENV{latitude}|rainette_afficher_unite{angle})]</li>
</ul>
</div>

@ -120,8 +120,8 @@
<div class="contenu">
<div class="icone">[(#GET{code_icone}|rainette_icone_meteo{grand}|image_reduire{95})]</div>
<div class="t_reelle">
[<span style="font-size: 12px;">(#GET{temp_droite}|ucfirst)</span><br/>]
<span style="font-size: 33px;">[(#GET{temperature}|rainette_afficher_unite{temperature})]</span><br/>
[(#GET{temp_droite}|ucfirst)<br/>]
<span>[(#GET{temperature}|rainette_afficher_unite{temperature})]</span><br/>
[(#GET{code_icone}|rainette_resume_meteo)]
</div>
<div class="details">

@ -1,15 +1,15 @@
<plugin>
<nom>Rainette</nom>
<auteur>Cedric Morin, Eric Lupinacci</auteur>
<version>1.4.1</version>
<auteur>Cedric Morin, Eric Lupinacci, Emmanuel Saint-James, Anne-lise Martenot</auteur>
<version>1.5.4</version>
<etat>stable</etat>
<licence>GNU/GPL</licence>
<slogan>La m&#233;t&#233;o au quotidien</slogan>
<description>
Ce plugin permet d'afficher les conditions et les pr&#233;visions m&#233;t&#233;orologiques d'une ville donn&#233;e &agrave; partir du flux xml fourni par le site weather.com&reg;.
Il ne stocke aucune information en base de donn&#233;es ni ne g&egrave;re le choix des villes.
Ce plugin permet d'afficher des conditions et des pr&#233;visions m&#233;t&#233;orologiques obtenues en interrogeant le site weather.com&reg;.
Le plugin ne stocke aucune information en base de donn&#233;es, ni ne g&egrave;re le code météorologique des villes, qu'il faut préalablement retrouver par l'URL http://wxdata.weather.com/wxdata/search/search?where=X où X est le nom de la ville.
L'affichage des donn&#233;es m&#233;t&#233;orologiques se fait principalement via l'utilisation de mod&egrave;les dans les squelettes. Le plugin propose des
Les donn&#233;es m&#233;t&#233;orologiques sont affichées principalement vi des mod&egrave;les dans les squelettes. Le plugin propose des
mod&egrave;les par d&#233;faut comme {{rainette_previsions}} et {{rainette_conditions}}. Il est possible aussi d'afficher les informations sur la ville choisie soit via le mod&egrave;le {{rainette_infos}},
soit via la balise {{RAINETTE_INFOS}}. Tous les affichages propos&#233;s par Rainette sont personnalisables (ic&ocirc;nes, libell&#233;s, unit&#233;s, pr&#233;sentation...).
@ -17,7 +17,7 @@ Une page &#171; Meteo &#187; compatible avec les squelettes Z est disponible : e
Essayez la page de d&#233;mo {demo/rainette.html} pour des exemples d'utilisation.
</description>
<lien>http://www.spip-contrib.net/article3133</lien>
<lien>https://contrib.spip.net/article3133</lien>
<prefix>rainette</prefix>
<icon>rainette-64.png</icon>
<fonctions>rainette_fonctions.php</fonctions>

@ -1,143 +1,181 @@
/* Styles generaux */
.rainette_titre {margin: 5px 0 5px 10px; padding:0 0 0 0;}
.rainette_titre {margin: 0.5em 0 0.5em 1em; padding:0 0 0 0;}
/* INFOS: Styles utilises par le modele rainette_infos */
.rainette_infos {
float: left;
width: 400px;
width: 36em;
background: #ffffff;
border: 2px solid #dddddd;
margin: 4px 0 17px 0;
padding: 0 0 5px 0;
border: 0.2em solid #dddddd;
margin: 0.5em 0 1em 0;
padding: 0;
line-height: normal;
}
.rainette_infos .ville {margin: 0.5em 0 0 0.5em;}
.rainette_infos .coordonnees {
margin: 0.5em 0 0.5em 0.85em;
list-style-type: none;
font-size: 0.85em;
padding: 0;
}
.rainette_infos .ville {margin: 5px 0 5px 10px; padding: 0 0 0 0;}
.rainette_infos .coordonnees {float: left; line-height: 12px; padding: 0 0 0 10px;}
/* CONDITIONS: Styles utilises par le modele rainette_conditions */
.rainette_conditions {
float: left;
width: 400px;
width: 36em;
background: #fcfcfc;
border: 2px solid #dddddd;
margin: 5px 0 20px 0;
padding:0 0 5px 0;}
.rainette_conditions .statut {float: left; width: 260px;}
border: 0.15em solid #dddddd;
margin: 0.5em 0 2em 0;
padding:0 0 0.5em 0;
line-height: normal;
}
.rainette_conditions .statut {float: left; width: 21em;}
.rainette_conditions .cadre {
float: left;
width: 234px;
border: 1px solid #dddddd;
width: 19em;
border: 0.1em solid #dddddd;
background: #ffffff;
margin: 11px 0 0 11px;
padding:0 0 5px 0;}
.rainette_conditions .icone {float: left; margin: 3px 0 -5px 7px;}
margin: 1em 0 0 1em;
padding: 0 0 0.5em 0;
}
.rainette_conditions .icone {float: left; margin: 0.3em 0 -0.5em 0.7em;}
.rainette_conditions .t_reelle {
float: left;
color: #333333;
font-size: 33px;
font-size: 3em;
font-weight: bold;
line-height: 1em;
margin: 20px 0 0 15px;
margin: 0.5em 0 0 0.25em;
}
.rainette_conditions .t_ressentie {
float: left; color: #333333; margin: 0 0 0 0.75em;
}
.rainette_conditions .resume {
text-align: center; font-weight: bold; padding-top: 0.5em;
}
.rainette_conditions .t_ressentie {float: left; width: 95px; color: #333333; margin: 0 0 0 15px;}
.rainette_conditions .resume {text-align: center; font-weight: bold; padding-top: 5px;}
.rainette_conditions .maj {
float: left;
font-size: 10px;
font-size: 0.85em;
color: #000000;
width: 236px;
padding: 6px 0 0 11px;
padding: 0.5em 0 1.75em 1.25em;
}
.rainette_conditions .details {
.rainette_conditions ul li {
float: left;
color: #000000;
line-height: 12px;
width: 134px;
padding: 12px 5px 5px 1px;
width: 13em;
padding: 0 0 0.7em 0.1em;
list-style-type: none;
}
.rainette_conditions .details span {color: #6E6E6E; font-weight: bold;}
.rainette_conditions li span {color: #6E6E6E; font-weight: bold; display: block;}
.rainette_conditions li img { margin: -1em 0 0 0}
/* PREVISIONS: Styles utilises par le modele rainette_previsions, sur 1 jour presente en 2x12h */
.rainette_previsions_2x12h {
float: left;
border: 2px solid #dddddd;
border-right: 1px solid #dddddd;
width: 596px;
margin: 5px 0 20px 0;
border: 0.2em solid #dddddd;
width: 54.2em;
margin: 0.5em 0 0 0;
line-height: normal;
}
.rainette_previsions_2x12h .entete {
float: left;
height: 19px;
width: 297px;
height: 1.8em;
width: 26.9em;
border-right: 0.1em solid #dddddd;
border-bottom: 0.1em solid #dddddd;
padding: 0.5em 0 0 0;
text-align: center;
font-weight: bold;
background: #fcfcfc;
border-bottom: 1px solid #dddddd;
border-right: 1px solid #dddddd;
padding: 5px 0 0 0;
text-align: center;
}
.rainette_previsions_2x12h .entete+.entete {
width: 27em;
border-right: 0;
}
.rainette_previsions_2x12h .cadre {float: left; background: #ffffff;}
.rainette_previsions_2x12h .cellule {float: left; width: 297px; border-right: 1px solid #dddddd;}
.rainette_previsions_2x12h .contenu {float: left; width: 277px; margin: 5px 10px 10px 10px;}
.rainette_previsions_2x12h .icone {float: left; width: 110px; height:110px; padding: 0 10px 0 10px;}
.rainette_previsions_2x12h .cellule {
float: left;
width: 26.9em;
border-style: solid;
border-color: #dddddd;
border-width: 0 0.1em 0.1em 0;
}
.rainette_previsions_2x12h .cellule+.cellule {
width: 27em;
border-width: 0 0 0.1em 0;
}
.rainette_previsions_2x12h .contenu {
float: left; width: 24em; margin: 0.5em 1em 1em 1em;
}
.rainette_previsions_2x12h .icone {
float: left; width: 11em; height:11em; padding: 0 1em 0 1em;
}
.rainette_previsions_2x12h .t_reelle {
width: 137px;
width: 10em;
float: left;
font-weight: bold;
font-size: 12px;
font-size: 1em;
color: #333333;
margin: 10px 0 0 10px;
margin: 1em 0 0 1em;
}
.rainette_previsions_2x12h .t_reelle span {font-size: 33px;}
.rainette_previsions_2x12h .t_reelle span {font-size: 3em;}
.rainette_previsions_2x12h .details {
float: left;
clear: both;
color: #6e6e6e;
width: 267px;
padding: 5px 10px 0;
width: 26em;
padding: 0.5em 0 0 0;
}
.rainette_previsions_2x12h .details ul {list-style-type: none; padding: 0; margin: 0;}
.rainette_previsions_2x12h .details li {margin-left: 130px; clear:both;}
.rainette_previsions_2x12h .details li span {margin-left:-130px; float:left; display:inline; font-weight: bold;}
.rainette_previsions_2x12h .details ul {
list-style-type: none; padding: 0; margin: 0;
}
.rainette_previsions_2x12h .details li {margin-left: 12em; clear:both;}
.rainette_previsions_2x12h .details li span {margin-left:-12em; float:left; display:inline; font-weight: bold;}
.rainette_previsions_2x12h .maj {
border-top: 1px solid #dddddd;
border-right: 1px solid #dddddd;
color: #333333;
float: left;
font-size: 10px;
padding: 4px 0;
width: inherit; /* sinon le text-align est inoperant */
text-align: center;
width: 595px;
color: #333333;
font-size: 0.9em;
padding: 0.5em;
}
/* PREVISIONS: Styles utilises par le modele rainette_previsions, sur x jours presente en 24h simple */
.rainette_previsions_24h {
float: left;
border: 1px solid #dddddd;
width: 120px;
margin: 5px 5px 20px 0;
border: 0.1em solid #dddddd;
width: 11em;
margin: 0.4em 0.4em 2em 0;
line-height: normal;
}
.rainette_previsions_24h .jour {
height: 19px;
height: 1.9em;
font-weight: bold;
background: #fcfcfc;
width: 120px;
border-bottom: 1px solid #dddddd;
padding: 5px 0 0 0;
width: 11em;
border-bottom: 0.1em solid #dddddd;
padding: 0.4em 0 0 0;
text-align: center;
}
.rainette_previsions_24h .date {