Accueil"; $url1_actif="Accueil"; $url5="Météo"; $url5_actif="Météo"; $menu = "
"; $menu .= ($page_active != "acceuil")?$url1."  |  ":$url1_actif."  |  "; // $menu .= ($page_active != "consultation")?$url2."  |  ":$url2_actif."  |  "; //$menu .= ($page_active != "meteo")?$url5."  |  ":$url5_actif."  |  "; // $menu .= ($page_active != "partenaires")?$url3:$url3_actif; $menu .= "
"; return $menu; } ?> direction du vent en degree (compris entre 0 et 360) */ function getDirectionVent($degree) { $direction = NULL; if ( ($degree != null) && ($degree >= 0) && ($degree <= 359) ) { if (($degree >= 345) && ($degree <= 359)) $direction = "N"; elseif (($degree >= 0) && ($degree <= 14)) $direction = "N"; elseif (($degree >= 15) && ($degree <= 34)) $direction = "NNE"; elseif (($degree >= 35) && ($degree <= 54)) $direction = "NE"; elseif (($degree >= 55) && ($degree <= 74)) $direction = "ENE"; elseif (($degree >= 75) && ($degree <= 104)) $direction = "E"; elseif (($degree >= 105) && ($degree <= 124)) $direction = "ESE"; elseif (($degree >= 125) && ($degree <= 144)) $direction = "SE"; elseif (($degree >= 145) && ($degree <= 164)) $direction = "SSE"; elseif (($degree >= 165) && ($degree <= 194)) $direction = "S"; elseif (($degree >= 195) && ($degree <= 214)) $direction = "SSO"; elseif (($degree >= 215) && ($degree <= 234)) $direction = "SO"; elseif (($degree >= 235) && ($degree <= 254)) $direction = "OSO"; elseif (($degree >= 255) && ($degree <= 284)) $direction = "O"; elseif (($degree >= 285) && ($degree <= 304)) $direction = "ONO"; elseif (($degree >= 305) && ($degree <= 324)) $direction = "NO"; elseif (($degree >= 325) && ($degree <= 344)) $direction = "NNO"; }else $direction =""; return $direction; } function getDirectionVentForVocal($degree) { $direction = NULL; if ( ($degree != null) && ($degree >= 0) && ($degree <= 359) ) { if (($degree >= 345) && ($degree <= 359)) $direction = "Nord"; elseif (($degree >= 0) && ($degree <= 14)) $direction = "Nord"; elseif (($degree >= 15) && ($degree <= 34)) $direction = "Nord. Nord èste"; elseif (($degree >= 35) && ($degree <= 54)) $direction = "Nord. èste"; elseif (($degree >= 55) && ($degree <= 74)) $direction = "èste. Nord èste"; elseif (($degree >= 75) && ($degree <= 104)) $direction = "èste"; elseif (($degree >= 105) && ($degree <= 124)) $direction = "èste. Sud èste"; elseif (($degree >= 125) && ($degree <= 144)) $direction = "Sud èste"; elseif (($degree >= 145) && ($degree <= 164)) $direction = "Sud. Sud èste"; elseif (($degree >= 165) && ($degree <= 194)) $direction = "Sud"; elseif (($degree >= 195) && ($degree <= 214)) $direction = "Sud. Sud Ouest"; elseif (($degree >= 215) && ($degree <= 234)) $direction = "Sud Ouest"; elseif (($degree >= 235) && ($degree <= 254)) $direction = "Ouest. Sud Ouest"; elseif (($degree >= 255) && ($degree <= 284)) $direction = "Ouest"; elseif (($degree >= 285) && ($degree <= 304)) $direction = "Ouest. Nord Ouest"; elseif (($degree >= 305) && ($degree <= 324)) $direction = "Nord Ouest"; elseif (($degree >= 325) && ($degree <= 344)) $direction = "Nord. Nord Ouest"; }else $direction ="non déterminé"; return $direction; } /* Fonction renvoyant un tableau représentant le dernier releve meteo de la balise * @param : idBalise -> identifiant de la balise * @return : array_result -> tableau de < clef , valeur > des données météos */ function getReleve($idBalise) { global $DB_LINK; inc_balises_counters($idBalise); $req = "SELECT `last_data_horo` FROM `balises` WHERE `idBalise` = '" . $idBalise . "'"; $r = mysqli_query($DB_LINK, $req); $bal1 = mysqli_fetch_array($r); $releve = null; $t0 = microtime(true); // Protection injection SQL (Jerome 20100727) $idBalise = intval($idBalise); if (isset($bal1['last_data_horo'])) { $data_since = abs(time() - cvdate($bal1['last_data_horo'])); } else { $data_since = 100*24*3600; // juste pour faire croire ˆ la suite que non } if ($data_since < 5*24*3600) { $req1 = "SELECT date, DATE_FORMAT(date,'%d/%m/%Y - %H:%i') as dateFormate," ." DATE_FORMAT(date,'%Y-%m-%d %H:%i:%s') as dateIso," ." vitesseVentMoy, vitesseVentMax, vitesseVentMin," ." directVentMoy, directVentInst, temperature, LUM, u_sol, u_bat, signal_sigfox" ." FROM relevemeteo" ." WHERE idBalise=".$idBalise ." ORDER BY `date` DESC LIMIT 1"; $answer1 = mysqli_query($DB_LINK, $req1); $releve = mysqli_fetch_array($answer1); } $req2 = "SELECT `nom`, `forKyte`, `decalageHoraire` FROM `balises` WHERE `idBalise`=" . $idBalise; $answer2 = mysqli_query($DB_LINK, $req2); $balise = mysqli_fetch_array($answer2); if ($balise==Null) return false; $array_result = null; $valid = true; //Test si la balise est une balise kyte if ($balise != null && $releve != null) { /* Test de la validité du releve : invalide si > 30mins */ $dateReleve = strtotime($releve['dateIso']); $dateCourante = strtotime(date("Y-m-d H:i:s", time())); $dif = floor(($dateCourante- $dateReleve)/60); //différence en minutes $limit = 30; if($dif >= $limit) { $valid = false; } /* Détermination de la direction du vent ( point cardinaux ) */ $directVentMoyCard = getDirectionVent($releve['directVentMoy']); $directVentInstCard = getDirectionVent($releve['directVentInst']); if($balise['forKyte']) { $coeff_conv_kmH_noeud = 1.852; $vitesseVentMoy = round($releve['vitesseVentMoy'] / $coeff_conv_kmH_noeud); $vitesseVentMax = round($releve['vitesseVentMax'] / $coeff_conv_kmH_noeud); $vitesseVentMin = round($releve['vitesseVentMin'] / $coeff_conv_kmH_noeud); $typeBalise = "kyte"; $unitVent = UNIT_VITESSE_NOEUD_VENT; } else { $vitesseVentMoy = $releve['vitesseVentMoy']; $vitesseVentMax = $releve['vitesseVentMax']; $vitesseVentMin = $releve['vitesseVentMin']; $typeBalise = "normal"; $unitVent = UNIT_VITESSE_VENT; } /* Construction du tableau */ $array_result = array( "idBalise" => $idBalise, "isValid" => $valid, "nomBalise" => $balise['nom'], //"dateFormate" => $releve['dateFormate'], "dateFormate" => date('d/m/Y - H:i', $dateReleve+(60*60*$balise['decalageHoraire'])), "dateIso" => $releve['dateIso'], "vitesseVentMoy" => $vitesseVentMoy, "vitesseVentMax" => $vitesseVentMax, "vitesseVentMin" => $vitesseVentMin, "directVentMoy" => $releve['directVentMoy'], "directVentInst" => $releve['directVentInst'], "directVentMoyCard" => $directVentMoyCard, "directVentInstCard" => $directVentInstCard, "temperature" => $releve['temperature'], "typeBalise" => $typeBalise, "unitVent" => $unitVent, "LUM" => $releve['LUM'], "u_sol" => (isset($releve['u_sol'])?round($releve['u_sol']/1000,1):null), "u_bat" => (isset($releve['u_bat'])?round($releve['u_bat']/1000,1):null), "signal_sigfox" => $releve['signal_sigfox'], ); } else // Gilles 2019-06-09 si aucun relevŽ trouvŽ, on sort un relevŽ fictif { /* Construction du tableau */ pas_de_releve_frais: $array_result = array( "idBalise" => $idBalise, "isValid" => 1, "nomBalise" => $balise['nom'], //"dateFormate" => $releve['dateFormate'], "dateFormate" => '', "dateIso" => '', "vitesseVentMoy" => '', "vitesseVentMax" => '', "vitesseVentMin" => '', "directVentMoy" => '', "directVentInst" => '', "directVentMoyCard" => '', "directVentInstCard" => '', "temperature" => '', "typeBalise" => '', "unitVent" => '', "LUM" => '', "u_sol" => '', "u_bat" => '', "signal_sigfox" => '', ); } return $array_result; } function getDirectionVentForIMG($degree) { $direction = NULL; if ( ($degree != null) && ($degree >= 0) && ($degree <= 359) ) { if (($degree >= 345) && ($degree <= 359)) $direction = "N"; elseif (($degree >= 0) && ($degree <= 15)) $direction = "N"; else if (($degree > 15) && ($degree < 75)) $direction = "NE"; else if (($degree >= 75) && ($degree <= 105)) $direction = "E"; else if (($degree > 105) && ($degree < 165)) $direction = "SE"; else if (($degree >= 165) && ($degree <= 195)) $direction = "S"; else if (($degree > 195) && ($degree < 225)) $direction = "SO"; else if (($degree >= 225) && ($degree <= 285)) $direction = "O"; else if (($degree > 285) && ($degree < 345)) $direction = "NO"; } else $direction = "NC"; return $direction; } ?>
Fatal error: Uncaught Error: Call to undefined function getReleve() in /var/www/balisemeteo.com/balise.php:26 Stack trace: #0 {main} thrown in /var/www/balisemeteo.com/balise.php on line 26