function get_all_children($id, $family) { $all_child_ip = IP_Database::get_all_ip($id, $family); $ips_to_delete = array(); foreach ($all_child_ip as $a_id => $addr) { $temp_netblock = new IP_Database($a_id); $t_all_child = IP_Database::get_all_ip($temp_netblock->get_netblock_id(), $temp_netblock->get_family()); if (!empty($t_all_child)) { $ips_to_delete = array_merge($ips_to_delete, get_all_children($a_id, $family)); } $ips_to_delete = array_merge($ips_to_delete, array($a_id)); } return $ips_to_delete; }
} if (isset($_POST['stub'])) { $stub = $_POST['stub']; $ip_2->set_stub($stub); } $ip_2->set_tags($tags); if (!$ip_2->update()) { return false; } } if (isset($_GET['stub'])) { $stub_id = explode("@", $_GET['stub']); $ip_db = new IP_Database($stub_id[1]); $ip_db->set_stub($stub_id[0]); $ip_manager = new Netblock(); $ip_manager->set_IP($ip_db->get_address_int() . "/" . $ip_db->get_subnet_size(), $ip_db->get_family()); if ($ip_db->update()) { if ($ip_db->is_stub() == 0) { if ($ip_manager->get_family() == 4) { if ($ip_db->get_subnet_size() != 32) { echo "Split <select name='split'>"; for ($i = $ip_manager->get_length(); $i < 32; $i++) { echo "<option value='" . ($i + 1) . "'>" . ($i + 1) . "</option>"; } echo "</select>"; echo " <input type='submit' name='ip_split_submit' value='SPLIT NETWORK' />"; } else { echo "<span style='color:red; font-size:14px'>NO MORE SPLITS</span>"; } } else { if ($ip_manager->get_family() == 6) {
function export_csv() { if (isset($_GET['report_name']) && $_GET['report_name'] != '') { $name = $_GET['report_name']; } else { return "<b>Sorry invalid report name " . $_GET['report_name'] . "</b>"; } if (isset($_GET['vlan_id'])) { if ($_GET['vlan_id'] == 'showALL') { $vlan_manager = new Vlan_database(); $all_vlans = $vlan_manager->get_all_vlans(); $num_max = 4096; $heading = array("VLAN ID", "Name", "Status", "Location", "Assigned To", "VLAN Distinguisher"); $content = implode(",", $heading); $content .= "\n"; $arr = array(); foreach ($all_vlans as $id => $v_id) { $arr[$v_id] = $id; } for ($i = 1; $i < $num_max; $i++) { $data = array(); if (in_array($i, $all_vlans)) { foreach ($all_vlans as $id => $v_id) { if ($v_id == $i) { $my_vlan = new Vlan_database($id); if ($my_vlan->get_id() !== NULL) { $data = array(); array_push($data, $my_vlan->get_vlan_id()); array_push($data, $my_vlan->get_name()); array_push($data, $my_vlan->get_status()); array_push($data, $my_vlan->get_location_name()); array_push($data, $my_vlan->get_assigned_to_name()); array_push($data, $my_vlan->get_vlan_distinguisher()); $content .= stripslashes(implode(",", $data)); $content .= "\n"; } } } } else { //if it doesn't create a free vlan array_push($data, $i); array_push($data, ""); array_push($data, "FREE"); array_push($data, ""); array_push($data, ""); array_push($data, ""); $content .= stripslashes(implode(",", $data)); $content .= "\n"; } } } else { $results = Vlan_database::Search($_GET['vlan_id'], $_GET['name'], $_GET['status'], $_GET['location'], $_GET['assign'], $_GET['distinguish'], $_GET['notes']); $heading = array("VLAN ID", "Name", "Status", "Location", "Assigned To", "VLAN Distinguisher"); $content = implode(",", $heading); $content .= "\n"; foreach ($results as $v_id => $vlan_id) { $data = array(); $my_vlan = new Vlan_database($v_id); array_push($data, $my_vlan->get_vlan_id()); array_push($data, $my_vlan->get_name()); array_push($data, $my_vlan->get_status()); array_push($data, $my_vlan->get_location_name()); array_push($data, $my_vlan->get_assigned_to_name()); array_push($data, $my_vlan->get_vlan_distinguisher()); $content .= stripslashes(implode(",", $data)); $content .= "\n"; } } } else { $title = $_GET['title']; $str_tag = $_GET['tags']; while (strpos($str_tag, ", ")) { $str_tag = str_replace(", ", ",", $str_tag); } $tags = explode(",", $str_tag); if (count($tags) == 1 && $tags[0] == "") { $tags = array(); } $location = $_GET['location']; $owner = $_GET['owner']; $assigned_to = $_GET['assigned']; $status = $_GET['status']; $IP_Search = new IP_Database(); $s_results = $IP_Search->search($title, $tags, $location, $owner, $assigned_to, $status); $heading = array("Master Block", "Prefix", "Length", "Family", "Status", "Location", "Owner", "Assigned To", "Tags"); $content = implode(",", $heading); $content .= "\n"; foreach ($s_results as $id => $n_name) { $data = array(); $my_netblock = new IP_Database($id); $master_id = IP_Database::get_master($id); $master_block = new IP_Database($master_id); $ip = explode("/", $my_netblock->get_address_ip()); array_push($data, $master_block->get_address_ip()); array_push($data, $ip[0]); array_push($data, $my_netblock->get_subnet_size()); array_push($data, $my_netblock->get_family()); array_push($data, $my_netblock->get_status()); array_push($data, $my_netblock->get_location_name()); array_push($data, $my_netblock->get_owner_name()); array_push($data, $my_netblock->get_assigned_to_name()); $tags = $my_netblock->get_tags(); $n_tags = stripslashes(implode(" ", $tags)); array_push($data, $n_tags); $content .= stripslashes(implode(",", $data)); $content .= "\n"; } } return $content; }