<?php

include_once(dirname(__FILE__).'/../Application/System.php');
$System = new System();
$System->ShowPage = false;
$System->Run();

$Addr = new NetworkAddressIPv6();

$DbResult = $System->Database->select('NetworkInterface', 'Id, LocalIP, MAC', 'LocalIP != ""');
while($DbRow = $DbResult->fetch_assoc())
{
  $DbResult2 = $System->Database->select('NetworkSubnet', 'AddressRangeIPv6',
    'CompareNetworkPrefix(INET_ATON(AddressRange), INET_ATON("'.$DbRow['LocalIP'].'"), Mask) AND
      (AddressRangeIPv6 != "")');
  if($DbResult2->num_rows > 0)
  {
    $Subnet = $DbResult2->fetch_assoc();
    $SubnetParts = explode('/', $Subnet['AddressRangeIPv6']);

    $Addr->AddressFromString($SubnetParts[0]);
    $Addr->EncodeMAC($DbRow['MAC']);
    echo($Addr->AddressToString().' '.$DbRow['MAC']."\n");

    $System->Database->update('NetworkInterface', 'Id='.$DbRow['Id'], array('IPv6' => $Addr->AddressToString()));
  }
}
