From 477afeea09ef7004a235b8db07dd9218ce420c3a Mon Sep 17 00:00:00 2001 From: Adam Amstrong Date: Wed, 27 Apr 2011 14:59:50 +0000 Subject: [PATCH] reindent a little git-svn-id: http://www.observium.org/svn/observer/trunk@2182 61d68cd4-352d-0410-923a-c4978735b2b8 --- html/pages/device/routing.inc.php | 3 +- .../pages/device/routing/overview/cef.inc.php | 0 .../device/routing/overview/ospf.inc.php | 27 +++- includes/polling/ospf.inc.php | 118 +++++++++++------- 4 files changed, 96 insertions(+), 52 deletions(-) create mode 100644 html/pages/device/routing/overview/cef.inc.php diff --git a/html/pages/device/routing.inc.php b/html/pages/device/routing.inc.php index 9c3eda34f..fbdd5b66c 100644 --- a/html/pages/device/routing.inc.php +++ b/html/pages/device/routing.inc.php @@ -53,9 +53,10 @@ if (is_file("pages/device/routing/".mres($_GET['opta']).".inc.php")) if (!is_integer($g_i/2)) { $row_colour = $list_colour_a; } else { $row_colour = $list_colour_b; } echo('
'); - echo('
'.$type_text[$type].'
'); + echo('
'.$type_text[$type].''); include("pages/device/routing/overview/".mres($type).".inc.php"); echo('
'); + echo('
'); } else { $graph_title = $type_text[$type]; $graph_type = "device_".$type; diff --git a/html/pages/device/routing/overview/cef.inc.php b/html/pages/device/routing/overview/cef.inc.php new file mode 100644 index 000000000..e69de29bb diff --git a/html/pages/device/routing/overview/ospf.inc.php b/html/pages/device/routing/overview/ospf.inc.php index 6051ffbb3..1414fbbb0 100644 --- a/html/pages/device/routing/overview/ospf.inc.php +++ b/html/pages/device/routing/overview/ospf.inc.php @@ -1,5 +1,26 @@ "); -print_r(mysql_fetch_assoc(mysql_query("SELECT * FROM `ospf_instances` WHERE `device_id` = '".$device['device_id']."'"))); -echo(""); + +## We are assuming there will only ever be one instance, because OSPF-MIB is retarded. + +$instance = mysql_fetch_assoc(mysql_query("SELECT * FROM `ospf_instances` WHERE `device_id` = '".$device['device_id']."'")); + +$area_count = mysql_result(mysql_query("SELECT COUNT(*) FROM `ospf_areas` WHERE `device_id` = '".$device['device_id']."'"),0); +$port_count = mysql_result(mysql_query("SELECT COUNT(*) FROM `ospf_ports` WHERE `device_id` = '".$device['device_id']."'"),0); + +echo(" + + + + + + + + + + + + +
Router IDArea CountPort CountNeighbour Count
".$instance['ospfRouterId']."".$area_count."".$port_count."
+"); + ?> diff --git a/includes/polling/ospf.inc.php b/includes/polling/ospf.inc.php index 0838208db..0d5d3c3e8 100644 --- a/includes/polling/ospf.inc.php +++ b/includes/polling/ospf.inc.php @@ -13,58 +13,67 @@ $ospf_oids_db = array('ospfRouterId', 'ospfAdminStat', 'ospfVersionNumber', 'osp $query = mysql_query("SELECT * FROM `ospf_instances` WHERE `device_id` = '".$device['device_id']."'"); while($entry = mysql_fetch_assoc($query)) { - $ospf[$entry['ospf_instance_id']] = $entry; + $ospf_instances_db[$entry['ospf_instance_id']] = $entry; } ### Pull data from device -$ospf_data = snmpwalk_cache_oid($device, "OSPF-MIB::ospfGeneralGroup", array(), "OSPF-MIB"); -foreach($ospf_data as $ospf_instances => $ospf_entry) +$ospf_instances_poll = snmpwalk_cache_oid($device, "OSPF-MIB::ospfGeneralGroup", array(), "OSPF-MIB"); +foreach($ospf_instances_poll as $ospf_instance_id => $ospf_entry) { ### If the entry doesn't already exist in the prebuilt array, insert into the database and put into the array - if(!isset($ospf[$ospf_instances])) + if(!isset($ospf_instances_db[$ospf_instance_id])) { - $query = "INSERT INTO `ospf_instances` (`device_id`, `ospf_instance_id`) VALUES ('".$device['device_id']."','".$ospf_instances."')"; + $query = "INSERT INTO `ospf_instances` (`device_id`, `ospf_instance_id`) VALUES ('".$device['device_id']."','".$ospf_instance_id."')"; echo($query); mysql_query($query); echo(mysql_error()); echo("+"); - $entry = mysql_fetch_assoc(mysql_query("SELECT * FROM `ospf_instances` WHERE `device_id` = '".$device['device_id']."' AND `ospf_instance_id` = '".$ospf_instances."'")); - $ospf[$entry['ospf_instance_id']] = $entry; + $entry = mysql_fetch_assoc(mysql_query("SELECT * FROM `ospf_instances` WHERE `device_id` = '".$device['device_id']."' AND `ospf_instance_id` = '".$ospf_instance_id."'")); + $ospf_instances_db[$entry['ospf_instance_id']] = $entry; } } +if($debug) { + echo("\nPolled: "); + print_r($ospf_instances_poll); + echo("Database: "); + print_r($ospf_instances_db); + echo("\n"); +} + ### Loop array of entries and update -if (is_array($ospf)) +if (is_array($ospf_instances_db)) { - foreach($ospf as $ospf_db) + foreach($ospf_instances_db as $ospf_instance_db) { - $ospf_poll = $ospf_data[$ospf_db['ospf_instance_id']]; + $ospf_instance_poll = $ospf_instances_poll[$ospf_db['ospf_instance_id']]; foreach ($ospf_oids_db as $oid) { // Loop the OIDs - if ($ospf_db[$oid] != $ospf_poll[$oid]) + if ($ospf_instance_db[$oid] != $ospf_instance_poll[$oid]) { // If data has changed, build a query - $update .= ", `$oid` = '".mres($ospf_poll[$oid])."'"; - #log_event("$oid -> ".$this_port[$oid], $device, 'interface', $port['interface_id']); + $ospf_instance_update .= ", `$oid` = '".mres($ospf_instance_poll[$oid])."'"; + #log_event("$oid -> ".$this_port[$oid], $device, 'ospf', $port['interface_id']); ## FIXME } } if($update) { - $query = "UPDATE `ospf_instances` SET `ospf_instance_id` = '".$ospf_db['ospf_instance_id']."'".$update." WHERE `device_id` = '".$device['device_id']."' AND `ospf_instance_id` = '".$ospf_instances."'"; - echo($query); + $query = "UPDATE `ospf_instances` SET `ospf_instance_id` = '".$ospf_instance_db['ospf_instance_id']."'".$ospf_instance_update." WHERE `device_id` = '".$device['device_id']."' AND `ospf_instance_id` = '".$ospf_instance_id."'"; + if($debug) {echo($query);} ## Debug mysql_query($query); - echo(mysql_error()); + if($debug) {echo(mysql_error());} ## Debug echo("U"); - unset($update); + unset($ospf_instance_update); } else { echo("."); } - unset($ospf_poll); - unset($ospf_db); + unset($ospf_instance_poll); + unset($ospf_instance_db); + $ospf_instance_count++; } } -unset($ospf_data); -unset($ospf); +unset($ospf_instances_poll); +unset($ospf_instances_db); echo(" Areas: "); @@ -92,30 +101,42 @@ foreach($ospf_areas_poll as $ospf_area_id => $ospf_area) } } +if($debug) { + echo("\nPolled: "); + print_r($ospf_areas_poll); + echo("Database: "); + print_r($ospf_areas_db); + echo("\n"); +} + + ### Loop array of entries and update -if (is_array($ospf_areas_db)){ foreach($ospf_areas_db as $ospf_area_db) -{ - $ospf_area_poll = $ospf_areas_poll[$ospf_area_db['ospfAreaId']]; - foreach ($ospf_area_oids as $oid) - { ## Loop the OIDs - if ($ospf_area_db[$oid] != $ospf_area_poll[$oid]) - { ## If data has changed, build a query - $update .= ", `$oid` = '".mres($ospf_area_poll[$oid])."'"; -# log_event("$oid -> ".$this_port[$oid], $device, 'interface', $port['interface_id']); - } - } - if($update) +if (is_array($ospf_areas_db)) +{ + foreach($ospf_areas_db as $ospf_area_db) { - mysql_query("UPDATE `ospf_areas` SET `ospfAreaId` = '".$ospf_area_db['ospfAreaId']."'".$update." WHERE `device_id` = '".$device['device_id']."' AND `ospfAreaId` = '".$ospf_area_id."'"); - echo("UPDATE `ospf_instances` SET `ospfAreaId` = '".$ospf_area_db['ospfAreaId']."'".$update." WHERE `device_id` = '".$device['device_id']."' AND `ospfAreaId` = '".$ospf_area_id."'"); - echo("U"); - unset($update); - } else { - echo("."); + $ospf_area_poll = $ospf_areas_poll[$ospf_area_db['ospfAreaId']]; + foreach ($ospf_area_oids as $oid) + { ## Loop the OIDs + if ($ospf_area_db[$oid] != $ospf_area_poll[$oid]) + { ## If data has changed, build a query + $ospf_area_update .= ", `$oid` = '".mres($ospf_area_poll[$oid])."'"; + #log_event("$oid -> ".$this_port[$oid], $device, 'interface', $port['interface_id']); ## FIXME + } + } + if($update) + { + mysql_query("UPDATE `ospf_areas` SET `ospfAreaId` = '".$ospf_area_db['ospfAreaId']."'".$ospf_area_update." WHERE `device_id` = '".$device['device_id']."' AND `ospfAreaId` = '".$ospf_area_id."'"); + if($debug) { echo("UPDATE `ospf_instances` SET `ospfAreaId` = '".$ospf_area_db['ospfAreaId']."'".$ospf_area_update." WHERE `device_id` = '".$device['device_id']."' AND `ospfAreaId` = '".$ospf_area_id."'");} + echo("U"); + unset($ospf_area_update); + } else { + echo("."); + } + unset($ospf_area_poll); + unset($ospf_area_db); } - unset($ospf_area_poll); - unset($ospf_area_db); -}} +} unset($ospf_areas_db); unset($ospf_areas_poll); @@ -157,6 +178,7 @@ if($debug) { print_r($ospf_ports_db); echo("\n"); } + ### Loop array of entries and update if (is_array($ospf_ports_db)){ foreach($ospf_ports_db as $ospf_port_db) @@ -175,17 +197,17 @@ if (is_array($ospf_ports_db)){ { // Loop the OIDs if ($ospf_port_db[$oid] != $ospf_port_poll[$oid]) { // If data has changed, build a query - $update .= ", `$oid` = '".mres($ospf_port_poll[$oid])."'"; - # log_event("$oid -> ".$this_port[$oid], $device, 'interface', $port['interface_id']); + $ospf_port_update .= ", `$oid` = '".mres($ospf_port_poll[$oid])."'"; + #log_event("$oid -> ".$this_port[$oid], $device, 'ospf', $port['interface_id']); ## FIXME } } if($update) { - $update = "UPDATE `ospf_ports` SET `ospf_port_id` = '".$ospf_port_db['ospf_port_id']."'".$update." WHERE `device_id` = '".$device['device_id']."' AND `ospf_port_id` = '".$ospf_port_id."'"; - mysql_query($update); - echo("$update"); + $query = "UPDATE `ospf_ports` SET `ospf_port_id` = '".$ospf_port_db['ospf_port_id']."'".$ospf_port_update." WHERE `device_id` = '".$device['device_id']."' AND `ospf_port_id` = '".$ospf_port_id."'"; + mysql_query($query); + if($debug) { echo("$query"); } echo("U"); - unset($update); + unset($ospf_port_update); } else { echo("."); }