<?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_vc-detail.php_v2.2</id>
	<title>VI-DB vc-detail.php v2.2 - 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_vc-detail.php_v2.2"/>
	<link rel="alternate" type="text/html" href="http://vwiki.co.uk/index.php?title=VI-DB_vc-detail.php_v2.2&amp;action=history"/>
	<updated>2026-04-19T05:26:08Z</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_vc-detail.php_v2.2&amp;diff=1592&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_vc-detail.php_v2.2&amp;diff=1592&amp;oldid=prev"/>
		<updated>2011-12-19T10:37:45Z</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 2.2 --&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 (vc)&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;
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;
if (!array_key_exists(&amp;#039;vcid&amp;#039;, $_REQUEST)) {&lt;br /&gt;
	die (&amp;quot;Error - required vcid parameter does not exist!&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
$vcid = $_REQUEST[&amp;quot;vcid&amp;quot;];&lt;br /&gt;
$data_link = &amp;quot;vcid=$vcid&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
// show parameters and errors&lt;br /&gt;
if ($debug) {&lt;br /&gt;
	print &amp;quot;&amp;lt;br&amp;gt;&amp;quot;;&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;
	$data_link .= &amp;quot;&amp;amp;debug=1&amp;quot;;&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;resource&amp;quot;;&lt;br /&gt;
} else {&lt;br /&gt;
	if ($_REQUEST[&amp;quot;view&amp;quot;] == &amp;quot;vm&amp;quot;) {&lt;br /&gt;
		$view = &amp;quot;vm&amp;quot;;&lt;br /&gt;
		$data_link .= &amp;quot;&amp;amp;view=vm&amp;quot;;&lt;br /&gt;
	} elseif ($_REQUEST[&amp;quot;view&amp;quot;] == &amp;quot;resource&amp;quot;) {&lt;br /&gt;
		$view = &amp;quot;resource&amp;quot;;&lt;br /&gt;
		$data_link .= &amp;quot;&amp;amp;view=resource&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;
if (array_key_exists(&amp;#039;clid&amp;#039;, $_REQUEST)) {&lt;br /&gt;
	$clid=$_REQUEST[&amp;quot;clid&amp;quot;];&lt;br /&gt;
	$data_link .= &amp;quot;&amp;amp;clid=$clid&amp;quot;;&lt;br /&gt;
	$cl_link=&amp;quot;&amp;amp;clid=$clid&amp;quot;;&lt;br /&gt;
} else {&lt;br /&gt;
	$clid=0;&lt;br /&gt;
	$cl_link=&amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if ($debug) {&lt;br /&gt;
	print &amp;quot;$data_link&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Initial query (need  VC name for page title)&lt;br /&gt;
&lt;br /&gt;
$query = &amp;quot;SELECT name, site, ver, build FROM vc WHERE vcid=$vcid;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$result = mysql_query($query);&lt;br /&gt;
if ($debug) {print $query;}&lt;br /&gt;
if (mysql_num_rows($result) == 0) {&lt;br /&gt;
	die (&amp;quot;vCentre not found....&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
$row = mysql_fetch_assoc($result);&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;&amp;lt;h1&amp;gt;&amp;quot;.$row[&amp;#039;name&amp;#039;] .&amp;quot;&amp;lt;/h1&amp;gt;\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
// ----------------- Top 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;
// ------------------ vCentre info -----------------------------------------&lt;br /&gt;
print &amp;quot;&amp;lt;table class=&amp;#039;BasicTable&amp;#039; align=&amp;#039;left&amp;#039;&amp;gt;\n&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Site:&amp;lt;td&amp;gt;&amp;quot;.$row[&amp;#039;site&amp;#039;].&amp;quot;\n&amp;quot;;&lt;br /&gt;
print &amp;quot;&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Version:&amp;lt;td&amp;gt;&amp;quot;.$row[&amp;#039;ver&amp;#039;].&amp;quot;\n&amp;quot;;&lt;br /&gt;
print &amp;quot;&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Build:&amp;lt;td&amp;gt;&amp;quot;.$row[&amp;#039;build&amp;#039;].&amp;quot;&amp;lt;/table&amp;gt;\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
// ------------------ Top 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;
// ------------------- vCentre Cluster info ------------------------------------&lt;br /&gt;
$query = &amp;quot;SELECT clid, name, ha, drs FROM cluster WHERE vcid=$vcid AND exist=1;&amp;quot;;&lt;br /&gt;
if ($debug) {print ($query);}&lt;br /&gt;
$clusters = mysql_query($query);&lt;br /&gt;
if (mysql_num_rows($result) == 0) {&lt;br /&gt;
	print (&amp;quot;Cluster info not found....&amp;quot;);&lt;br /&gt;
} else {&lt;br /&gt;
	print &amp;quot;&amp;lt;table class=&amp;#039;BasicTable&amp;#039; align=&amp;#039;left&amp;#039;&amp;gt;\n&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Name&amp;lt;th&amp;gt;HA&amp;lt;th&amp;gt;DRS&amp;lt;th&amp;gt;ESXs&amp;lt;th&amp;gt;VMs&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;(all)&amp;lt;/small&amp;gt;&amp;lt;th&amp;gt;VMs&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;(on)&amp;lt;/small&amp;gt;\n&amp;quot;;&lt;br /&gt;
	while ($cluster = mysql_fetch_assoc($clusters)) {&lt;br /&gt;
		if ($clid == $cluster[&amp;#039;clid&amp;#039;]) {&lt;br /&gt;
			print &amp;quot;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;&amp;lt;a href=&amp;#039;$self?vcid=$vcid&amp;amp;clid=&amp;quot;.$cluster[&amp;#039;clid&amp;#039;].&amp;quot;&amp;amp;view=$view&amp;#039;&amp;gt;&amp;quot;.$cluster[&amp;#039;name&amp;#039;].&amp;quot;&amp;lt;/a&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;td&amp;gt;&amp;quot;;&lt;br /&gt;
		} else {&lt;br /&gt;
			print &amp;quot;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;a href=&amp;#039;$self?vcid=$vcid&amp;amp;clid=&amp;quot;.$cluster[&amp;#039;clid&amp;#039;].&amp;quot;&amp;amp;view=$view&amp;#039;&amp;gt;&amp;quot;.$cluster[&amp;#039;name&amp;#039;].&amp;quot;&amp;lt;/a&amp;gt;&amp;lt;td&amp;gt;&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
		if ($cluster[&amp;#039;ha&amp;#039;]) {&lt;br /&gt;
			print &amp;quot;Enabled&amp;quot;;&lt;br /&gt;
		} else {&lt;br /&gt;
			print &amp;quot;Disabled&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
		if ($cluster[&amp;#039;drs&amp;#039;]) {&lt;br /&gt;
			print &amp;quot;&amp;lt;td&amp;gt;&amp;quot;.$cluster[&amp;#039;drs&amp;#039;];&lt;br /&gt;
		} else {&lt;br /&gt;
			print &amp;quot;&amp;lt;td&amp;gt;Disabled&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
		$esxs = mysql_fetch_assoc(mysql_query(&amp;quot;SELECT COUNT(*) AS total FROM esx WHERE clid=&amp;quot;.$cluster[&amp;#039;clid&amp;#039;].&amp;quot; AND exist=1;&amp;quot;));&lt;br /&gt;
		print &amp;quot;&amp;lt;td class=&amp;#039;num&amp;#039;&amp;gt;&amp;quot;.$esxs[&amp;#039;total&amp;#039;];&lt;br /&gt;
		$vms = mysql_fetch_assoc(mysql_query(&amp;quot;SELECT COUNT(*) AS total, SUM(IF(is_on=1,1,0)) AS is_on FROM vm WHERE clid=&amp;quot;.$cluster[&amp;#039;clid&amp;#039;].&amp;quot; AND exist=1;&amp;quot;));&lt;br /&gt;
		print &amp;quot;&amp;lt;td class=&amp;#039;num&amp;#039;&amp;gt;&amp;quot;.$vms[&amp;#039;total&amp;#039;].&amp;quot;&amp;lt;td class=&amp;#039;num&amp;#039;&amp;gt;&amp;quot;.$vms[&amp;#039;is_on&amp;#039;];&lt;br /&gt;
	}&lt;br /&gt;
	print &amp;quot;&amp;lt;/table&amp;gt;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
// ------------------- Top 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;
// ----------------- View Selector -----------------------------------------&lt;br /&gt;
print &amp;quot;&amp;lt;table class=&amp;#039;BasicTable&amp;#039; align=&amp;#039;left&amp;#039;&amp;gt;\n&amp;lt;tr&amp;gt;&amp;lt;th width=180 colspan=2&amp;gt;View Selector\n&amp;quot;;&lt;br /&gt;
if (array_key_exists(&amp;#039;clid&amp;#039;, $_REQUEST)) {&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=$self?vcid=$vcid&amp;amp;view=$view&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;vm&amp;quot;) {&lt;br /&gt;
	print &amp;quot;&amp;lt;tr&amp;gt;&amp;lt;th rowspan=2 width=40&amp;gt;Show:&amp;lt;td align=&amp;#039;center&amp;#039;&amp;gt;&amp;lt;b&amp;gt;Virtual Machines&amp;lt;/b&amp;gt;\n&amp;lt;tr&amp;gt;&amp;lt;td align=&amp;#039;center&amp;#039;&amp;gt;&amp;lt;a href=$self?vcid=$vcid$cl_link&amp;amp;view=resource&amp;gt;Cluster Resources&amp;lt;/a&amp;gt;\n&amp;quot;;&lt;br /&gt;
} elseif ($view == &amp;quot;resource&amp;quot;) {&lt;br /&gt;
	print &amp;quot;&amp;lt;tr&amp;gt;&amp;lt;th rowspan=2 width=40&amp;gt;Show:&amp;lt;td align=&amp;#039;center&amp;#039;&amp;gt;&amp;lt;a href=$self?vcid=$vcid$cl_link&amp;amp;view=vm&amp;gt;Virtual Machines\n&amp;lt;tr&amp;gt;&amp;lt;td align=&amp;#039;center&amp;#039;&amp;gt;&amp;lt;b&amp;gt;Cluster Resources&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;
&lt;br /&gt;
print &amp;quot;&amp;lt;/table&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
// -------------------  Bottom layout table cell (left) ----------------------&lt;br /&gt;
print &amp;quot;\n&amp;lt;/table&amp;gt;\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
if ($view == &amp;quot;vm&amp;quot;) {&lt;br /&gt;
	show_vms();&lt;br /&gt;
} elseif ($view == &amp;quot;resource&amp;quot;) {&lt;br /&gt;
	print &amp;quot;&amp;lt;table align=&amp;#039;center&amp;#039;&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td valign=&amp;#039;top&amp;#039;&amp;gt;\n&amp;quot;;&lt;br /&gt;
	show_esxs();&lt;br /&gt;
	print &amp;quot;&amp;lt;td valign=&amp;#039;top&amp;#039;&amp;gt;\n&amp;quot;;&lt;br /&gt;
	show_nws();&lt;br /&gt;
	print &amp;quot;&amp;lt;td valign=&amp;#039;top&amp;#039;&amp;gt;\n&amp;quot;;&lt;br /&gt;
	show_dss();&lt;br /&gt;
	print &amp;quot;&amp;lt;/table&amp;gt;\n&amp;quot;;&lt;br /&gt;
} else {&lt;br /&gt;
	print &amp;quot;ERROR...!!!&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;&amp;lt;br&amp;gt;&amp;lt;a href=&amp;#039;index.php&amp;#039;&amp;gt;Search page&amp;lt;/a&amp;gt; &amp;amp;nbsp &amp;lt;a href=&amp;#039;status.php&amp;#039;&amp;gt;Status page&amp;lt;/a&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;
function show_esxs() {&lt;br /&gt;
	global $debug, $vcid, $clid;&lt;br /&gt;
	global $cpu_pc_warn, $cpu_pc_alert,$mem_pc_warn, $mem_pc_alert;&lt;br /&gt;
	$query = &amp;quot;SELECT name, esx_state.state, esx_state.status, cpu_pc, mem_pc FROM esx JOIN esx_state USING (esxid) WHERE exist=1 &amp;quot;;&lt;br /&gt;
	if ($clid &amp;gt; 0) {&lt;br /&gt;
		$query .= &amp;quot;AND clid=$clid ORDER BY name;&amp;quot;;&lt;br /&gt;
	} else {&lt;br /&gt;
		$query .= &amp;quot;AND vcid=$vcid ORDER BY name;&amp;quot;;&lt;br /&gt;
	}&lt;br /&gt;
	if ($debug) {print ($query);}&lt;br /&gt;
	$esxs = mysql_query($query);&lt;br /&gt;
	if (mysql_num_rows($esxs) == 0) {&lt;br /&gt;
		print (&amp;quot;Cluster ESX info not found....&amp;quot;);&lt;br /&gt;
	} else {&lt;br /&gt;
		print &amp;quot;&amp;lt;table class=&amp;#039;BasicTable&amp;#039; align=&amp;#039;left&amp;#039;&amp;gt;\n&amp;lt;tr&amp;gt;&amp;lt;th width=35&amp;gt;State&amp;lt;th width=165&amp;gt;ESX&amp;lt;th&amp;gt;CPU&amp;lt;th&amp;gt;Memory\n&amp;quot;;&lt;br /&gt;
		while ($esx = mysql_fetch_assoc($esxs)) {&lt;br /&gt;
			if ($esx[&amp;#039;state&amp;#039;] == &amp;quot;Connected&amp;quot;) {&lt;br /&gt;
				print &amp;quot;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Live&amp;quot;;&lt;br /&gt;
			} elseif ($esx[&amp;#039;state&amp;#039;] == &amp;quot;NotResponding&amp;quot;) {&lt;br /&gt;
				print &amp;quot;&amp;lt;tr&amp;gt;&amp;lt;td class=&amp;#039;alert&amp;#039;&amp;gt;Down&amp;quot;;&lt;br /&gt;
			} elseif ($esx[&amp;#039;state&amp;#039;] == &amp;quot;Maintenance&amp;quot;) {&lt;br /&gt;
				print &amp;quot;&amp;lt;tr&amp;gt;&amp;lt;td class=&amp;#039;warn&amp;#039;&amp;gt;Maint&amp;quot;;&lt;br /&gt;
			} elseif ($esx[&amp;#039;state&amp;#039;] == &amp;quot;Disconnected&amp;quot;) {&lt;br /&gt;
				print &amp;quot;&amp;lt;tr&amp;gt;&amp;lt;td class=&amp;#039;alert&amp;#039;&amp;gt;disc&amp;quot;;&lt;br /&gt;
			} else {&lt;br /&gt;
				print &amp;quot;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;UNEX&amp;quot;;&lt;br /&gt;
			}&lt;br /&gt;
			&lt;br /&gt;
			print &amp;quot;&amp;lt;td&amp;gt;&amp;quot;.$esx[&amp;#039;name&amp;#039;];&lt;br /&gt;
			if ($esx[&amp;#039;status&amp;#039;] == &amp;quot;yellow&amp;quot;) {&lt;br /&gt;
				print &amp;quot; &amp;lt;span class=&amp;#039;status_warn&amp;#039;&amp;gt; has warning&amp;lt;/span&amp;gt;&amp;quot;;&lt;br /&gt;
			} elseif ($esx[&amp;#039;status&amp;#039;] == &amp;quot;red&amp;quot;) {&lt;br /&gt;
				print &amp;quot; &amp;lt;span class=&amp;#039;status_alert&amp;#039;&amp;gt; has alert&amp;lt;/span&amp;gt;&amp;quot;;&lt;br /&gt;
			}&lt;br /&gt;
			&lt;br /&gt;
			bar_graph ($esx[&amp;#039;cpu_pc&amp;#039;], $cpu_pc_warn, $cpu_pc_alert);&lt;br /&gt;
			bar_graph ($esx[&amp;#039;mem_pc&amp;#039;], $mem_pc_warn, $mem_pc_alert);&lt;br /&gt;
		}&lt;br /&gt;
		print &amp;quot;&amp;lt;/table&amp;gt;\n&amp;quot;;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function show_nws() {&lt;br /&gt;
	global $debug, $vcid, $clid;&lt;br /&gt;
	$query = &amp;quot;SELECT DISTINCT nw.vlan, nw.name FROM nw JOIN esx2nw USING (nwid) JOIN esx USING (esxid) WHERE nw.exist=1 &amp;quot;;&lt;br /&gt;
	if ($clid &amp;gt; 0) {&lt;br /&gt;
		$query .= &amp;quot;AND clid=$clid ORDER BY vlan, name;&amp;quot;;&lt;br /&gt;
	} else {&lt;br /&gt;
		$query .= &amp;quot;AND nw.vcid=$vcid ORDER BY vlan, name;&amp;quot;;&lt;br /&gt;
	}&lt;br /&gt;
	if ($debug) {print ($query);}&lt;br /&gt;
	$result = mysql_query($query);&lt;br /&gt;
	if (mysql_num_rows($result) == 0) {&lt;br /&gt;
		print (&amp;quot;vCentre networks info not found....&amp;quot;);&lt;br /&gt;
	} else {&lt;br /&gt;
		print &amp;quot;&amp;lt;table class=&amp;#039;BasicTable&amp;#039; align=&amp;#039;left&amp;#039;&amp;gt;\n&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;VLAN&amp;lt;th width=300&amp;gt;Network name\n&amp;quot;;&lt;br /&gt;
		while ($row = mysql_fetch_assoc($result)) {&lt;br /&gt;
			print &amp;quot;&amp;lt;tr&amp;gt;&amp;lt;td class=&amp;#039;num&amp;#039;&amp;gt;&amp;quot;.$row[&amp;#039;vlan&amp;#039;].&amp;quot;&amp;lt;td&amp;gt;&amp;quot;.$row[&amp;#039;name&amp;#039;].&amp;quot;\n&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
		print &amp;quot;&amp;lt;/table&amp;gt;\n&amp;quot;;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function show_dss() {&lt;br /&gt;
	global $debug, $vcid, $clid;&lt;br /&gt;
	global $disk_pc_warn, $disk_pc_alert;&lt;br /&gt;
	$query = &amp;quot;SELECT DISTINCT ds.lun, ds.name, ds.dsid, size, used FROM ds JOIN esx2ds USING (dsid) JOIN esx USING (esxid) WHERE ds.exist=1 &amp;quot;;&lt;br /&gt;
	if ($debug) {print ($query);}&lt;br /&gt;
	if ($clid &amp;gt; 0) {&lt;br /&gt;
		$query .= &amp;quot;AND clid=$clid ORDER BY lun, name;&amp;quot;;&lt;br /&gt;
	} else {&lt;br /&gt;
		$query .= &amp;quot;AND ds.vcid=$vcid ORDER BY lun, name;&amp;quot;;&lt;br /&gt;
	}&lt;br /&gt;
	if ($debug) {print ($query);}&lt;br /&gt;
	$result = mysql_query($query);&lt;br /&gt;
	if (mysql_num_rows($result) == 0) {&lt;br /&gt;
		print (&amp;quot;vCentre datastores info not found....&amp;quot;);&lt;br /&gt;
	} else {&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;LUN&amp;lt;th width=200&amp;gt;Datastore name&amp;lt;th&amp;gt;Size (GB)&amp;lt;th width=50&amp;gt;Used (%)\n&amp;quot;;&lt;br /&gt;
		while ($row = mysql_fetch_assoc($result)) {&lt;br /&gt;
			$used_pcent = round($row[&amp;#039;used&amp;#039;]/$row[&amp;#039;size&amp;#039;]*100);&lt;br /&gt;
			print &amp;quot;&amp;lt;tr&amp;gt;&amp;lt;td class=&amp;#039;num&amp;#039;&amp;gt;&amp;quot;.$row[&amp;#039;lun&amp;#039;].&amp;quot;&amp;lt;td&amp;gt;&amp;lt;a href=&amp;#039;ds-info.php?dsid=&amp;quot;.$row[&amp;#039;dsid&amp;#039;].&amp;quot;&amp;#039;&amp;gt;&amp;quot;.$row[&amp;#039;name&amp;#039;].&amp;quot;&amp;lt;/a&amp;gt;&amp;lt;td&amp;gt;&amp;quot;. round($row[&amp;#039;size&amp;#039;]/1024);&lt;br /&gt;
			print bar_graph($used_pcent, $disk_pc_warn, $disk_pc_alert);&lt;br /&gt;
		}&lt;br /&gt;
		print &amp;quot;&amp;lt;/table&amp;gt;\n&amp;quot;;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function show_vms() {&lt;br /&gt;
	global $debug, $vcid, $clid, $data_link, $self, $_REQUEST;&lt;br /&gt;
	&lt;br /&gt;
	$query = &amp;quot;SELECT vm.name AS vm, INET_NTOA(vm2ip.ip) AS ip, cluster.name AS cluster, cluster.clid, esx.name AS esx, vm.vmid, vm.is_on&amp;quot;;&lt;br /&gt;
	$query .= &amp;quot;, vm_ext.cpu, vm_ext.mem, vm_ext.vc_path FROM vm JOIN vm_ext USING (vmid) &amp;quot;;&lt;br /&gt;
	$query .= &amp;quot;LEFT JOIN vm2ip USING (vmid) JOIN cluster USING (clid) JOIN esx USING (esxid) WHERE vm.exist=1 &amp;quot;;&lt;br /&gt;
	if ($clid &amp;gt; 0) {&lt;br /&gt;
		$query .= &amp;quot;AND cluster.clid=$clid GROUP BY vm.vmid &amp;quot;;&lt;br /&gt;
	} else {&lt;br /&gt;
		$query .= &amp;quot;AND vm.vcid=$vcid GROUP BY vm.vmid &amp;quot;;&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	$th_ESX = &amp;quot;ESX&amp;quot;;&lt;br /&gt;
	$th_Folder = &amp;quot;Folder&amp;quot;;&lt;br /&gt;
	$th_Name = &amp;quot;Name&amp;quot;;&lt;br /&gt;
	$th_IP = &amp;quot;IP&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	if (array_key_exists(&amp;#039;sort1&amp;#039;, $_REQUEST)) {&lt;br /&gt;
		$sort1 = $_REQUEST[&amp;quot;sort1&amp;quot;];&lt;br /&gt;
		$sort_link = &amp;quot;&amp;amp;sort2=$sort1&amp;quot;;&lt;br /&gt;
		&lt;br /&gt;
		switch ($sort1) {&lt;br /&gt;
			case &amp;quot;esx&amp;quot;:&lt;br /&gt;
				$query .= &amp;quot;ORDER BY esx.name&amp;quot;;&lt;br /&gt;
				$th_ESX = &amp;quot;ESX&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;&amp;amp;uarr;1&amp;amp;uarr;&amp;lt;/small&amp;gt;&amp;quot;;&lt;br /&gt;
				break;&lt;br /&gt;
			case &amp;quot;dir&amp;quot;:&lt;br /&gt;
				$query .= &amp;quot;ORDER BY vm_ext.vc_path&amp;quot;;&lt;br /&gt;
				$th_Folder = &amp;quot;Folder&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;&amp;amp;uarr;1&amp;amp;uarr;&amp;lt;/small&amp;gt;&amp;quot;;&lt;br /&gt;
				break;&lt;br /&gt;
			case &amp;quot;vm&amp;quot;:&lt;br /&gt;
				$query .= &amp;quot;ORDER BY vm.name&amp;quot;;&lt;br /&gt;
				$th_Name = &amp;quot;Name&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;&amp;amp;uarr;1&amp;amp;uarr;&amp;lt;/small&amp;gt;&amp;quot;;&lt;br /&gt;
				break;&lt;br /&gt;
			case &amp;quot;ip&amp;quot;;&lt;br /&gt;
				$query .= &amp;quot;ORDER BY vm2ip.ip&amp;quot;;&lt;br /&gt;
				$th_IP = &amp;quot;IP&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;&amp;amp;uarr;1&amp;amp;uarr;&amp;lt;/small&amp;gt;&amp;quot;;&lt;br /&gt;
				break;&lt;br /&gt;
			default;&lt;br /&gt;
				$query .= &amp;quot;ORDER BY vm.name&amp;quot;;&lt;br /&gt;
				$th_Name = &amp;quot;Name&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;&amp;amp;uarr;1&amp;amp;uarr;&amp;lt;/small&amp;gt;&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		if (array_key_exists(&amp;#039;sort2&amp;#039;, $_REQUEST)) {&lt;br /&gt;
			switch ($_REQUEST[&amp;quot;sort2&amp;quot;]) {&lt;br /&gt;
				case &amp;quot;esx&amp;quot;:&lt;br /&gt;
					$query .= &amp;quot;, esx.name;&amp;quot;;&lt;br /&gt;
					$th_ESX = &amp;quot;ESX&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;&amp;amp;uarr;2&amp;amp;uarr;&amp;lt;/small&amp;gt;&amp;quot;;&lt;br /&gt;
					break;&lt;br /&gt;
				case &amp;quot;dir&amp;quot;:&lt;br /&gt;
					$query .= &amp;quot;, vm_ext.vc_path;&amp;quot;;&lt;br /&gt;
					$th_Folder = &amp;quot;Folder&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;&amp;amp;uarr;2&amp;amp;uarr;&amp;lt;/small&amp;gt;&amp;quot;;&lt;br /&gt;
					break;&lt;br /&gt;
				case &amp;quot;vm&amp;quot;:&lt;br /&gt;
					$query .= &amp;quot;, vm.name;&amp;quot;;&lt;br /&gt;
					$th_Name = &amp;quot;Name&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;&amp;amp;uarr;2&amp;amp;uarr;&amp;lt;/small&amp;gt;&amp;quot;;&lt;br /&gt;
					break;&lt;br /&gt;
				case &amp;quot;ip&amp;quot;;&lt;br /&gt;
					$query .= &amp;quot;, vm2ip.ip;&amp;quot;;&lt;br /&gt;
					$th_IP = &amp;quot;IP&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;&amp;amp;uarr;2&amp;amp;uarr;&amp;lt;/small&amp;gt;&amp;quot;;&lt;br /&gt;
					break;&lt;br /&gt;
				default;&lt;br /&gt;
					$query .= &amp;quot;, vm.name;&amp;quot;;&lt;br /&gt;
			}&lt;br /&gt;
		} else {&lt;br /&gt;
			$query .= &amp;quot;;&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
	} else {&lt;br /&gt;
		$sort_link = &amp;quot;&amp;quot;;&lt;br /&gt;
		$query .= &amp;quot;ORDER BY cluster.name, vm.name;&amp;quot;;&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	if ($debug) {print ($query);}&lt;br /&gt;
	$result = mysql_query($query);&lt;br /&gt;
	if (!$result) {&lt;br /&gt;
		print (&amp;quot;&amp;lt;b&amp;gt;Query failed !!!!&amp;lt;br&amp;gt;Query:&amp;lt;/b&amp;gt; $query&amp;lt;br&amp;gt;&amp;lt;b&amp;gt;Error:&amp;lt;/b&amp;gt; &amp;quot;. mysql_error());&lt;br /&gt;
	}&lt;br /&gt;
	if (mysql_num_rows($result) == 0) {&lt;br /&gt;
		print (&amp;quot;No VMs found....&amp;quot;);&lt;br /&gt;
		return;&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; valign=&amp;#039;top&amp;#039;&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;&amp;lt;a href=&amp;#039;$self?$data_link&amp;amp;sort1=esx$sort_link&amp;#039;&amp;gt;$th_ESX&amp;lt;/a&amp;gt;&amp;lt;th&amp;gt;&amp;lt;a href=&amp;#039;$self?$data_link&amp;amp;sort1=dir$sort_link&amp;#039;&amp;gt;$th_Folder&amp;lt;/a&amp;gt;&amp;quot;;&lt;br /&gt;
	print &amp;quot;&amp;lt;th width=170&amp;gt;&amp;lt;a href=&amp;#039;$self?$data_link&amp;amp;sort1=vm$sort_link&amp;#039;&amp;gt;$th_Name&amp;lt;/a&amp;gt;&amp;lt;th&amp;gt;State&amp;lt;th&amp;gt;&amp;lt;a href=&amp;#039;$self?$data_link&amp;amp;sort1=ip$sort_link&amp;#039;&amp;gt;$th_IP&amp;lt;/a&amp;gt;&amp;lt;th&amp;gt;vCPU&amp;lt;th&amp;gt;Mem&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;MB&amp;lt;/small&amp;gt;\n&amp;quot;;&lt;br /&gt;
	$current_vmid = 0;&lt;br /&gt;
	$odd_row = false;&lt;br /&gt;
	while ($row = mysql_fetch_assoc($result)) {&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;
		if ($row[&amp;#039;is_on&amp;#039;]) {&lt;br /&gt;
			$vm_state = &amp;quot;ON&amp;quot;;&lt;br /&gt;
		} else {&lt;br /&gt;
			$vm_state = &amp;quot;OFF&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
		print &amp;quot;&amp;lt;td&amp;gt;&amp;quot;.$row[&amp;#039;esx&amp;#039;].&amp;quot;&amp;lt;td&amp;gt;&amp;quot;.$row[&amp;#039;vc_path&amp;#039;].&amp;quot;&amp;lt;td&amp;gt;&amp;lt;a href=&amp;#039;vm-detail.php?vmid=&amp;quot;.$row[&amp;#039;vmid&amp;#039;].&amp;quot;&amp;#039;&amp;gt;&amp;lt;b&amp;gt;&amp;quot;.$row[&amp;#039;vm&amp;#039;].&amp;quot;&amp;lt;/b&amp;gt;&amp;lt;/a&amp;gt;&amp;quot;;&lt;br /&gt;
		print &amp;quot;&amp;lt;td class=&amp;#039;num&amp;#039;&amp;gt;&amp;quot;.$vm_state.&amp;quot;&amp;lt;td class=&amp;#039;num&amp;#039;&amp;gt;&amp;quot;.$row[&amp;#039;ip&amp;#039;].&amp;quot;&amp;lt;td class=&amp;#039;num&amp;#039;&amp;gt;&amp;quot;.$row[&amp;#039;cpu&amp;#039;].&amp;quot;&amp;lt;td class=&amp;#039;num&amp;#039;&amp;gt;&amp;quot;.$row[&amp;#039;mem&amp;#039;].&amp;quot;\n&amp;quot;;&lt;br /&gt;
	}&lt;br /&gt;
	print &amp;quot;&amp;lt;/table&amp;gt;\n&amp;quot;;&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;br /&gt;
&lt;br /&gt;
[[Category:PHP Script]]&lt;/div&gt;</summary>
		<author><name>Sstrutt</name></author>
	</entry>
</feed>