better ipv4 address removal

git-svn-id: http://www.observium.org/svn/observer/trunk@405 61d68cd4-352d-0410-923a-c4978735b2b8
This commit is contained in:
Adam Amstrong
2009-04-14 12:07:17 +00:00
parent 5dcdd18bbc
commit 430a7ada39
2 changed files with 1135 additions and 0 deletions

View File

@@ -33,10 +33,27 @@
echo("+");
} else { echo("."); }
$full_address = "$oid/$cidr";
$valid_v4[$full_address] = 1;
} else { echo("!"); }
}
$sql = "SELECT * FROM ipv4_addresses AS A, interfaces AS I WHERE I.device_id = '".$device['device_id']."' AND A.interface_id = I.interface_id";
$data = mysql_query($sql);
while($row = mysql_fetch_array($data)) {
$full_address = $row['ipv4_address'] . "/" . $row['ipv4_prefixlen'];
if(!$valid_v4[$full_address]) {
echo("-");
$query = @mysql_query("DELETE FROM `ipv4_addresses` WHERE `ipv4_address_id` = '".$row['ipv4_address_id']."'");
if(!mysql_result(mysql_query("SELECT count(*) FROM ipv4_addresses WHERE ipv4_network_id = '".$row['ipv4_network_id']."'"),0)) {
$query = @mysql_query("DELETE FROM `ipv4_networks` WHERE `ipv4_network_id` = '".$row['ipv4_network_id']."'");
}
}
}
echo("\n");
unset($valid_v4);
?>

File diff suppressed because it is too large Load Diff