<?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_vm-detail.php_v1</id>
	<title>VI-DB vm-detail.php v1 - 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_vm-detail.php_v1"/>
	<link rel="alternate" type="text/html" href="http://vwiki.co.uk/index.php?title=VI-DB_vm-detail.php_v1&amp;action=history"/>
	<updated>2026-04-19T05:26:10Z</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_vm-detail.php_v1&amp;diff=1226&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_vm-detail.php_v1&amp;diff=1226&amp;oldid=prev"/>
		<updated>2011-03-14T10:13:56Z</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;
&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;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
&amp;lt;title&amp;gt;vi-db (vm)&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;
&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;
if (!array_key_exists(&amp;#039;vmid&amp;#039;, $_REQUEST)) {&lt;br /&gt;
	die (&amp;quot;Error - required parameter does not exist!&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Initial query (need VM name for page title)&lt;br /&gt;
&lt;br /&gt;
$query = &amp;quot;SELECT vm.name AS vm, vc.name AS vc, cluster.name AS cluster, esx.name AS esx, vm.vmid, vm.exist, vm.is_on, &amp;quot;;&lt;br /&gt;
$query .= &amp;quot;vm.hostname, vm.stamp &amp;quot;;&lt;br /&gt;
$query .= &amp;quot; FROM vm JOIN vc USING (vcid) JOIN cluster USING (clid) JOIN esx USING (esxid) &amp;quot;;&lt;br /&gt;
$query .= &amp;quot;WHERE vmid=&amp;quot;. $_REQUEST[&amp;quot;vmid&amp;quot;] .&amp;quot;;&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;VM 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;vm&amp;#039;] .&amp;quot;&amp;lt;/h1&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
// ----------------- Layout table (top 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;
// ------------------- Basic VM info ------------------------&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;Hostname:&amp;lt;td&amp;gt;&amp;quot;. $row[&amp;#039;hostname&amp;#039;];&lt;br /&gt;
print &amp;quot;\n&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Powered:&amp;lt;td&amp;gt;&amp;quot;;&lt;br /&gt;
if ($row[&amp;#039;exist&amp;#039;]) {&lt;br /&gt;
	if ($row[&amp;#039;is_on&amp;#039;]) {&lt;br /&gt;
		print &amp;quot;ON&amp;quot;;&lt;br /&gt;
	} else {&lt;br /&gt;
		print &amp;quot;OFF&amp;quot;;&lt;br /&gt;
	}&lt;br /&gt;
} else {&lt;br /&gt;
	print &amp;quot;gone&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
print &amp;quot;\n&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;vCentre&amp;lt;td&amp;gt;&amp;quot;. $row[&amp;#039;vc&amp;#039;];&lt;br /&gt;
print &amp;quot;\n&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Cluster&amp;lt;td&amp;gt;&amp;quot;. $row[&amp;#039;cluster&amp;#039;];&lt;br /&gt;
print &amp;quot;\n&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;ESX&amp;lt;td&amp;gt;&amp;quot;. $row[&amp;#039;esx&amp;#039;];&lt;br /&gt;
print &amp;quot;\n&amp;lt;tr&amp;gt;&amp;lt;td colspan=2&amp;gt;Last changed: &amp;quot;. $row[&amp;#039;stamp&amp;#039;] .&amp;quot;&amp;lt;/table&amp;gt;\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
// ------------------ Layout table cell (top 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;
// ----------------- Extended VM info ---------------------------------------&lt;br /&gt;
$query = &amp;quot;SELECT cpu, mem, vc_path, vmx_path, guest_name, notes FROM vm_ext JOIN os USING (osid)WHERE vmid=&amp;quot;. $_REQUEST[&amp;quot;vmid&amp;quot;] .&amp;quot;;&amp;quot;;&lt;br /&gt;
if ($debug) {print ($query);}&lt;br /&gt;
$result = mysql_query($query);&lt;br /&gt;
//print $query;&lt;br /&gt;
if (mysql_num_rows($result) == 0) {&lt;br /&gt;
	print (&amp;quot;VM extended info not found....&amp;quot;);&lt;br /&gt;
} else {&lt;br /&gt;
	$row = mysql_fetch_assoc($result);&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;vCPU&amp;#039;s:&amp;lt;td&amp;gt; &amp;amp;nbsp &amp;quot;. $row[&amp;#039;cpu&amp;#039;] .&amp;quot;&amp;lt;th&amp;gt;Memory (MB):&amp;lt;td&amp;gt; &amp;amp;nbsp &amp;quot;. $row[&amp;#039;mem&amp;#039;];&lt;br /&gt;
	print &amp;quot;&amp;lt;th&amp;gt;OS Type:&amp;lt;td&amp;gt;&amp;quot;.$row[&amp;#039;guest_name&amp;#039;];&lt;br /&gt;
	print &amp;quot;\n&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Folder:&amp;lt;td colspan=5&amp;gt;&amp;quot;.$row[&amp;#039;vc_path&amp;#039;];&lt;br /&gt;
	print &amp;quot;\n&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;VMX:&amp;lt;td colspan=5&amp;gt;&amp;quot;.$row[&amp;#039;vmx_path&amp;#039;];&lt;br /&gt;
	print &amp;quot;\n&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Notes:&amp;lt;td colspan=5&amp;gt;&amp;quot;. str_replace(&amp;quot;\\n&amp;quot;, &amp;quot;&amp;lt;br&amp;gt;&amp;quot;, $row[&amp;#039;notes&amp;#039;]).&amp;quot;&amp;lt;/table&amp;gt;\n&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// ------------------- Layout table cell (bottom left) ----------------------&lt;br /&gt;
print &amp;quot;\n&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;
// ----------------- VM Network info ------------------------------------&lt;br /&gt;
$query = &amp;quot;SELECT num, name, vlan, INET_NTOA(ip) AS ip, type FROM vm2ip JOIN vm_nic USING (vnicid) LEFT JOIN nw USING (nwid) WHERE vm2ip.vmid=&amp;quot;. $_REQUEST[&amp;quot;vmid&amp;quot;];&lt;br /&gt;
$query .= &amp;quot; ORDER BY num;&amp;quot;;&lt;br /&gt;
if ($debug) {print ($query);}&lt;br /&gt;
$result = mysql_query($query);&lt;br /&gt;
//print $query;&lt;br /&gt;
if (mysql_num_rows($result) == 0) {&lt;br /&gt;
	print (&amp;quot;VM network info not found....&amp;quot;);&lt;br /&gt;
} else {&lt;br /&gt;
	while ($row = mysql_fetch_assoc($result)) {&lt;br /&gt;
		print &amp;quot;&amp;lt;table class=&amp;#039;BasicTable&amp;#039; align=&amp;#039;center&amp;#039; width=300&amp;gt;\n&amp;lt;tr&amp;gt;&amp;lt;th width=50&amp;gt;NIC:&amp;lt;td width=30&amp;gt; &amp;amp;nbsp &amp;quot;. $row[&amp;#039;num&amp;#039;].&amp;quot;&amp;lt;th width=50&amp;gt;IP:&amp;lt;td&amp;gt;&amp;quot;.$row[&amp;#039;ip&amp;#039;];&lt;br /&gt;
		print &amp;quot;\n&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Name:&amp;lt;td colspan=3&amp;gt;&amp;quot;. nl2br($row[&amp;#039;name&amp;#039;]);&lt;br /&gt;
		print &amp;quot;\n&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;VLAN:&amp;lt;td&amp;gt;&amp;quot;.$row[&amp;#039;vlan&amp;#039;].&amp;quot;&amp;lt;th&amp;gt;Type:&amp;lt;td&amp;gt;&amp;quot;.$row[&amp;#039;type&amp;#039;].&amp;quot;&amp;lt;/table&amp;gt;\n&amp;quot;;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// ------------------- Layout table  (bottom 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;
// ----------------- VM Disk info ------------------------------------&lt;br /&gt;
$query = &amp;quot;SELECT num, size, thin, path FROM vmdk WHERE vmid=&amp;quot;. $_REQUEST[&amp;quot;vmid&amp;quot;] .&amp;quot;;&amp;quot;;&lt;br /&gt;
if ($debug) {print ($query);}&lt;br /&gt;
$result = mysql_query($query);&lt;br /&gt;
//print $query;&lt;br /&gt;
if (mysql_num_rows($result) == 0) {&lt;br /&gt;
	print (&amp;quot;VM disk 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;No&amp;lt;th&amp;gt;Size (GB)&amp;lt;th&amp;gt;Type&amp;lt;th&amp;gt;Path&amp;quot;;&lt;br /&gt;
	while ($row = mysql_fetch_assoc($result)) {&lt;br /&gt;
		print &amp;quot;\n&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;quot;.$row[&amp;#039;num&amp;#039;].&amp;quot;&amp;lt;td&amp;gt;&amp;quot;. round($row[&amp;#039;size&amp;#039;]/1024, 0).&amp;quot;&amp;lt;td&amp;gt;&amp;quot;;&lt;br /&gt;
		if ($row[&amp;#039;thin&amp;#039;] == 1) {&lt;br /&gt;
			print &amp;quot;Thin&amp;quot;;&lt;br /&gt;
		} else {&lt;br /&gt;
			print &amp;quot;Thick&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
		print &amp;quot;&amp;lt;td&amp;gt;&amp;quot;.$row[&amp;#039;path&amp;#039;];&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;
// ------------------- Layout table end ------------------------------&lt;br /&gt;
print &amp;quot;&amp;lt;/table&amp;gt;\n&amp;quot;;&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;Back to search 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;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:PHP]]&lt;/div&gt;</summary>
		<author><name>Sstrutt</name></author>
	</entry>
</feed>