<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>http://vwiki.co.uk/index.php?action=history&amp;feed=atom&amp;title=VI-DB_esxs.php_v2</id>
	<title>VI-DB esxs.php v2 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://vwiki.co.uk/index.php?action=history&amp;feed=atom&amp;title=VI-DB_esxs.php_v2"/>
	<link rel="alternate" type="text/html" href="http://vwiki.co.uk/index.php?title=VI-DB_esxs.php_v2&amp;action=history"/>
	<updated>2026-04-19T05:24:46Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>http://vwiki.co.uk/index.php?title=VI-DB_esxs.php_v2&amp;diff=1409&amp;oldid=prev</id>
		<title>Sstrutt: Initial creation</title>
		<link rel="alternate" type="text/html" href="http://vwiki.co.uk/index.php?title=VI-DB_esxs.php_v2&amp;diff=1409&amp;oldid=prev"/>
		<updated>2011-08-31T14:05:54Z</updated>

		<summary type="html">&lt;p&gt;Initial creation&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html xmlns=&amp;#039;http://www.w3.org/TR/REC-html40&amp;#039;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Version 1.0 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
&amp;lt;title&amp;gt;vi-db (esx-hware)&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;#039;SHORTCUT ICON&amp;#039; href=&amp;#039;favicon.ico&amp;#039;&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;#039;stylesheet&amp;#039; type=&amp;#039;text/css&amp;#039; href=&amp;#039;alpha.css&amp;#039; /&amp;gt;&lt;br /&gt;
&amp;lt;meta name=&amp;#039;Author&amp;#039; content=&amp;#039;Simon Strutt&amp;#039;&amp;gt;&lt;br /&gt;
&amp;lt;meta name=&amp;#039;Description&amp;#039; content=&amp;#039;VI Info&amp;#039;&amp;gt;&lt;br /&gt;
&amp;lt;meta http-equiv=&amp;quot;Content-Type&amp;quot; content=&amp;quot;text/html; charset=iso-8859-1&amp;quot; &amp;gt;&lt;br /&gt;
&amp;lt;meta http-equiv=&amp;quot;Content-Type&amp;quot; content=&amp;quot;image/jpeg&amp;quot; &amp;gt;&lt;br /&gt;
&amp;lt;meta http-equiv=&amp;#039;Pragma&amp;#039; content=&amp;#039;no-cache&amp;#039;&amp;gt;&lt;br /&gt;
&amp;lt;meta http-equiv=&amp;#039;Expires&amp;#039; content=&amp;#039;900&amp;#039;&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$time_start = microtime(true);&lt;br /&gt;
&lt;br /&gt;
//Local variables etc&lt;br /&gt;
require &amp;#039;config.php&amp;#039;;&lt;br /&gt;
$self = $_SERVER[&amp;#039;PHP_SELF&amp;#039;];&lt;br /&gt;
&lt;br /&gt;
// open connection and select database&lt;br /&gt;
$connection = mysql_connect($host, $user, $pass) or die (&amp;quot;Unable to connect to database!&amp;quot;);&lt;br /&gt;
mysql_select_db($db) or die (&amp;quot;Unable to select database!&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
//Set debug on if required&lt;br /&gt;
if (array_key_exists(&amp;#039;debug&amp;#039;, $_REQUEST) and ($_REQUEST[&amp;quot;debug&amp;quot;] == 1)) {&lt;br /&gt;
	$debug = 1;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// show parameters and errors&lt;br /&gt;
if ($debug) {&lt;br /&gt;
	error_reporting(-1);&lt;br /&gt;
	print_r($_REQUEST);&lt;br /&gt;
	print &amp;quot;&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;DISCLAIMER: Please use all information gained from here with caution - I haven&amp;#039;t performed exhaustive validation and testing of any of the information that may be presented.&amp;lt;br&amp;gt;\n&amp;quot;;&lt;br /&gt;
print &amp;quot;If you&amp;#039;re making changes or decisions, please double check with the reality of what is displayed by the vCentre servers.  You retain full responsibility for your actions...!\n &amp;quot;;&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;&amp;lt;h1&amp;gt;ESX Hardware&amp;lt;/h1&amp;gt;\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
if (array_key_exists(&amp;#039;clid&amp;#039;, $_REQUEST)) {&lt;br /&gt;
	$cl_link = &amp;quot;&amp;amp;clid=&amp;quot;.$_REQUEST[&amp;quot;clid&amp;quot;];&lt;br /&gt;
	$clid=$_REQUEST[&amp;quot;clid&amp;quot;];&lt;br /&gt;
} else {&lt;br /&gt;
	$cl_link = &amp;quot;&amp;quot;;&lt;br /&gt;
	$clid=0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if (array_key_exists(&amp;#039;hw&amp;#039;, $_REQUEST)) {&lt;br /&gt;
	$hw_link = &amp;quot;&amp;amp;hw=&amp;quot;.$_REQUEST[&amp;quot;hw&amp;quot;];&lt;br /&gt;
	$hw=$_REQUEST[&amp;quot;hw&amp;quot;];&lt;br /&gt;
} else {&lt;br /&gt;
	$hw_link = &amp;quot;&amp;quot;;&lt;br /&gt;
	$hw=0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if (!array_key_exists(&amp;#039;view&amp;#039;, $_REQUEST)) {&lt;br /&gt;
	$view = &amp;quot;mobo&amp;quot;;&lt;br /&gt;
} else {&lt;br /&gt;
	if ($_REQUEST[&amp;quot;view&amp;quot;] == &amp;quot;nic&amp;quot;) {&lt;br /&gt;
		$view = &amp;quot;nic&amp;quot;;&lt;br /&gt;
	} elseif ($_REQUEST[&amp;quot;view&amp;quot;] == &amp;quot;hba&amp;quot;) {&lt;br /&gt;
		$view = &amp;quot;hba&amp;quot;;&lt;br /&gt;
	} elseif ($_REQUEST[&amp;quot;view&amp;quot;] == &amp;quot;mobo&amp;quot;) {&lt;br /&gt;
		$view = &amp;quot;mobo&amp;quot;;&lt;br /&gt;
	} else {&lt;br /&gt;
		die (&amp;quot;Error - view parameter error!&amp;quot;);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//Initial summary query&lt;br /&gt;
$query = &amp;quot;SELECT vc.name AS vc, cluster.clid, cluster.name AS cluster, COUNT(esxid) AS esxs, SUM(cpu_sock) AS cpu_sock, SUM(cpu_core) AS cpu_core, SUM(mem) AS mem FROM esx &amp;quot;;&lt;br /&gt;
$query .= &amp;quot;JOIN vc USING (vcid) JOIN cluster USING (clid) WHERE esx.exist=1 GROUP BY clid ORDER BY vc, cluster.name;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$result = mysql_query($query);&lt;br /&gt;
//print $query;&lt;br /&gt;
if (mysql_num_rows($result) == 0) {&lt;br /&gt;
	die (&amp;quot;No vCentre&amp;#039;s found...!&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// ----------------- Layout table (left) ----------------------------&lt;br /&gt;
print &amp;quot;&amp;lt;table align=&amp;#039;center&amp;#039; cellspacing=10&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td valign=&amp;#039;top&amp;#039;&amp;gt;\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;&amp;lt;table class=&amp;#039;BasicTable&amp;#039; align=&amp;#039;center&amp;#039;&amp;gt;\n&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;vCentre&amp;lt;th width=200&amp;gt;Cluster&amp;lt;th&amp;gt;ESXs&amp;lt;th&amp;gt;CPU&amp;lt;br&amp;gt;Socks&amp;lt;th&amp;gt;CPU&amp;lt;br&amp;gt;Cores&amp;lt;th&amp;gt;Memory&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;GB&amp;lt;/small&amp;gt;\n&amp;quot;;&lt;br /&gt;
$esxs = 0;&lt;br /&gt;
$cpu_sock_tot = 0;&lt;br /&gt;
$cpu_core_tot = 0;&lt;br /&gt;
$mem_tot = 0;&lt;br /&gt;
while ($row = mysql_fetch_assoc($result)) {&lt;br /&gt;
	print &amp;quot;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;quot;.$row[&amp;#039;vc&amp;#039;];&lt;br /&gt;
	if ($clid == $row[&amp;#039;clid&amp;#039;]) {&lt;br /&gt;
		print &amp;quot;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;&amp;quot;.$row[&amp;#039;cluster&amp;#039;].&amp;quot;&amp;lt;/b&amp;gt;&amp;quot;;&lt;br /&gt;
	} else {&lt;br /&gt;
		print &amp;quot;&amp;lt;td&amp;gt;&amp;lt;a href=&amp;#039;$self?clid=&amp;quot;.$row[&amp;#039;clid&amp;#039;].&amp;quot;&amp;amp;view=$view$hw_link&amp;#039;&amp;gt;&amp;quot;.$row[&amp;#039;cluster&amp;#039;].&amp;quot;&amp;lt;/a&amp;gt;&amp;quot;;&lt;br /&gt;
	}&lt;br /&gt;
	print &amp;quot;&amp;lt;td class=&amp;#039;num&amp;#039;&amp;gt;&amp;quot;.$row[&amp;#039;esxs&amp;#039;].&amp;quot;&amp;lt;td class=&amp;#039;num&amp;#039;&amp;gt;&amp;quot;.$row[&amp;#039;cpu_sock&amp;#039;].&amp;quot;&amp;lt;td class=&amp;#039;num&amp;#039;&amp;gt;&amp;quot;.$row[&amp;#039;cpu_core&amp;#039;].&amp;quot;&amp;lt;td class=&amp;#039;num&amp;#039;&amp;gt;&amp;quot;.number_format(round($row[&amp;#039;mem&amp;#039;]/1024));&lt;br /&gt;
	$esxs += $row[&amp;#039;esxs&amp;#039;];&lt;br /&gt;
	$cpu_sock_tot += $row[&amp;#039;cpu_sock&amp;#039;];&lt;br /&gt;
	$cpu_core_tot += $row[&amp;#039;cpu_core&amp;#039;];&lt;br /&gt;
	$mem_tot += $row[&amp;#039;mem&amp;#039;];&lt;br /&gt;
}&lt;br /&gt;
print &amp;quot;&amp;lt;tr&amp;gt;&amp;lt;td colspan=2&amp;gt;&amp;lt;td class=&amp;#039;num&amp;#039;&amp;gt;&amp;quot;.$esxs.&amp;quot;&amp;lt;td class=&amp;#039;num&amp;#039;&amp;gt;&amp;quot;.$cpu_sock_tot.&amp;quot;&amp;lt;td class=&amp;#039;num&amp;#039;&amp;gt;&amp;quot;.$cpu_core_tot.&amp;quot;&amp;lt;td class=&amp;#039;num&amp;#039;&amp;gt;&amp;quot;.number_format(round($mem_tot/1024)).&amp;quot;\n&amp;quot;;&lt;br /&gt;
print &amp;quot;&amp;lt;/table&amp;gt;&amp;lt;br&amp;gt;\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
// ------------------ Layout table cell (middle)--------------------------&lt;br /&gt;
print &amp;quot;\n&amp;lt;td valign=&amp;#039;top&amp;#039;&amp;gt;\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
// ----------------- View Selector -----------------------------------------&lt;br /&gt;
print &amp;quot;&amp;lt;table class=&amp;#039;BasicTable&amp;#039; align=&amp;#039;left&amp;#039; valign=&amp;#039;middle&amp;#039;&amp;gt;\n&amp;lt;tr&amp;gt;&amp;lt;th width=200 colspan=2&amp;gt;View Selector\n&amp;quot;;&lt;br /&gt;
if ($clid) {&lt;br /&gt;
	print &amp;quot;&amp;lt;tr&amp;gt;&amp;lt;td align=&amp;#039;center&amp;#039; colspan=2&amp;gt;&amp;lt;a href=&amp;#039;$self?view=$view$hw_link&amp;#039;&amp;gt;For All Clusters&amp;lt;/a&amp;gt;\n&amp;quot;;&lt;br /&gt;
} else {&lt;br /&gt;
	print &amp;quot;&amp;lt;tr&amp;gt;&amp;lt;td align=&amp;#039;center&amp;#039; colspan=2&amp;gt;&amp;lt;b&amp;gt;&amp;amp;lt &amp;amp;lt&amp;lt;/b&amp;gt; Filter On Cluster &amp;lt;b&amp;gt;&amp;amp;lt &amp;amp;lt&amp;lt;/b&amp;gt;\n&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
if ($view == &amp;quot;mobo&amp;quot;) {&lt;br /&gt;
	print &amp;quot;&amp;lt;tr&amp;gt;&amp;lt;th rowspan=3 width=40&amp;gt;Show:&amp;lt;td align=&amp;#039;center&amp;#039;&amp;gt;&amp;lt;b&amp;gt;Motherboard&amp;lt;/b&amp;gt;\n&amp;quot;;&lt;br /&gt;
	print &amp;quot;&amp;lt;tr&amp;gt;&amp;lt;td align=&amp;#039;center&amp;#039;&amp;gt;&amp;lt;a href=&amp;#039;$self?$cl_link$hw_link&amp;amp;view=nic&amp;#039;&amp;gt;Network Cards&amp;lt;/a&amp;gt;\n&amp;quot;;&lt;br /&gt;
	print &amp;quot;&amp;lt;tr&amp;gt;&amp;lt;td align=&amp;#039;center&amp;#039;&amp;gt;&amp;lt;a href=&amp;#039;$self?$cl_link$hw_link&amp;amp;view=hba&amp;#039;&amp;gt;Host Bus Adapters&amp;lt;/a&amp;gt;\n&amp;quot;;&lt;br /&gt;
} elseif ($view == &amp;quot;nic&amp;quot;) {&lt;br /&gt;
	print &amp;quot;&amp;lt;tr&amp;gt;&amp;lt;th rowspan=3 width=40&amp;gt;Show:&amp;lt;td align=&amp;#039;center&amp;#039;&amp;gt;&amp;lt;a href=&amp;#039;$self?$cl_link&amp;amp;view=mobo&amp;#039;&amp;gt;Motherboard\n&amp;quot;;&lt;br /&gt;
	print &amp;quot;&amp;lt;tr&amp;gt;&amp;lt;td align=&amp;#039;center&amp;#039;&amp;gt;&amp;lt;b&amp;gt;Network Cards&amp;lt;/b&amp;gt;\n&amp;quot;;&lt;br /&gt;
	print &amp;quot;&amp;lt;tr&amp;gt;&amp;lt;td align=&amp;#039;center&amp;#039;&amp;gt;&amp;lt;a href=&amp;#039;$self?$cl_link$hw_link&amp;amp;view=hba&amp;#039;&amp;gt;Host Bus Adapters&amp;lt;/a&amp;gt;\n&amp;quot;;&lt;br /&gt;
} elseif ($view == &amp;quot;hba&amp;quot;) {&lt;br /&gt;
	print &amp;quot;&amp;lt;tr&amp;gt;&amp;lt;th rowspan=3 width=40&amp;gt;Show:&amp;lt;td align=&amp;#039;center&amp;#039;&amp;gt;&amp;lt;a href=$self?$cl_link&amp;amp;view=mobo&amp;gt;Motherboard\n&amp;quot;;&lt;br /&gt;
	print &amp;quot;&amp;lt;tr&amp;gt;&amp;lt;td align=&amp;#039;center&amp;#039;&amp;gt;&amp;lt;a href=&amp;#039;$self?$cl_link$hw_link&amp;amp;view=nic&amp;#039;&amp;gt;Network Cards&amp;lt;/a&amp;gt;\n&amp;quot;;&lt;br /&gt;
	print &amp;quot;&amp;lt;tr&amp;gt;&amp;lt;td align=&amp;#039;center&amp;#039;&amp;gt;&amp;lt;b&amp;gt;Host Bus Adapters&amp;lt;/b&amp;gt;\n&amp;quot;;&lt;br /&gt;
} else {&lt;br /&gt;
	print &amp;quot;&amp;lt;tr&amp;gt;ERROR...!!!\n&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
if ($hw) {&lt;br /&gt;
	print &amp;quot;&amp;lt;tr&amp;gt;&amp;lt;td align=&amp;#039;center&amp;#039; colspan=2&amp;gt;&amp;lt;a href=&amp;#039;$self?view=$view$cl_link&amp;#039;&amp;gt;For All Hardware&amp;lt;/a&amp;gt;\n&amp;quot;;&lt;br /&gt;
} else {&lt;br /&gt;
	print &amp;quot;&amp;lt;tr&amp;gt;&amp;lt;td align=&amp;#039;center&amp;#039; colspan=2&amp;gt;&amp;lt;b&amp;gt;&amp;amp;gt &amp;amp;gt&amp;lt;/b&amp;gt; Filter On Hardware &amp;lt;b&amp;gt;&amp;amp;gt &amp;amp;gt&amp;lt;/b&amp;gt;\n&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
print &amp;quot;&amp;lt;/table&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
// ------------------ Layout table cell (right)--------------------------&lt;br /&gt;
print &amp;quot;\n&amp;lt;td valign=&amp;#039;top&amp;#039;&amp;gt;\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
//Server hardware summary query&lt;br /&gt;
$query = &amp;quot;SELECT COUNT(esxid) AS esxs, model FROM esx JOIN vc USING (vcid) WHERE esx.exist=1 GROUP BY model ORDER BY model;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$result = mysql_query($query);&lt;br /&gt;
//print $query;&lt;br /&gt;
if (mysql_num_rows($result) == 0) {&lt;br /&gt;
	die (&amp;quot;No Servers found...!&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;&amp;lt;table class=&amp;#039;BasicTable&amp;#039; align=&amp;#039;center&amp;#039;&amp;gt;\n&amp;lt;tr&amp;gt;&amp;lt;th width=130&amp;gt;Server Model&amp;lt;th&amp;gt;ESXs\n&amp;quot;;&lt;br /&gt;
$esxs = 0;&lt;br /&gt;
while ($row = mysql_fetch_assoc($result)) {&lt;br /&gt;
	print &amp;quot;&amp;lt;tr&amp;gt;&amp;quot;;&lt;br /&gt;
	if ($hw === $row[&amp;#039;model&amp;#039;]) {&lt;br /&gt;
		print &amp;quot;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;&amp;quot;.$row[&amp;#039;model&amp;#039;].&amp;quot;&amp;lt;/b&amp;gt;&amp;quot;;&lt;br /&gt;
	} else {&lt;br /&gt;
		print &amp;quot;&amp;lt;td&amp;gt;&amp;lt;a href=&amp;#039;$self?clid=$clid&amp;amp;view=$view&amp;amp;hw=&amp;quot;.$row[&amp;#039;model&amp;#039;].&amp;quot;&amp;#039;&amp;gt;&amp;quot;.$row[&amp;#039;model&amp;#039;].&amp;quot;&amp;lt;/a&amp;gt;&amp;quot;;&lt;br /&gt;
	}&lt;br /&gt;
	print &amp;quot;&amp;lt;td class=&amp;#039;num&amp;#039;&amp;gt;&amp;quot;.$row[&amp;#039;esxs&amp;#039;];&lt;br /&gt;
	$esxs += $row[&amp;#039;esxs&amp;#039;];&lt;br /&gt;
}&lt;br /&gt;
print &amp;quot;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;td class=&amp;#039;num&amp;#039;&amp;gt;&amp;quot;.$esxs.&amp;quot;\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;&amp;lt;/table&amp;gt;&amp;lt;br&amp;gt;\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
// ------------------  End Layout table cell --------------------------&lt;br /&gt;
print &amp;quot;\n&amp;lt;/table&amp;gt;\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
// Detail query&lt;br /&gt;
&lt;br /&gt;
if ($view == &amp;quot;mobo&amp;quot;) {&lt;br /&gt;
&lt;br /&gt;
	$query = &amp;quot;SELECT vc.name AS vc, cluster.name AS cluster, esx.name AS esx, esx.ver, esx.build, model, cpu_sock, cpu_core, mem, bios_ver FROM esx &amp;quot;;&lt;br /&gt;
	$query .= &amp;quot;JOIN vc USING (vcid) JOIN esx_ext USING (esxid) JOIN cluster USING (clid) WHERE esx.exist=1 &amp;quot;;&lt;br /&gt;
	if ($clid &amp;gt; 0) {&lt;br /&gt;
		$query .= &amp;quot;AND cluster.clid=$clid &amp;quot;;&lt;br /&gt;
	}&lt;br /&gt;
	if ($hw) {&lt;br /&gt;
		$query .= &amp;quot;AND esx.model=&amp;#039;$hw&amp;#039; &amp;quot;;&lt;br /&gt;
	}&lt;br /&gt;
	$query .= &amp;quot;ORDER BY vc.vcid, cluster.name, esx.name;&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	if ($debug == 1) {print ($query);}&lt;br /&gt;
	$result = mysql_query($query);&lt;br /&gt;
&lt;br /&gt;
	if (mysql_num_rows($result) == 0) {&lt;br /&gt;
		die (&amp;quot;None...!&amp;quot;);&lt;br /&gt;
	}&lt;br /&gt;
	print &amp;quot;&amp;lt;table class=&amp;#039;BasicTable&amp;#039; align=&amp;#039;center&amp;#039;&amp;gt;\n&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;vCentre&amp;lt;th&amp;gt;Cluster&amp;lt;th&amp;gt;ESX&amp;lt;th&amp;gt;Ver&amp;lt;th&amp;gt;Build&amp;lt;th&amp;gt;Model&amp;lt;th&amp;gt;CPU&amp;lt;br&amp;gt;Socks&amp;lt;th&amp;gt;CPU&amp;lt;br&amp;gt;Cores&amp;lt;th&amp;gt;Memory&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;GB&amp;lt;/small&amp;gt;&amp;lt;th&amp;gt;BIOS\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
	$esxs = mysql_fetch_all($result, MYSQL_ASSOC);&lt;br /&gt;
	$odd_row = false;&lt;br /&gt;
	foreach ($esxs as $esx) {&lt;br /&gt;
		$odd_row = !$odd_row;&lt;br /&gt;
		if ($odd_row) {&lt;br /&gt;
			print &amp;quot;&amp;lt;tr class=&amp;#039;odd&amp;#039;&amp;gt;&amp;quot;;&lt;br /&gt;
		} else {&lt;br /&gt;
			print &amp;quot;&amp;lt;tr&amp;gt;&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
		print &amp;quot;&amp;lt;td&amp;gt;&amp;quot;.$esx[&amp;#039;vc&amp;#039;].&amp;quot;&amp;lt;td&amp;gt;&amp;quot;.$esx[&amp;#039;cluster&amp;#039;].&amp;quot;&amp;lt;td&amp;gt;&amp;quot;.$esx[&amp;#039;esx&amp;#039;].&amp;quot;&amp;lt;td&amp;gt;&amp;quot;.$esx[&amp;#039;ver&amp;#039;].&amp;quot;&amp;lt;td class=&amp;#039;num&amp;#039;&amp;gt;&amp;quot;.$esx[&amp;#039;build&amp;#039;].&amp;quot;&amp;lt;td class=&amp;#039;num&amp;#039;&amp;gt;&amp;quot;.$esx[&amp;#039;model&amp;#039;].&amp;quot;&amp;lt;td class=&amp;#039;num&amp;#039;&amp;gt;&amp;quot;.$esx[&amp;#039;cpu_sock&amp;#039;].&amp;quot;&amp;lt;td class=&amp;#039;num&amp;#039;&amp;gt;&amp;quot;.$esx[&amp;#039;cpu_core&amp;#039;].&amp;quot;&amp;lt;td class=&amp;#039;num&amp;#039;&amp;gt;&amp;quot;.round($esx[&amp;#039;mem&amp;#039;]/1024).&amp;quot;&amp;lt;td&amp;gt;&amp;quot;.$esx[&amp;#039;bios_ver&amp;#039;].&amp;quot;\n&amp;quot;;&lt;br /&gt;
	}&lt;br /&gt;
	print &amp;quot;&amp;lt;/table&amp;gt;&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
} elseif ($view == &amp;quot;hba&amp;quot;) {&lt;br /&gt;
	&lt;br /&gt;
	$query = &amp;quot;SELECT vc.name AS vc, cluster.name AS cluster, esx.name AS esx, esx.ver, esx.build, esx.model AS svr_model, esx_hba.model AS hba_model, driver, drv_ver FROM esx_hba &amp;quot;;&lt;br /&gt;
	$query .= &amp;quot;LEFT JOIN esx USING (esxid) JOIN vc USING (vcid) JOIN esx_ext USING (esxid) JOIN cluster USING (clid) WHERE esx.exist=1 &amp;quot;;&lt;br /&gt;
	if ($clid &amp;gt; 0) {&lt;br /&gt;
		$query .= &amp;quot;AND cluster.clid=$clid &amp;quot;;&lt;br /&gt;
	}&lt;br /&gt;
	if ($hw) {&lt;br /&gt;
		$query .= &amp;quot;AND esx.model=&amp;#039;$hw&amp;#039; &amp;quot;;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	$query .= &amp;quot;GROUP BY esx.esxid, drv_ver ORDER BY vc.vcid, cluster.name, esx.name, esx_hba.model;&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	if ($debug == 1) {print ($query);}&lt;br /&gt;
	$result = mysql_query($query);&lt;br /&gt;
&lt;br /&gt;
	if (mysql_num_rows($result) == 0) {&lt;br /&gt;
		die (&amp;quot;None...!&amp;quot;);&lt;br /&gt;
	}&lt;br /&gt;
	print &amp;quot;&amp;lt;table class=&amp;#039;BasicTable&amp;#039; align=&amp;#039;center&amp;#039;&amp;gt;\n&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;vCentre&amp;lt;th&amp;gt;Cluster&amp;lt;th&amp;gt;ESX&amp;lt;th&amp;gt;Ver&amp;lt;th&amp;gt;Build&amp;lt;th&amp;gt;Model&amp;lt;th&amp;gt;HBA Model&amp;lt;th&amp;gt;HBA Type&amp;lt;th&amp;gt;HBA Driver\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
	$esxs = mysql_fetch_all($result, MYSQL_ASSOC);&lt;br /&gt;
	$odd_row = false;&lt;br /&gt;
	$last_esx = false;&lt;br /&gt;
	foreach ($esxs as $esx) {&lt;br /&gt;
		if ($last_esx &amp;lt;&amp;gt; $esx[&amp;#039;esx&amp;#039;]) {&lt;br /&gt;
			$odd_row = !$odd_row;&lt;br /&gt;
			$last_esx = $esx[&amp;#039;esx&amp;#039;];&lt;br /&gt;
		}&lt;br /&gt;
		if ($odd_row) {&lt;br /&gt;
			print &amp;quot;&amp;lt;tr class=&amp;#039;odd&amp;#039;&amp;gt;&amp;quot;;&lt;br /&gt;
		} else {&lt;br /&gt;
			print &amp;quot;&amp;lt;tr&amp;gt;&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
		print &amp;quot;&amp;lt;td&amp;gt;&amp;quot;.$esx[&amp;#039;vc&amp;#039;].&amp;quot;&amp;lt;td&amp;gt;&amp;quot;.$esx[&amp;#039;cluster&amp;#039;].&amp;quot;&amp;lt;td&amp;gt;&amp;quot;.$esx[&amp;#039;esx&amp;#039;].&amp;quot;&amp;lt;td&amp;gt;&amp;quot;.$esx[&amp;#039;ver&amp;#039;].&amp;quot;&amp;lt;td class=&amp;#039;num&amp;#039;&amp;gt;&amp;quot;.$esx[&amp;#039;build&amp;#039;].&amp;quot;&amp;lt;td&amp;gt;&amp;quot;.$esx[&amp;#039;svr_model&amp;#039;].&amp;quot;&amp;lt;td&amp;gt;&amp;quot;.$esx[&amp;#039;hba_model&amp;#039;].&amp;quot;&amp;lt;td&amp;gt;&amp;quot;.$esx[&amp;#039;driver&amp;#039;].&amp;quot;&amp;lt;td&amp;gt;&amp;quot;.$esx[&amp;#039;drv_ver&amp;#039;].&amp;quot;\n&amp;quot;;&lt;br /&gt;
	}&lt;br /&gt;
	print &amp;quot;&amp;lt;/table&amp;gt;&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
} elseif ($view == &amp;quot;nic&amp;quot;) {&lt;br /&gt;
	&lt;br /&gt;
	$query = &amp;quot;SELECT vc.name AS vc, cluster.name AS cluster, esx.name AS esx, esx.ver, esx.build, esx.model AS svr_model, esx_nic.model AS nic_model, driver, drv_ver, fware FROM esx_nic &amp;quot;;&lt;br /&gt;
	$query .= &amp;quot;LEFT JOIN esx USING (esxid) JOIN vc USING (vcid) JOIN esx_ext USING (esxid) JOIN cluster USING (clid) WHERE esx.exist=1 &amp;quot;;&lt;br /&gt;
	if ($clid &amp;gt; 0) {&lt;br /&gt;
		$query .= &amp;quot;AND cluster.clid=$clid &amp;quot;;&lt;br /&gt;
	}&lt;br /&gt;
	if ($hw) {&lt;br /&gt;
		$query .= &amp;quot;AND esx.model=&amp;#039;$hw&amp;#039; &amp;quot;;&lt;br /&gt;
	}&lt;br /&gt;
	$query .= &amp;quot;GROUP BY esx.esxid, drv_ver ORDER BY vc.vcid, cluster.name, esx.name, esx_nic.model;&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	if ($debug == 1) {print ($query);}&lt;br /&gt;
	$result = mysql_query($query);&lt;br /&gt;
&lt;br /&gt;
	if (mysql_num_rows($result) == 0) {&lt;br /&gt;
		die (&amp;quot;None...!&amp;quot;);&lt;br /&gt;
	}&lt;br /&gt;
	print &amp;quot;&amp;lt;table class=&amp;#039;BasicTable&amp;#039; align=&amp;#039;center&amp;#039;&amp;gt;\n&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;vCentre&amp;lt;th&amp;gt;Cluster&amp;lt;th&amp;gt;ESX&amp;lt;th&amp;gt;Ver&amp;lt;th&amp;gt;Build&amp;lt;th&amp;gt;Model&amp;lt;th&amp;gt;NIC Model&amp;lt;th&amp;gt;NIC Type&amp;lt;th&amp;gt;NIC Driver&amp;lt;th&amp;gt;NIC Firmware\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
	$esxs = mysql_fetch_all($result, MYSQL_ASSOC);&lt;br /&gt;
	$odd_row = false;&lt;br /&gt;
	$last_esx = false;&lt;br /&gt;
	foreach ($esxs as $esx) {&lt;br /&gt;
		if ($last_esx &amp;lt;&amp;gt; $esx[&amp;#039;esx&amp;#039;]) {&lt;br /&gt;
			$odd_row = !$odd_row;&lt;br /&gt;
			$last_esx = $esx[&amp;#039;esx&amp;#039;];&lt;br /&gt;
		}&lt;br /&gt;
		if ($odd_row) {&lt;br /&gt;
			print &amp;quot;&amp;lt;tr class=&amp;#039;odd&amp;#039;&amp;gt;&amp;quot;;&lt;br /&gt;
		} else {&lt;br /&gt;
			print &amp;quot;&amp;lt;tr&amp;gt;&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
		print &amp;quot;&amp;lt;td&amp;gt;&amp;quot;.$esx[&amp;#039;vc&amp;#039;].&amp;quot;&amp;lt;td&amp;gt;&amp;quot;.$esx[&amp;#039;cluster&amp;#039;].&amp;quot;&amp;lt;td&amp;gt;&amp;quot;.$esx[&amp;#039;esx&amp;#039;].&amp;quot;&amp;lt;td&amp;gt;&amp;quot;.$esx[&amp;#039;ver&amp;#039;].&amp;quot;&amp;lt;td class=&amp;#039;num&amp;#039;&amp;gt;&amp;quot;.$esx[&amp;#039;build&amp;#039;].&amp;quot;&amp;lt;td&amp;gt;&amp;quot;.$esx[&amp;#039;svr_model&amp;#039;].&amp;quot;&amp;lt;td&amp;gt;&amp;quot;.$esx[&amp;#039;nic_model&amp;#039;].&amp;quot;&amp;lt;td&amp;gt;&amp;quot;.$esx[&amp;#039;driver&amp;#039;].&amp;quot;&amp;lt;td&amp;gt;&amp;quot;.$esx[&amp;#039;drv_ver&amp;#039;].&amp;quot;&amp;lt;td&amp;gt;&amp;quot;.$esx[&amp;#039;fware&amp;#039;].&amp;quot;\n&amp;quot;;&lt;br /&gt;
	}&lt;br /&gt;
	print &amp;quot;&amp;lt;/table&amp;gt;&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;&amp;lt;br&amp;gt;&amp;lt;table class=&amp;#039;NavTable&amp;#039; align=&amp;#039;center&amp;#039; valign=&amp;#039;top&amp;#039;&amp;gt;&amp;lt;th&amp;gt;Main Pages:&amp;lt;td&amp;gt;&amp;lt;a href=&amp;#039;index.php&amp;#039;&amp;gt;Search page&amp;lt;/a&amp;gt;&amp;lt;td&amp;gt;&amp;lt;a href=&amp;#039;status.php&amp;#039;&amp;gt;Status page&amp;lt;/a&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;br&amp;gt;\n&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
$time = round((microtime(true) - $time_start)*1000);&lt;br /&gt;
print &amp;quot;Page took $time msecs to execute on server&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
// ------------------- End of HTML ---------------------------------&lt;br /&gt;
print &amp;quot;&amp;lt;/body&amp;gt;&amp;lt;html&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
// ================ FUNCTIONS ============================&lt;br /&gt;
&lt;br /&gt;
function search_char ($text) {&lt;br /&gt;
	&lt;br /&gt;
	return (str_replace(array(&amp;quot;*&amp;quot;, &amp;quot;?&amp;quot;), array(&amp;quot;%&amp;quot;, &amp;quot;_&amp;quot;), trim($text)));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function bar_graph ($data_percent, $warn_threshold, $alert_threshold) {&lt;br /&gt;
	print &amp;quot;&amp;lt;td class=&amp;#039;bar&amp;#039; title=&amp;#039;$data_percent&amp;#039;&amp;gt;&amp;lt;div style=&amp;#039;width: $data_percent%&amp;#039; &amp;quot;;&lt;br /&gt;
	if ($data_percent &amp;gt;= $alert_threshold) {&lt;br /&gt;
		print &amp;quot;class=&amp;#039;bar_alert&amp;#039;&amp;quot;;&lt;br /&gt;
	} elseif ($data_percent &amp;gt;= $warn_threshold) {&lt;br /&gt;
		print &amp;quot;class=&amp;#039;bar_warn&amp;#039;&amp;quot;;&lt;br /&gt;
	} else {&lt;br /&gt;
		print &amp;quot;class=&amp;#039;bar_good&amp;#039;&amp;quot;;&lt;br /&gt;
	}&lt;br /&gt;
	print &amp;quot;&amp;gt;&amp;quot;.$data_percent.&amp;quot;&amp;lt;/div&amp;gt;\n&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function mysql_fetch_all($result) {&lt;br /&gt;
   while($row=mysql_fetch_array($result, MYSQL_ASSOC)) {&lt;br /&gt;
       $return[] = $row;&lt;br /&gt;
   }&lt;br /&gt;
   return $return;&lt;br /&gt;
}&lt;br /&gt;
	&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sstrutt</name></author>
	</entry>
</feed>