| Server IP : 93.86.61.54 / Your IP : 216.73.216.60 Web Server : Apache/2.4.62 (Ubuntu) System : Linux rasin.ddns.net 6.8.0-124-generic #124~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue May 26 21:05:19 UTC x86_64 User : www-data ( 33) PHP Version : 8.4.22 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /var/www/html/projects/infoca/ |
Upload File : |
<!DOCTYPE html>
<!--
******************************
Project: InfoCA, 2021
Version: PHP 5-7
Author : M. Kukic
Note :
******************************
-->
<html>
<head>
<style>
table, th, td {
border: 1px solid gray;
border-collapse: collapse;
}
th, td {
padding: 4px;
text-align: center;
}
</style>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel='shortcut icon' type='image/png' href='favicon.png'/>
<meta http-equiv="refresh" content="20">
<title>InfoCA</title>
</head>
<body>
<div style="width:720px; word-wrap:break-word;">
<?php
//
echo "Start INFOCA...";
include "config.php";
echo "Startovano INFOCA ...";
//
include "hed.php";
//
// Grad-Geo-Info
echo "<div style=padding-bottom:5px;'>";
echo "<b>";
echo "Grad: ";
echo "<font face = 'Arial'; size = '5', color = '#48D1CC'>";
echo $grad."</font>";
echo str_repeat(" ", 3);
echo "<a href='https://sh.wikipedia.org/wiki/%C4%8Ca%C4%8Dak'><img src='img/link.png' width='' height='28'></a>";
echo "</div>";
//
echo "Geo-lokacija: ";
echo "<font face = 'Arial'; size = '5', color = '#48D1CC'>";
echo $gs." N - ".$gd." E</font>";
echo str_repeat(" ", 3);
?>
<a href="https://www.google.rs/maps/place/43%C2%B052'46.2%22N+20%C2%B021'13.5%22E/@43.8917973,20.3488233,435m/data=!3m1!1e3!4m5!3m4!1s0x0:0x0!8m2!3d43.879505!4d20.35375"><img src='img/geo-tag.png' width='' height='36'></a>
<?php
//
echo "<br>Nad. vis. i norm. at. pritisak: ";
echo "<font face = 'Arial'; size = '5', color = '#48D1CC'>";
echo $nv."m - ".$nap."mb (MSL ".$p0.")</font>";
echo "</b>";
echo str_repeat(" ", 3);
echo "<a href=../infoca/help.php><img src='img/help.png' width='64' height=''></a>";
echo "<hr>";
//
// NTP vreme
$vreme=getCurrentDate();
if ($vreme=="07/02/2036 - 07:28:16"){
$vreme=getCurrentDate();
}
if ($vreme==""){
date_default_timezone_set('Europe/Belgrade');
$vreme=date("d/m/Y - H:i:s");
}
$vreme=substr($vreme,0,18);
$lz=isDST();
if ($lz==0){
$dst=1;
}else{
$dst=2;
}
echo "<b>";
echo "Datum i vreme (NTP) GMT+".$dst.":";
echo "<div style='width:720px; margin:0 auto;' align=center>";
echo "<font face = 'Arial black'; size = '8', color = '#3366ff'>";
//echo str_repeat(" ", 4);
echo $vreme."</font><br/>";
echo "</div>";
echo "</b>";
//
// Sunce - Obdanica
$obdanica=sunce($gs, $gd, $dst);
echo "<b>Sunce: ";
echo "<div style='width:720px; margin:0 auto;' align=center>";
echo "<font face='Arial'; size='5', color='#C71585'>".$obdanica."</font><br>";
echo "</div></font></b>";
//
//Mesec
$y=(int)substr($vreme,6,4);
$m=(int)substr($vreme,3,2);
$d=(int)substr($vreme,0,2);
$mesec=GetMoon ($y, $m, $d);
echo "<b>Mesec: <br>";
echo "<div style='width:720px; margin:0 auto;' align=center>";
echo "<font face = 'Arial'; size = '4', color = '#ff9900'>";
echo "<img src='img/m_".$mesec.".png' width='42' height='42'>";
echo str_repeat(" ", 2);
echo $mena[$mesec];
echo "</div></font></b>";
echo "<hr>";
//echo "<font face = 'Arial'; size = '6', color = '#0000FF'> Color change using Hex value </font><br/>";
// LAST Tabela
echo "<div style=padding-bottom:5px;'>";
echo "<b>Poslednji podaci:</b>";
echo str_repeat(" ", 4);
?>
<a href="https://www.google.rs/maps/place/43%C2%B052'46.2%22N+20%C2%B021'13.5%22E/@43.8795064,20.352961,245m/data=!3m2!1e3!4b1!4m5!3m4!1s0x0:0x0!8m2!3d43.879505!4d20.35375"><img src='img/geo-tag.png' width='' height='36'></a>
<?php
echo str_repeat(" ", 4);
echo "<a href='https://www.weather2umbrella.com/vremenska-prognoza-%C4%8Da%C4%8Dak-srbija-sr/meteogram'><img src='img/prognoza.png' width='' height='36'></a>";
echo "</div>";
//
$sql = "SELECT * FROM datalog WHERE amsid='CA0' ORDER BY dattim DESC LIMIT 10";
$result = mysqli_query($dbh, $sql) or die (mysqli_error($dbh));
$row = mysqli_fetch_array($result);
//echo "<font face = 'Arial'; size = '2', color = '#C71585'>";
echo "<table style='background-color:#F0FFFF; width:720px; margin:0 auto;'>";
echo tabhead();
//
// Mat za Naglaseno
$nt=round($row['temp'],1);
$nb=$row['baro'];
$nmsl=$nb+$p0-$nap;
$nb=round($nb,1);
$nmsl=round($nmsl,1);
$ndlt=$nb-$nap;
$ndlt=round($ndlt,1);
$pm25=$row['pm25'];
$pm10=$row['pm10'];
$co=$row['co'];
aniz($row,0);
tabbodi($row,$p0,$nap);
//
$row = mysqli_fetch_array($result); // pretposlednje
aniz($row,1);
//
$row = mysqli_fetch_array($result); // pre predposlednjeg
aniz($row,2);
tabbodi($row,$p0,$nap);
//
$row = mysqli_fetch_array($result); // pretposlednje
aniz($row,3);
//
$row = mysqli_fetch_array($result); // pre predposlednjeg
tabbodi($row,$p0,$nap);
//
echo "</table>";
//Meteo prognoza
echo "<div style=padding-top:8px;'>";
echo "<b>Procena vremena: </b>";
echo "</div>";
echo "<div style='width:720px; margin:0 auto;' align=center>";
echo "<font face = 'Arial black'; size = '4', color = '#cc0000'>";
prognoza($dbh);
echo "</div></font>";
// Meteo Naglaseno TEMP i BARO
//echo "<div style='width:720px; margin:0 auto;' align=center>";
//echo "<font face = 'Arial'; size = '7', color = 'red'>";
echo "<div style='width:720px; margin:0 auto;' align=center>";
echo "<font face = 'Arial black'; size = '7', color = '#FF4500'>";
//echo str_repeat(" ",2);
if ($ndlt>0){
$zn="+";
}else{
$zn="";
}
echo $nt."℃ / ".$nmsl;
echo "</font>";
echo "<font face = 'Arial'; size = '7', color = '#FF4500'>";
echo "mb (".$zn.$ndlt.")";
echo "</font></div>";
echo "<hr style='width:70%;'>";
//
// Prosecne vrednosti za 1h MATH
$number = array($apm25[0],$apm25[1],$apm25[2],$apm25[3]);
$pm25_min=round(min($number),1);
$pm25_max=round(max($number),1);
$number = array($apm10[0],$apm10[1],$apm10[2],$apm10[3]);
$pm10_min=round(min($number),1);
$pm10_max=round(max($number),1);
$number = array($aco[0],$aco[1],$aco[2],$aco[3]);
$co_min=round(min($number),1);
$co_max=round(max($number),1);
$pm25_avr=0.0;
$pm10_avr=0.0;
$co_avr=0.0;
for ($i = 0; $i<4; $i++)
{
$pm25_avr=$pm25_avr+$apm25[$i];
$pm10_avr=$pm10_avr+$apm10[$i];
$co_avr=$co_avr+$aco[$i];
}
$pm25_avr=round(($pm25_avr/4.0),1);
$pm10_avr=round(($pm10_avr/4.0),1);
$co_avr=round(($co_avr/4.0),1);
// Prosecne vrednosti za 1h PRINT
$fleg=0;
if (($pm25_avr!=0)or($pm10_avr!=0)or($co_avr!=0)) {
$fleg=1;
}
if ($fleg==1) {
echo "<div style='width:720px; margin:0 auto; padding-top:5px;' align=center>";
echo "<font face='Arial'; size='4'; color='black'>";
echo "<b>AQI</b> (interval 1h): <b>CO</b> [mg/m3] - <b>PM25</b> [µg/m3] - <b>PM10</b> [µg/m3]<br>";
echo "</font>";
echo "<font face='Arial'; size='5'; color='blue'>";
echo "<div style='padding-top:5px; padding-bottom:10px;'>";
echo "Min/<b>Avr</b>/Max: ";
echo $co_min."/<b>".$co_avr."</b>/".$co_max." - ".$pm25_min."/<b>".$pm25_avr."</b>/".$pm25_max." - ".$pm10_min."/<b>".$pm10_avr."</b>/".$pm10_max;
echo "</font></div></div>";
//
// Ocena kvaliteta vazduha
echo "<div style='width:720px; margin:0 auto;'>";
echo "<div align=center>";
aqi_co($co_avr);
echo str_repeat(" ",2);
aqi_pm25($pm25_avr);
echo str_repeat(" ",2);
aqi_pm10($pm10_avr);
echo "</div></div>";
echo "<hr>";
}
//
// Meteo statistika
//$fleg=1;
$ico=72;
echo "<div style=padding-bottom:5px;'>";
echo "<b>Statistika:</b>";
echo "</div>";
echo "<div style='width:720px; margin:0 auto;'>";
echo "<div align=center>";
echo "<a href=../infoca/graf-t.php><img src='img/graf-t.png' width='".$ico."' height=''></a><img src='img/b_white-2.png'>";
echo "<a href=../infoca/graf-b.php><img src='img/graf-b.png' width='".$ico."' height=''></a><img src='img/b_white-2.png'>";
echo "<a href=../infoca/graf-h.php><img src='img/graf-h.png' width='".$ico."' height=''></a><img src='img/b_white-2.png'>";
echo "<a href=../infoca/graf-s.php><img src='img/graf-s.png' width='".$ico."' height=''></a><img src='img/b_white-2.png'>";
if ($fleg==1) {
echo "<a href=../infoca/graf-c.php><img src='img/graf-c.png' width='".$ico."' height=''></a><img src='img/b_white-2.png'>";
echo "<a href=../infoca/graf-p.php><img src='img/graf-p.png' width='".$ico."' height=''></a><img src='img/b_white-2.png'>";
echo "<a href=../infoca/graf-f.php><img src='img/graf-f.png' width='".$ico."' height=''></a><img src='img/b_white-2.png'>";
}
echo "<a href=../infoca/lista.php><img src='img/graf-l.png' width='".$ico."' height=''></a>";
echo "<br></div></div>";
//
// Info i Link vesti
$sql = "SET NAMES 'utf8' COLLATE 'utf8_unicode_ci'";
$result = mysqli_query($dbh, $sql) or die (mysqli_error($dbh));
echo "<hr>";
echo "<div style=padding-bottom:5px;'>";
echo "<b>Informacije:</b><br>";
echo "</div>";
for ($i = 1; $i<=($ic_o); $i++) {
$sql = "SELECT * FROM info WHERE niv=".$i." ORDER BY dattim DESC LIMIT 1";
$result = mysqli_query($dbh, $sql) or die (mysqli_error($dbh));
$row = mysqli_fetch_array($result);
$ic_p = $row['poruka'];
$ic_l = $row['link_l'];
$ic_n = $row['link_n'];
echo "<a href=".$ic_l."><img src='img/link.png' width='' height='28'>".$ic_n."</a>";
echo "<b> ".$nivo[$i]." - </b>";
echo "<font face = 'Arial'; size = '2', color = '#8a00e6'>";
echo $ic_p."</font><br>";
}
//
// Program END
//
//
// F U N K C I J E
//
// Elementi niza
function aniz($row,$i)
{
global $apm25,$apm10,$aco;
$apm25[$i]=$row['pm25'];
$apm10[$i]=$row['pm10'];
$aco[$i]=$row['co'];
return;
}
// Kvalitet vazduha PM2.5
function aqi_pm25($kv){
if ($kv<15.01){
echo "<img src='img/aqi-pm25-odlican.png'>";
}
if (($kv>15.0) and ($kv<30.01)){
echo "<img src='img/aqi-pm25-dobar.png'>";
}
if (($kv>30.0) and ($kv<55.01)){
echo "<img src='img/aqi-pm25-prihvatljiv.png'>";
}
if (($kv>55.0) and ($kv<110.01)){
echo "<img src='img/aqi-pm25-zagadjen.png'>";
}
if ($kv>110){
echo "<img src='img/aqi-pm25-jakozagadjen.png'>";
}
return;
}
//
// Kvalitet vazduha PM10
function aqi_pm10($kv){
if ($kv<25.01){
echo "<img src='img/aqi-pm10-odlican.png'>";
}
if (($kv>25.0) and ($kv<50.01)){
echo "<img src='img/aqi-pm10-dobar.png'>";
}
if (($kv>50.0) and ($kv<90.01)){
echo "<img src='img/aqi-pm10-prihvatljiv.png'>";
}
if (($kv>90.0) and ($kv<180.01)){
echo "<img src='img/aqi-pm10-zagadjen.png'>";
}
if ($kv>180){
echo "<img src='img/aqi-pm10-jakozagadjen.png'>";
}
return;
}
//
// Kvalitet vazduha CO
function aqi_co($kv){
if ($kv<5.01){
echo "<img src='img/aqi-co-odlican.png'>";
}
if (($kv>5.0) and ($kv<10.01)){
echo "<img src='img/aqi-co-dobar.png'>";
}
if (($kv>10.0) and ($kv<25.01)){
echo "<img src='img/aqi-co-prihvatljiv.png'>";
}
if (($kv>25.0) and ($kv<50.01)){
echo "<img src='img/aqi-co-zagadjen.png'>";
}
if ($kv>50){
echo "<img src='img/aqi-co-jakozagadjen.png'>";
}
return;
}
//
// HUMI HI kalk
function heatIndex($T, $H){
$c1=-42.38;
$c2=2.049;
$c3=10.14;
$c4=-0.2248;
$c5=-6.838e-3;
$c6=-5.482e-2;
$c7=1.228e-3;
$c8=8.528e-4;
$c9=-1.99e-6;
$T=$T*1.8+32.0;
$A=(($c5*$T)+$c2)*$T+$c1;
$B=(($c7*$T)+$c4)*$T+$c3;
$C=(($c9*$T)+$c8)*$T+$c6;
$Rv=($C*$H+$B)*$H+$A;
$Rv=($Rv-32.0)/1.8;
return $Rv;
}
//HUMI DP kalk
function dewPoint($T, $H){
$Td=(17.271*$T)/(237.7+$T)+log($H*0.01);
$Td=(237.7*$Td)/(17.271-$Td);
return $Td;
}
// NTP
function query_time_server ($timeserver, $socket)
{
$fp = fsockopen($timeserver,$socket,$err,$errstr,5);
# parameters: server, socket, error code, error text, timeout
if($fp)
{
fputs($fp, "\n");
$timevalue = fread($fp, 49);
fclose($fp); # close the connection
}
else
{
$timevalue = " ";
}
$ret = array();
$ret[] = $timevalue;
$ret[] = $err; # error code
$ret[] = $errstr; # error text
//echo "<br><br>Err: ".$err."/".$errstr."<br><br>";
return($ret);
}
//
function getCurrentDate($format = "d/m/Y - H:i:s"){
$timeserver = "ntp.pads.ufrj.br";
$timercvd = query_time_server($timeserver, 37);
//if no error from query_time_server
if(!$timercvd[1]) {
$timevalue = bin2hex($timercvd[0]);
$timevalue = abs(HexDec('7fffffff') - HexDec($timevalue) - HexDec('7fffffff'));
$tmestamp = $timevalue - 2208988800; # convert to UNIX epoch time stamp
return date($format, $tmestamp);
}
return null;
}
// SUNCE
function sunce($Lat, $Lon, $Ofs){
$Zen = 90.60;
$Snr = date_sunrise(time(), SUNFUNCS_RET_STRING, $Lat, $Lon, $Zen, $Ofs);
$SnrN = date_sunrise(time(), SUNFUNCS_RET_DOUBLE, $Lat, $Lon, $Zen, $Ofs);
$Sns = date_sunset(time(), SUNFUNCS_RET_STRING, $Lat, $Lon, $Zen, $Ofs);
$SnsN = date_sunset(time(), SUNFUNCS_RET_DOUBLE, $Lat, $Lon, $Zen, $Ofs);
$Obd = $SnsN-$SnrN;
$ObdS = floor($Obd);
$ObdM = floor(($Obd-$ObdS)*60.0);
//$html=date("D d M Y")."<br><b>".$Loc."</b> GMT+".$Ofs."h:<br>(N".$Lat."-E".$Lon.")";
$html="";
$html= $html." ".'Izlazak - ' .$Snr;
$html= $html.", ".'zalazak - ' .$Sns;
$html= $html.", ".'obdanica - ' .$ObdS.":".$ObdM;
return $html;
}
// Determine if DST is currently in effect
function isDST(){
$server_timezone = date_default_timezone_get();
date_default_timezone_set("Europe/Belgrade");
$is_dst = date('I');
date_default_timezone_set($server_timezone);
return $is_dst;
}
// Meseceve mene (0-7)
function GetMoon($y, $m, $d)
{
$c = 0;
$e = 0;
$jd = 0.0;
$b = 0;
if ($m < 3) {
$y = $y -1;
$m = $m + 12;
}
$m = $m + 1;
$c = 365.25 * $y;
$e = 30.6 * $m;
$jd = $c + $e + $d-694039.09;
$jd /= 29.53;
$b = floor(jd);
$jd = $jd - $b;
$b = round($jd * 8);
$b = $b & 7;
return $b;
}
// Tabela heder
function tabhead()
{
echo "<tr>";
echo "<th>Vreme</th>";
echo "<th>Temp</th>";
echo "<th>Humi</th>";
echo "<th>HTI</th>";
echo "<th>Baro</th>";
echo "<th>BMSL</th>";
echo "<th>Sun</th>";
echo "<th>Wind</th>";
echo "<th>CO</th>";
//echo "<th>CO2</th>";
echo "<th>PM2.5</th>";
echo "<th>PM10</th>";
echo "</tr>";
return;
}
// Tabela bodi
function tabbodi($row,$p0,$nap)
{
echo "<tr>";
$dt=$row['dattim'];
$go=substr($dt,0,4);
$me=substr($dt,5,2);
$da=substr($dt,8,2);
$vr=substr($dt,11,5);
//echo "<td>".$da."/".$me."/".$go." - ".$vr."</td>";
echo "<td>".$da."/".$me." - ".$vr."</td>";
$pt=round($row['temp'],1);
$ph=round($row['humi'],1);
echo "<td>".$pt."</td>";
echo "<td>".$ph."</td>";
//
if (($pt>25)and($ph>25)){
$hi=heatIndex($pt, $ph);
echo "<td>".round($hi,1)."</td>";
}else{
echo "<td>n/a</td>";
}
//
$pb=round($row['baro'],1);
echo "<td>".$pb."</td>";
$msl=$pb+$p0-$nap;
if ($msl>500){
echo "<td>".$msl."</td>";
}else{
echo "<td> </td>";
}
echo "<td>".$row['sun']."</td>";
echo "<td>".$row['wind']."</td>";
echo "<td>".round($row['co'],1)."</td>";
//echo "<td>".$row['co2']."</td>";
echo "<td>".round($row['pm25'],1)."</td>";
echo "<td>".round($row['pm10'],1)."</td>";
echo "</tr>";
return;
}
// Trend 1h
function prognoza($dbh)
{
$sql = "SELECT * FROM datalog WHERE amsid='CA0' ORDER BY dattim DESC LIMIT 4";
$result = mysqli_query($dbh, $sql) or die(mysqli_error($dbh));
$row = mysqli_fetch_array($result);
$y4=$row['baro'];
$z4=$row['temp'];
$row = mysqli_fetch_array($result);
$row = mysqli_fetch_array($result);
$row = mysqli_fetch_array($result);
$y1=$row['baro'];
$z1=$row['temp'];
//
$dy=round(($y4-$y1),1);
$dz=round(($z4-$z1),1);
//
if ($dy>0.0) {
$trend="Izlepšavanje ka sunčanom";
}
if ($dy<0.0) {
$trend="Naoblačenje sa mogućim padavinama";
}
if ($dy==0.0) {
$trend="Nepromenljivo";
}
if ($dz>0.0) {
$topl="toplije";
}
if ($dz<0.0) {
$topl="hladnije";
}
if ($dz==0.0) {
$topl="temp. bez promena";
}
//
echo $trend.", ".$topl;
//
return;
}
mysqli_close($dbh);
?>
<!--
<a href="javascript:history.go(-1)"><img src="img/back.png"></a><a href="wemos-d1.htm"><img src="img/info.png"></a><a href="srbija.php"><img src="img/bar.png"></a>
<p style='color:gray;'><?php echo str_repeat(" ", 70);?>TIM-CA, 2021.</p>
-->
</div>
<?php include "fut.php";?>
</body>
</html>