Browse Source

Effacer la meta Rainette lors de la désinstallation.

Suppression du logo et des images devenues inutiles.
Correction de la configuration des thèmes utilisés.
Fignolage du service Accuweather qui ne fournit pas d'icone distant via le service.
master
Eric Lupinacci 1 year ago
parent
commit
9a39a30ca3
  1. 12
      formulaires/configurer_rainette_service.html
  2. 22
      formulaires/configurer_rainette_service.php
  3. BIN
      prive/themes/spip/images/rainette-16.png
  4. BIN
      prive/themes/spip/images/rainette-24.png
  5. 2
      rainette_administrations.php
  6. 53
      rainette_fonctions.php
  7. BIN
      rainette_logo-64.png
  8. 3
      services/accuweather.php
  9. 4
      services/accuweather.yaml

12
formulaires/configurer_rainette_service.html

@ -42,17 +42,9 @@
[(#ENV{service}|=={weather}|non)
[(#REM) <!-- Configuration du système d'icônes à utiliser (sauf pour weather) --> ]
[(#SET{data,
[(#ARRAY{#ENV{service}, <:rainette:label_icone_natif:>,
[(#ENV{service})_local], <:rainette:label_icone_local:>,
weather, <:rainette:label_icone_weather:>})]})]
[(#SET{disable,
[(#ARRAY{#ENV{service}, [(#ENV{_themes/icone_api}|non)],
[(#ENV{service})_local], [(#ENV{_themes/locaux}|non)],
weather, [(#ENV{_themes/weather}|non)]})]})]
[(#SAISIE{radio, condition,
data=#GET{data},
disable=#GET{disable},
data=#ENV{_themes/types},
disable_choix=#ENV{_themes/disabled},
explication=<:rainette:explication_configurer_icone:>,
label=<:rainette:label_icone:>,
})]

22
formulaires/configurer_rainette_service.php

@ -40,9 +40,7 @@ function formulaires_configurer_rainette_service_charger($service) {
// Ajout des informations d'utilisation du service
$execution = lire_config("rainette_execution/${service}", array());
$valeurs['_utilisation']['dernier_appel'] = isset($execution['dernier_appel'])
? $execution['dernier_appel']
: '';
$valeurs['_utilisation']['dernier_appel'] = $execution['dernier_appel'] ?? '';
if (isset($execution['compteurs'])) {
$valeurs['_utilisation']['compteurs'] = $execution['compteurs'];
} else {
@ -54,12 +52,24 @@ function formulaires_configurer_rainette_service_charger($service) {
}
// Gestion des thèmes locaux et distants.
$valeurs['_themes']['icone_api'] = in_array($service, array('weather', 'darksky')) ? false : true;
// -- liste des types de thèmes
$valeurs['_themes']['types'] = [
$service => _T('rainette:label_icone_natif'),
"${service}_local" => _T('rainette:label_icone_local'),
'weather' => _T('rainette:label_icone_weather')
];
// -- Présence de chaque type de thème pour le service concerné
$valeurs['_themes']['icone_api'] = !in_array($service, array('accuweather'));
$valeurs['_themes']['distants'] = rainette_lister_themes($service, 'api');
$valeurs['_themes']['locaux'] = rainette_lister_themes($service, 'local');
$valeurs['_themes']['locaux'] = rainette_lister_themes($service);
$valeurs['_themes']['weather'] = $service != 'weather'
? rainette_lister_themes('weather', 'local')
? rainette_lister_themes('weather')
: array();
// -- Construction du disable pour chaque choix de type de thème
$themes_disabled = $valeurs['_themes']['icone_api'] ? '' : $service;
$themes_disabled .= $valeurs['_themes']['locaux'] ? '' : ($themes_disabled ? '' : ',') . "${service}_local";
$themes_disabled .= $valeurs['_themes']['weather'] ? '' : ($themes_disabled ? '' : ',') . 'weather';
$valeurs['_themes']['disabled'] = $themes_disabled;
// On positionne le meta casier car la fonction de recensement automatique n'est plus appelée ni ne pourrait
// fonctionner avec un hidden dont la valeur est dynamique (utilisation d'une variable d'environnement #ENV).

BIN
prive/themes/spip/images/rainette-16.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 885 B

BIN
prive/themes/spip/images/rainette-24.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

2
rainette_administrations.php

@ -51,7 +51,7 @@ function rainette_vider_tables($nom_meta_base_version) {
// - la meta de stockage des informations de dernière exécution de chaque service
effacer_meta('rainette_execution');
// - la configuration utilisateur de chaque service
// effacer_meta('rainette');
effacer_meta('rainette');
// - la meta de schéma
effacer_meta($nom_meta_base_version);
}

53
rainette_fonctions.php

@ -91,10 +91,10 @@ function rainette_afficher_icone($icone, $taille = 'petit', $options = array())
$source = $icone['source'];
// On retaille si nécessaire l'image pour qu'elle soit toujours de la même taille (grande ou petite).
// -- calcul de la taille de l'image
list($largeur, $hauteur) = @getimagesize($source);
include_spip('filtres/images_transforme');
// Calcul de la taille maximale de l'icone
// -- calcul de la taille maximale de l'icone
if ($taille == 'petit') {
$taille_max = _RAINETTE_ICONES_PETITE_TAILLE;
} elseif ($taille == 'grand') {
@ -103,14 +103,47 @@ function rainette_afficher_icone($icone, $taille = 'petit', $options = array())
$taille_max = intval($taille);
}
if (($largeur < $taille_max) or ($hauteur < $taille_max)) {
include_spip('filtres/images_transforme');
if (
($largeur < $taille_max)
and ($hauteur < $taille_max)
) {
// Image plus petite que celle par défaut :
// --> Il faut insérer et recadrer l'image dans une image plus grande à la taille par défaut
$source = extraire_attribut(image_recadre($source, $taille_max, $taille_max, 'center', 'transparent'), 'src');
} elseif (($largeur > $taille_max) or ($hauteur > $taille_max)) {
$source = extraire_attribut(
image_recadre(
$source,
$taille_max,
$taille_max,
'center',
'transparent'
),
'src'
);
} else {
// Si l'image n'est pas carrée on la recadre
if ($largeur !== $hauteur) {
$source = extraire_attribut(
image_recadre(
$source,
max($largeur, $hauteur),
max($largeur, $hauteur),
'center',
'transparent'
),
'src'
);
}
// Image plus grande que celle par défaut :
// --> Il faut réduire l'image à la taille par défaut
$source = extraire_attribut(image_reduire($source, $taille_max), 'src');
$source = extraire_attribut(
image_reduire(
$source,
$taille_max
),
'src'
);
}
// On construit la balise img
@ -287,6 +320,11 @@ function rainette_afficher_unite($valeur, $type_donnee = '', $precision = -1, $s
return $valeur_affichee;
}
/**
* @param $service
*
* @return mixed|string|null
*/
function rainette_afficher_service($service) {
// On renvoie le nom du service ou a défaut son id.
@ -296,6 +334,9 @@ function rainette_afficher_service($service) {
}
/**
* @return string
*/
function rainette_service_defaut() {
return _RAINETTE_SERVICE_DEFAUT;

BIN
rainette_logo-64.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.1 KiB

3
services/accuweather.php

@ -231,8 +231,7 @@ function etat2resume_accuweather(&$tableau, $configuration) {
if ($configuration['condition'] == $configuration['alias']) {
// On affiche l'icône natif fourni par le service et désigné par son url
// en faisant une copie locale dans IMG/.
include_spip('inc/distant');
$tableau['icone']['source'] = copie_locale($tableau['icon_meteo']);
// --> pas disponible actuellement pour Accuweather
} else {
include_spip('inc/rainette_normaliser');
if ($configuration['condition'] == "{$configuration['alias']}_local") {

4
services/accuweather.yaml

@ -7,7 +7,7 @@
# - previsions : la configuration du mash-up pour les prévisions
# - erreurs : la configuration du mash-up pour les erreurs fournies par le service
#
# Si un champ vaut la valeur par défaut il est possible de l'omettre.
# Si un champ vaut la valeur par défaut il est possible de l'omettre (souvent en commentaire).
# -----------------------------------------------------------------------------------------------
# Bloc service : caractéristiques du service
@ -80,7 +80,7 @@ service:
defauts:
#inscription: ''
#unite: 'm'
#condition: 'accuweather'
condition: 'accuweather_local'
theme: ''
theme_local: 'original'
#theme_weather: 'sticker'

Loading…
Cancel
Save