Buongiorno a tutti!Da un po' ho notato che la condizione meteorologica sul mio GDRCD 5.4.1 cambia ogni giorno allo scoccare della mezzanotte... e poi basta. Durante la giornata resta fisso, nonostante la temperatura invece si alzi e si abbassi regolarmente. Non avevo messo mano al codice relativo in info_location ma ho comunque provato a copiare e rincollare quel pezzo prendendolo dallo .zip del codice originale, ma ancora non cambia nulla...Le uniche modifiche effettuate sul php info_location sono:- aggiunta della modale per la descrizione del luogo con click sulla foto;- aggiunta del <br> al posto del trattino prima della temperatura.Anche in config non ho modificato nulla, se non in questo ultimo periodo per tentare la sorte: ho sostituito la temperatura minima da -4 a -2 a 0 e il risultato è che, come detto, la temperatura cambia ma il meteo no.C'è qualche altro punto in cui qualcosa potrebbe essersi fot***o? Posto il codice, per sicurezza.
<div class="pagina_info_location"><?php /* HELP: Il box delle informazioni carica l'immagine del luogo corrente, lo stato e la descrizione. Genera, inoltre, il meteo */$result = gdrcd_query("SELECT mappa.nome, mappa.descrizione, mappa.stato, mappa.immagine, mappa.stanza_apparente, mappa.scadenza, mappa_click.meteo FROM mappa_click LEFT JOIN mappa ON mappa_click.id_click = mappa.id_mappa WHERE id = ".$_SESSION['luogo']."", 'result'); $record_exists = gdrcd_query($result, 'num_rows');$record = gdrcd_query($result, 'fetch');/* Fix: quando non si è in una mappa visualizza il nome della chat. Quando si è in una mappa si visualizza il nome della mappa*/if (empty($record['nome'])){ $nome_mappa = gdrcd_query("SELECT nome FROM mappa_click WHERE id_click = ". (int)$_SESSION['mappa']); $nome_luogo = $nome_mappa['nome'];}else{ $nome_luogo = $record['nome'];}?><div class="page_body"><?php if($record_exists>0 || $_SESSION['luogo']==-1){gdrcd_query($result, 'free');?><!--Immagine/descrizione --><div class="info_image"><?php if (empty($record['immagine'])===FALSE) { $immagine_luogo=$record['immagine']; } else { $immagine_luogo='standard_luogo.png'; }?><a onclick="modalWindow('Descr', 'Descr', '/popup.php?page=chat_descr', width=700, height=660)" style="cursor:pointer;"><img src="themes/<?php echo gdrcd_filter('out',$PARAMETERS['themes']['current_theme']);?>/imgs/locations/<?php echo $immagine_luogo?>" class="immagine_luogo" alt="<?php echo gdrcd_filter('out',$record['descrizione']); ?>" ></a></div><?php if ((isset($record['stato'])===TRUE)||(isset($record['descrizione'])===TRUE)){ echo '<div class="box_stato_luogo"> <marquee onmouseover="this.stop()" onmouseout="this.start()" direction="left" scrollamount="3" class="stato_luogo">'.gdrcd_filter('out',$record['stato']).'</marquee></div>'; } else { echo '<div class="box_stato_luogo"></div>'; }?><?php setlocale(LC_ALL, 'it_IT');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;/** * 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: if($minima<4){$meteo_cond=$MESSAGE['interface']['meteo']['status'][4];} else {$meteo_cond=$MESSAGE['interface']['meteo']['status'][3];} break; case 5: $meteo_cond=$MESSAGE['interface']['meteo']['status'][1]; break; case 6: $meteo_cond=$MESSAGE['interface']['meteo']['status'][0]; break; case 7: $meteo_cond=$MESSAGE['interface']['meteo']['status'][1]; break; case 8: if($minima<4){$meteo_cond=$MESSAGE['interface']['meteo']['status'][4];} else {$meteo_cond=$MESSAGE['interface']['meteo']['status'][3];} break; case 9: $meteo_cond=$MESSAGE['interface']['meteo']['status'][2]; break; case 10: $meteo_cond=$MESSAGE['interface']['meteo']['status'][0]; break; case 11: $meteo_cond=$MESSAGE['interface']['meteo']['status'][0]; break;} $meteo=$meteo_cond." <br> ". $gradi."°C "; //.Tempo();} else { $meteo=gdrcd_filter('out',$record['meteo']); }?><?php if(empty($meteo)===FALSE){ ?><div class="page_title"> <h2><?php echo gdrcd_filter('out',$MESSAGE['interface']['meteo']['title']);?></h2></div><div class="meteo_date"> <?php echo strftime('%d').' '.strftime('%B').' '.(strftime('%Y')+$PARAMETERS['date']['offset']);?></div><div class="meteo"><?php echo $meteo;?></div><?php } ?><?php } else {echo '<div class="error">'.gdrcd_filter('out',$MESSAGE['error']['location_doesnt_exist']).'</div>';} ?></div><!-- page_body --></div><!-- Pagina -->
Pagine → 1
03/04/2020 00:46:05
In questi giorni ho provato a cambiare la temperatura minima su config.inc.php, arrivando sino a -12, e il risultato è sempre lo stesso: cambia la temperatura ma il meteo resta fisso... Dannazione a lui! Nessuno nessuno può darmi una zampina? ç.ç
03/04/2020 00:50:42
$caso=($giorno+($ora/4))%12;nello switch per le condizioni meteo usi "$ora"in tutti gli altri switch e come variabile, usi "$ore"non mi pare che sia definito da nessuna parte "$ora" come variabile, potrebbe essere quello....?
http://montegobay.altervista.org/
03/04/2020 00:57:22
nutria marittima ha scritto: $caso=($giorno+($ora/4))%12;nello switch per le condizioni meteo usi "$ora"in tutti gli altri switch e come variabile, usi "$ore"non mi pare che sia definito da nessuna parte "$ora" come variabile, potrebbe essere quello....?
03/04/2020 01:25:47
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: if($minima<4){$meteo_cond=$MESSAGE['interface']['meteo']['status'][4];} else {$meteo_cond=$MESSAGE['interface']['meteo']['status'][3];} break;case 5: $meteo_cond=$MESSAGE['interface']['meteo']['status'][1]; break;case 6: $meteo_cond=$MESSAGE['interface']['meteo']['status'][0]; break;case 7: $meteo_cond=$MESSAGE['interface']['meteo']['status'][1]; break;case 8: if($minima<4){$meteo_cond=$MESSAGE['interface']['meteo']['status'][4];} else {$meteo_cond=$MESSAGE['interface']['meteo']['status'][3];} break;case 9: $meteo_cond=$MESSAGE['interface']['meteo']['status'][2]; break;case 10: $meteo_cond=$MESSAGE['interface']['meteo']['status'][0]; break;case 11: $meteo_cond=$MESSAGE['interface']['meteo']['status'][0]; break;case 4 e case 8 prevedono due condizioni meteo differenti a seconda del valore impostato su "minima"probabilmente era quello il cambiamento che vedevimi pare che lo switch cambi di ora in ora o qualcosa di simile, vedi se al cambio dell'ora ti cambia il meteo
Discussione seguita da: » jan90