<?php

include('Global.php');

// Various measure libraries
include('Linux.php');
include('WoW.php');
include('Centrala.php');
include('Routerboard.php');

function ProcessMeasure()
{
  $Values[3] = MemoryUsage();
  $Values[4] = CpuUsage();
  $Values[5] = WoWPlayersOnline();
  $Values[6] = WoWEmulatorRestartCount();
  $Values[7] = DiskFree('/');
  $Values[8] = WoWAccountCount();
  $Values[10] = WoWGMOnline();
  $NetworkState = GetNetworkState();
  $Values[11] = round($NetworkState['eth1']['DownAverage']);
  $Values[12] = round($NetworkState['eth1']['UpAverage']);
  $Values[13] = WoWCharacterCount();
  $Values[14] = WoWGuildCount();
  $Values[15] = WoWEmulatorAvailability();
  $Values[16] = Ping();
  $Values[17] = TeamSpeak();
  $Values[18] = WoWTranslatedQuestsCount();
  $Values[18] = DiskUtilization('sda');
  $RBNetworkState = GetRouterBoardNetworkState();
  $Values[19] = $RBNetworkState['DownAverage'] * 8;
  $Values[20] = $RBNetworkState['UpAverage'] * 8;
  $Values[21] = HostsOnline();
  $Values[22] = MemberCount();
  $Values[23] = ProcessorTemperature('Core0');

  foreach($Values as $Index => $Value)
  {
    file_get_contents($URL.'?MeasureId='.$Index.'&Value='.$Value);
  }
}

function RepeatFunction($Period, $Function)
{
  while(1)
  {
    $StartTime = time();
    $Function();
    $EndTime = time();
    $Delay = $Period - ($EndTime - $StartTime);
    if($Delay < 0) $Delay = 0;

    echo('Waiting '.$Delay.' seconds...'."\n");
    sleep($Delay);
  }
}

RepeatFunction(60 * 60, 'ProcessMeasure');
