X-Git-Url: https://git.rvb.name/weathermon.git/blobdiff_plain/e4e1557426f8e5ca10ca616140528939d86426cd..fab7ecb0a35af3393e87edd3dfd36f72abba4911:/web/archive.php
diff --git a/web/archive.php b/web/archive.php
index 79ef6c4..1b21599 100644
--- a/web/archive.php
+++ b/web/archive.php
@@ -23,7 +23,7 @@
}
a:visited { text-decoration: none; color:darkblue; }
a:link { text-decoration: none; color:blue; }
- a:hover { text-decoration: none; color:navy; }
+ a:hover { text-decoration: underline; color:navy; }
@@ -31,6 +31,22 @@
include('config_local.php');
include('calendar.php');
+include('units.php');
+
+ $client_ip = $_SERVER["REMOTE_ADDR"];
+
+ if ((strpos($client_ip, "192.168.") === 0) || (strpos($client_ip, "10.8.") === 0)
+ || (strpos($client_ip, "2a02:578:5002:8174:") === 0)
+ || (strpos($client_ip, "2a02:578:5002:196::2") === 0)) {
+
+ $local_net = True;
+
+ } else {
+
+ $local_net = False;
+
+ }
+
$year = $_REQUEST['year'];
$month = $_REQUEST['month'];
@@ -57,7 +73,7 @@ if (! $year) {
fetch(PDO::FETCH_ASSOC)) {
?>
- ÐаннÑе за год
+ ÐаннÑе за год
prepare (
'select
s.id sensor,p.id param,s.s_description sensor_name,p.st_description param_name,
@@ -127,7 +155,7 @@ if (! $year) {
v.parameter=p.id and
p.st_unit=u.id and
v.day>=str_to_date(\''.$year.'-01-01\',\'%Y-%m-%d\') and
- v.day fetchAll(PDO::FETCH_ASSOC);
foreach ($sensors as $sensor) {
-
+
+ $units = get_unit($db,$sensor['param']);
+ $from_unit = $units['from'];
+ $to_unit = $units['to'];
+ $param_unit = $units['name'];
+
+ $min_val = convert_unit($db,$sensor['min_value'],$from_unit,$to_unit);
+ $max_val = convert_unit($db,$sensor['max_value'],$from_unit,$to_unit);
+
echo ''.$sensor['param_name'].'('.$sensor['sensor_name'].')
';
echo '';
echo '';
- echo 'ÐинималÑное знаÑение за год '.$sensor['min_value'].' '.$sensor['unit'].' ';
- echo 'ÐакÑималÑное знаÑение за год '.$sensor['max_value'].' '.$sensor['unit'].' ';
+ echo 'ÐинималÑное знаÑение за год '.$min_val.' '.$param_unit.' ';
+ echo 'ÐакÑималÑное знаÑение за год '.$max_val.' '.$param_unit.' ';
echo ' |
';
echo '
';
@@ -172,14 +208,26 @@ if (! $year) {
$month = sprintf('%02d',$month);
$year = sprintf('%04d',$year);
+ if (!$local_net) {
+
+ $filter = ' and s.is_public=1';
+
+ } else {
+
+ $filter = '';
+
+ }
+
+
$q = $db -> prepare(
'select
date_format(day,\'%d\') as day
from
- sensors_ranges
+ sensors_ranges r,sensors s
where
+ s.id=r.sensor and
day>=str_to_date(\''.$year.'-'.$month.'-01\',\'%Y-%m-%d\') and
- day prepare (
'select
@@ -212,7 +271,7 @@ if (! $year) {
v.parameter=p.id and
p.st_unit=u.id and
v.day>=str_to_date(\''.$year.'-'.$month.'-01\',\'%Y-%m-%d\') and
- v.day fetchAll(PDO::FETCH_ASSOC);
foreach ($sensors as $sensor) {
+
+ $units = get_unit($db,$sensor['param']);
+ $from_unit = $units['from'];
+ $to_unit = $units['to'];
+ $param_unit = $units['name'];
+
+ $min_val = convert_unit($db,$sensor['min_value'],$from_unit,$to_unit);
+ $max_val = convert_unit($db,$sensor['max_value'],$from_unit,$to_unit);
echo ''.$sensor['param_name'].'('.$sensor['sensor_name'].')
';
echo '';
echo '';
- echo 'ÐинималÑное знаÑение за меÑÑÑ '.$sensor['min_value'].' '.$sensor['unit'].' ';
- echo 'ÐакÑималÑное знаÑение за меÑÑÑ '.$sensor['max_value'].' '.$sensor['unit'].' ';
+ echo 'ÐинималÑное знаÑение за меÑÑÑ '.$min_val.' '.$param_unit.' ';
+ echo 'ÐакÑималÑное знаÑение за меÑÑÑ '.$max_val.' '.$param_unit.' ';
echo ' |
';
echo '
';
@@ -245,6 +312,17 @@ if (! $year) {
$year = sprintf('%04d',$year);
$day = sprintf('%02d',$day);
+ if (!$local_net) {
+
+ $filter = ' and s.is_public=1';
+
+ } else {
+
+ $filter = '';
+
+ }
+
+
$q = $db -> prepare(
'select
distinct v.sensor as sensor_id,s.s_description,p.id as param_id,p.st_description
@@ -253,7 +331,7 @@ if (! $year) {
where
v.day=str_to_date(\''.$year.'-'.$month.'-'.$day.'\',\'%Y-%m-%d\')
and v.sensor=s.id
- and v.parameter=p.id'
+ and v.parameter=p.id'.$filter
);
$q -> execute();