X-Git-Url: https://git.rvb.name/weathermon.git/blobdiff_plain/e4e1557426f8e5ca10ca616140528939d86426cd..299b29f352765c8fa399aea6157f62356ef036e8:/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();