cambio icona meteo giorno/notte

  • Creatore Discussione Creatore Discussione NuvolaB
  • Data di inizio Data di inizio

NuvolaB

Nuovo Utente
7 Set 2021
5
0
1
Salve,
sto cercando di far cambiare l'icona del sole con quella lunare al cambio dell'ora.
Il codice è questo
Codice:
<?php
            
            if($PARAMETERS['mode']['auto_meteo'] == 'ON') {
                /* Meteo */
                $ore = strftime("%H");
                $minuti = strftime("%M");
                $mese = strftime("%m");
                $giorno = strftime("%j");
                $caso = ((floor($giorno / 3)) % 2) + 1;
                $vento= ((floor($giorno / 3)) % 2) + 1;
            
               /**    * Bug FIX: corretta l'assegnazione della $minima * @author Blancks */
               switch ($mese) { case 1: $minima = $PARAMETERS['date']['base_temperature']+0;
               break; 
               case 2: $minima = $PARAMETERS['date']['base_temperature']+4;
               break; 
               case 3: $minima = $PARAMETERS['date']['base_temperature']+8;
               break;
               case 4: $minima = $PARAMETERS['date']['base_temperature']+14;
               break;
               case 5: $minima = $PARAMETERS['date']['base_temperature']+20;
               break; 
               case 6: $minima = $PARAMETERS['date']['base_temperature']+28;
               break;
               case 7: $minima = $PARAMETERS['date']['base_temperature']+30;
               break; 
               case 8: $minima = $PARAMETERS['date']['base_temperature']+28;
               break;   
               case 9: $minima = $PARAMETERS['date']['base_temperature']+20;
               break;
               case 10: $minima = $PARAMETERS['date']['base_temperature']+14;
               break; 
               case 11: $minima = $PARAMETERS['date']['base_temperature']+8;
               break;   
               case 12: $minima = $PARAMETERS['date']['base_temperature']+0;
               break; }
                /**
                 * Fine fix
                 */
               if($ore<14){
$gradi=$minima+(floor($ore/3)*$caso);
} else{
$gradi=$minima+(4*$caso)-((floor($ore/3)*$caso))+(3*$caso);
}
 $caso=($giorno+($ora/4))%12;
 switch ($caso) {
case 0:
$meteo_cond=$MESSAGE['interface']['meteo']['status'][0]; break; 
case 1:
$meteo_cond=$MESSAGE['interface']['meteo']['status'][0]; break;
case 2: 
$meteo_cond=$MESSAGE['interface']['meteo']['status'][1]; break; 
case 3:
$meteo_cond=$MESSAGE['interface']['meteo']['status'][2]; break; 
case 4:
$meteo_cond=$MESSAGE['interface']['meteo']['status'][5]; break;     
case 5:
 if($minima<4){$meteo_cond=$MESSAGE['interface']['meteo']['status'][4];
} else {
$meteo_cond=$MESSAGE['interface']['meteo']['status'][15];} break; 
case 6:
$meteo_cond=$MESSAGE['interface']['meteo']['status'][1]; break; 
case 7:
$meteo_cond=$MESSAGE['interface']['meteo']['status'][0]; break; 
case 8: 
$meteo_cond=$MESSAGE['interface']['meteo']['status'][1]; break;
case 9:
if($minima<4){
$meteo_cond=$MESSAGE['interface']['meteo']['status'][4];
} else {$meteo_cond=$MESSAGE['interface']['meteo']['status'][15];
}
break; 
case 10:
$meteo_cond=$MESSAGE['interface']['meteo']['status'][2]; break; 
case 11:
$meteo_cond=$MESSAGE['interface']['meteo']['status'][0]; break; 
case 12:
$meteo_cond=$MESSAGE['interface']['meteo']['status'][0]; break; }



 $meteo = $meteo_cond." <div class=gradi>".$gradi."&deg;C </div>"; //.Tempo();
                
                
            } else {
                $meteo = gdrcd_filter('out', $record['meteo']);

Se provo a dire ad ogni 'caso X' che se $ora >=20 l'icona non è meteo bla bla ma notte bla bla (è l'immagine notturna di quella condizione meteo).
Non funziona, mi da errori vari. Ho provato ad usare la sintassi che usa per dire che se è inferiore o maggiore a 4° deve cambiare meteo.
Qualcuno mi può aiutare?
Grazie :)
 
Ciao, ho provato a guardare il codice ma non capisco cosa intendi, qual è la parte che si riferisce all'icona da modificare? E cosa rappresenta la variabile $caso?
 
Ciao, ho provato a guardare il codice ma non capisco cosa intendi, qual è la parte che si riferisce all'icona da modificare? E cosa rappresenta la variabile $caso?
$Message [ecc]
comunque ci sono riuscita, l'errore lo avevo davanti agli occhi :) non chiudevo correttamente la funzione. Se dovesse servire a qualcuno, la soluzione è inserire gli if temporali dopo 'caso X' e stare attenti a contare le graffe xD, soprattutto al controllo di temperatura.
Grazie lo stesso!!
 

Discussioni simili