<?php

if(isset($_SERVER['REMOTE_ADDR'])) die();
include('../../global.php');
include('../routerboard.php');
$Path = array('tool', 'netwatch');

$Routerboard = new Routerboard();
$Routerboard->UserName = $Config['MainRouter']['UserName'];
$Routerboard->Timeout = $Config['MainRouter']['ConnectTimeout'];
$Routerboard->Debug = true;

$DbResult3 = $Database->query('SELECT DISTINCT (`DHCP`) FROM `NetworkSubnet` WHERE `Member` = 0');
while($Router = $DbResult3->fetch_assoc())
{
  echo($Router['DHCP']."\n");
  $Routerboard->HostName = $Router['DHCP'];
  $Items = array();
  $DbResult = $Database->query('SELECT * FROM `NetworkSubnet` WHERE `DHCP`="'.$Router['DHCP'].'"');
  while($Subnet = $DbResult->fetch_assoc())
  {
    //print_r($Subnet);
    $I = explode('.', $Subnet['AddressRange']);
    $I = $I[2];
    $DbResult2 = $Database->query('SELECT NetworkInterface.*, NetworkDevice.Name AS DeviceName FROM NetworkInterface LEFT JOIN NetworkDevice ON NetworkDevice.Id = NetworkInterface.Device WHERE CompareNetworkPrefix(INET_ATON(LocalIP), INET_ATON("'.$Subnet['AddressRange'].'"), '.$Subnet['Mask'].') AND (NetworkDevice.Used = 1) ORDER BY NetworkInterface.LocalIP');
    while($Interface = $DbResult2->fetch_assoc())
    {
      $Name = $Interface['DeviceName'];
      if($Interface['Name'] != '') $Name .= '-'.$Interface['Name'];
      echo($Name.', ');
      $Items[] = array('host' => $Interface['LocalIP'], 'interval' => '00:01:00', 'comment' => $Name);
    }
  }
  $Routerboard->ListUpdate($Path, array('host', 'interval', 'comment'), $Items);    
  echo("\n");
}

?>
