mirror of
				https://github.com/librenms/librenms.git
				synced 2024-10-07 16:52:45 +00:00 
			
		
		
		
	git-svn-id: http://www.observium.org/svn/observer/trunk@2324 61d68cd4-352d-0410-923a-c4978735b2b8
		
			
				
	
	
		
			88 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			88 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| function printEntPhysical($ent, $level, $class)
 | |
| {
 | |
|   global $device;
 | |
| 
 | |
|   $ents = dbFetchRows("SELECT * FROM `entPhysical` WHERE device_id = ? AND entPhysicalContainedIn = ? ORDER BY entPhysicalContainedIn,entPhysicalIndex", array($device['device_id'], $ent));
 | |
|   foreach ($ents as $ent)
 | |
|   {
 | |
|     echo("
 | |
|  <li class='$class'>");
 | |
| 
 | |
|     if ($ent['entPhysicalClass'] == "chassis") { echo("<img src='images/16/server.png' style='vertical-align:middle'/> "); }
 | |
|     if ($ent['entPhysicalClass'] == "module") { echo("<img src='images/16/drive.png' style='vertical-align:middle'/> "); }
 | |
|     if ($ent['entPhysicalClass'] == "port") { echo("<img src='images/16/connect.png' style='vertical-align:middle'/> "); }
 | |
|     if ($ent['entPhysicalClass'] == "container") { echo("<img src='images/16/box.png' style='vertical-align:middle'/> "); }
 | |
|     if ($ent['entPhysicalClass'] == "sensor")
 | |
|     {
 | |
|       echo("<img src='images/16/contrast.png' style='vertical-align:middle'/> ");
 | |
|       # FIXME /ciscosensors? doesn't exist anymore methinks? or does it?
 | |
|       $link = " href='device/".$device['device_id']."/ciscosensors/".$ent['entSensorType']."/' onmouseover=\"return overlib('<img src=\'graph.php?host=49&type=cisco_entity_sensor&from=-2d&to=now&width=400&height=150&a=".$ent['entPhysical_id']."\'><img src=\'graph.php?host=49&type=cisco_entity_sensor&from=-2w&to=now&width=400&height=150&a=".$ent['entPhysical_id']."\'>', LEFT,FGCOLOR,'#e5e5e5', BGCOLOR, '#c0c0c0', BORDER, 5, CELLPAD, 4, CAPCOLOR, '#050505');\" onmouseout=\"return nd();\"";
 | |
|     } else { unset ($link); }
 | |
| 
 | |
|     if ($ent['entPhysicalClass'] == "backplane") { echo("<img src='images/16/brick.png' style='vertical-align:middle'/> "); }
 | |
|     if ($ent['entPhysicalParentRelPos'] > '-1') {echo("<strong>".$ent['entPhysicalParentRelPos'].".</strong> "); }
 | |
| 
 | |
|     if ($link) {echo("<a $link>"); }
 | |
| 
 | |
|     if ($ent['ifIndex'])
 | |
|     {
 | |
|       $interface = dbFetchRow("SELECT * FROM `ports` WHERE ifIndex = ? AND device_id = ?", array($ent['ifIndex'], $device['device_id']));
 | |
|       $ent['entPhysicalName'] = generate_port_link($interface);
 | |
|     }
 | |
| 
 | |
|     if ($ent['entPhysicalModelName'] && $ent['entPhysicalName'])
 | |
|     {
 | |
|       echo("<strong>".$ent['entPhysicalModelName']  . "</strong> (".$ent['entPhysicalName'].")");
 | |
|     } elseif ($ent['entPhysicalModelName']) {
 | |
|       echo("<strong>".$ent['entPhysicalModelName']  . "</strong>");
 | |
|     } elseif (is_numeric($ent['entPhysicalName']) && $ent['entPhysicalVendorType']) {
 | |
|       echo("<strong>".$ent['entPhysicalName']." ".$ent['entPhysicalVendorType']."</strong>");
 | |
|     } elseif ($ent['entPhysicalName']) {
 | |
|       echo("<strong>".$ent['entPhysicalName']."</strong>");
 | |
|     } elseif ($ent['entPhysicalDescr']) {
 | |
|       echo("<strong>".$ent['entPhysicalDescr']."</strong>");
 | |
|     }
 | |
| 
 | |
|     if ($ent['entPhysicalClass'] == "sensor")
 | |
|     {
 | |
|       echo(" (".$ent['entSensorValue'] ." ". $ent['entSensorType'].")");
 | |
|     }
 | |
| 
 | |
|     echo("<br /><div class='interface-desc' style='margin-left: 20px;'>" . $ent['entPhysicalDescr']);
 | |
| 
 | |
|     if ($link) { echo("</a>"); }
 | |
| 
 | |
|     if ($ent['entPhysicalSerialNum'])
 | |
|     {
 | |
|       echo(" <br /><span style='color: #000099;'>Serial No. ".$ent['entPhysicalSerialNum']."</span> ");
 | |
|     }
 | |
| 
 | |
|     echo("</div>");
 | |
| 
 | |
|     $count = dbFetchCell("SELECT COUNT(*) FROM `entPhysical` WHERE device_id = '".$device['device_id']."' AND entPhysicalContainedIn = '".$ent['entPhysicalIndex']."'");
 | |
|     if ($count)
 | |
|     {
 | |
|       echo("<ul>");
 | |
|       printEntPhysical($ent['entPhysicalIndex'], $level+1, '');
 | |
|       echo("</ul>");
 | |
|     }
 | |
| 
 | |
|     echo("</li>");
 | |
|   }
 | |
| }
 | |
| 
 | |
| echo("<div style='float: right;'>
 | |
|        <a href='#' class='button' onClick=\"expandTree('enttree');return false;\"><img src='images/16/bullet_toggle_plus.png'>Expand All Nodes</a>
 | |
|        <a href='#' class='button' onClick=\"collapseTree('enttree');return false;\"><img src='images/16/bullet_toggle_minus.png'>Collapse All Nodes</a>
 | |
|      </div>");
 | |
| 
 | |
| echo("<div style='clear: both;'><UL CLASS='mktree' id='enttree'>");
 | |
| $level = "0";
 | |
| $ent['entPhysicalIndex'] = "0";
 | |
| printEntPhysical($ent['entPhysicalIndex'], $level, "liOpen");
 | |
| echo("</ul></div>");
 | |
| 
 | |
| ?>
 |