<?php

include_once('Application/Core.php');

$Core = new Core();
$Core->UseSession = false;
$Core->ShowPage = false;
$Core->Run();

$AddedValues = 0;

$Time = time();
if (array_key_exists('Time', $_GET)) $Time = $_GET['Time'] * 1;

// Try to load single value
if (array_key_exists('MeasureId', $_GET))
{
  $MeasureId = $_GET['MeasureId'] * 1;
  if (array_key_exists('Avg', $_GET)) $Avg = $_GET['Avg'] * 1;
  else if (array_key_exists('Value', $_GET)) $Avg = $_GET['Value'] * 1; // For back compatibility
  else die('Missing avg value parameter.');

  if (array_key_exists('Min', $_GET)) $Min = $_GET['Min'] * 1; else $Min = $Avg;
  if (array_key_exists('Max', $_GET)) $Max = $_GET['Max'] * 1; else $Max = $Avg;
  AddValue($MeasureId, $Time, $Min, $Avg, $Max);
  $AddedValues++;
}

// Try to load multiple values
$I = 1;
while (array_key_exists('MeasureId'.$I, $_GET) and array_key_exists('Value'.$I, $_GET))
{
  $MeasureId = $_GET['MeasureId'.$I] * 1;
  if (array_key_exists('Avg'.$I, $_GET)) $Avg = $_GET['Avg'.$I] * 1;
  else if (array_key_exists('Value'.$I, $_GET)) $Avg = $_GET['Value'.$I] * 1; // For back compatibility
  else die('Missing avg value parameter.');

  if (array_key_exists('Min'.$I, $_GET)) $Min = $_GET['Min'.$I] * 1; else $Min = $Avg;
  if (array_key_exists('Max'.$I, $_GET)) $Max = $_GET['Max'.$I] * 1; else $Max = $Avg;
  AddValue($MeasureId, $Time, $Min, $Avg, $Max);
  $AddedValues++;
  $I++;
}

if ($AddedValues == 0) echo('Nebyly zadány potřebné parametry MeasureId a Value.'."\n");

function AddValue(int $MeasureId, int $Time, float $Min, float $Avg, float $Max): void
{
  global $Core;

  $Measure = new Measure($Core->Database);
  $Measure->Load($MeasureId);
  $HostName = gethostbyaddr($_SERVER['REMOTE_ADDR']);
  if (($HostName == $Measure->Data['PermissionAdd']) or 
    ($_SERVER['REMOTE_ADDR'] == gethostbyname($Measure->Data['PermissionAdd'])))
  {
    $Measure->AddValue($Time, $Min, $Avg, $Max);
    echo('Hodnota avg: '.$Avg.', min: '.$Min.', max: '.$Max.' uložena'."\n");
  } else echo('Nemáte oprávnění k aktualizaci zadané veličiny!<br>'.
    'Vaše adresa: '.$HostName.'('.$_SERVER['REMOTE_ADDR'].')'."\n");
}
