2024-09-07 20:53:46 +10:00
<?xml version="1.0" encoding="UTF-8"?>
<!-- $Id: phpsysinfo.xslt 699 2012 - 09 - 15 11:57:13Z namiltd $ -->
< xsl:stylesheet version = "1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fn="http://www.w3.org/2005/xpath-functions"
xmlns:xdt="http://www.w3.org/2005/xpath-datatypes" xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
< xsl:output version = "4.0" method = "html" indent = "no"
encoding="UTF-8" doctype-public="-//W3C//DTD HTML 4.0 Transitional//EN"
doctype-system="http://www.w3.org/TR/html4/loose.dtd" />
< xsl:param name = "SV_OutputFormat" select = "'HTML'" / >
< xsl:variable name = "XML" select = "/" / >
< xsl:template match = "/" >
< html >
< head >
< title >
< xsl:text > phpSysInfo< / xsl:text >
< / title >
< style type = "text/css" >
< xsl:comment >
@import url("templates/phpsysinfo.css");
< / xsl:comment >
< / style >
2025-05-14 16:14:01 +01:00
< link href = "gfx/favicon.gif" rel = "shortcut icon" / >
2024-09-07 20:53:46 +10:00
< / head >
< body >
< xsl:for-each select = "$XML" >
< xsl:for-each select = "*" >
< div >
< xsl:for-each select = "Vitals" >
< h1 id = "title" style = "_color: #000; /* ie6 fix */" >
< span >
< xsl:text > System information : < / xsl:text >
< / span >
< xsl:value-of select = "@Hostname" / >
< span >
< xsl:text > (< / xsl:text >
< / span >
< xsl:value-of select = "@IPAddr" / >
< span >
< xsl:text > )< / xsl:text >
< / span >
< / h1 >
< / xsl:for-each >
2025-05-14 16:14:01 +01:00
< div id = "vitals" class = "halfsize" >
2024-09-07 20:53:46 +10:00
< xsl:for-each select = "Vitals" >
< h2 >
< span >
< xsl:text > System Vital< / xsl:text >
< / span >
< / h2 >
2025-05-14 16:14:01 +01:00
< div style = "overflow-x:auto;" >
< table border = "0" style = "border-spacing:0;"
class="stripMe" id="vitalsTable"
width="100%">
< tbody >
< tr >
2024-09-07 20:53:46 +10:00
< td style = "width:160px;" >
< span >
2025-05-14 16:14:01 +01:00
< xsl:text > Canonical Hostname< / xsl:text >
2024-09-07 20:53:46 +10:00
< / span >
< / td >
< td >
< xsl:value-of
2025-05-14 16:14:01 +01:00
select="@Hostname" />
2024-09-07 20:53:46 +10:00
< / td >
< / tr >
< tr class = "odd" >
< td style = "width:160px;" >
< span >
2025-05-14 16:14:01 +01:00
< xsl:text > Listening IP< / xsl:text >
2024-09-07 20:53:46 +10:00
< / span >
< / td >
< td >
< xsl:value-of
2025-05-14 16:14:01 +01:00
select="@IPAddr" />
2024-09-07 20:53:46 +10:00
< / td >
< / tr >
2025-05-14 16:14:01 +01:00
< tr >
2024-09-07 20:53:46 +10:00
< td style = "width:160px;" >
< span >
2025-05-14 16:14:01 +01:00
< xsl:text > Kernel Version< / xsl:text >
2024-09-07 20:53:46 +10:00
< / span >
< / td >
< td >
< xsl:value-of
2025-05-14 16:14:01 +01:00
select="@Kernel" />
2024-09-07 20:53:46 +10:00
< / td >
< / tr >
< tr class = "odd" >
< td style = "width:160px;" >
< span >
2025-05-14 16:14:01 +01:00
< xsl:text > Distro Name< / xsl:text >
2024-09-07 20:53:46 +10:00
< / span >
< / td >
< td >
2025-05-14 16:14:01 +01:00
< img
style="height:16px; width:16px;">
< xsl:attribute
name="src">
< xsl:if
test="substring(string(concat(' gfx/images/' ,@Distroicon)), 2, 1) = ':'">
< xsl:text > file:///< / xsl:text >
< / xsl:if >
< xsl:value-of
select="translate(string(concat(' gfx/images/' ,@Distroicon)), '\ ', '/')" />
< / xsl:attribute >
< xsl:attribute
name="alt" />
< xsl:attribute
name="title">
< xsl:value-of
select="@Distroicon" />
< / xsl:attribute >
< / img >
< span >
< xsl:text disable-output-escaping = "yes" > & nbsp;< / xsl:text >
< / span >
< span >
< xsl:text disable-output-escaping = "yes" > & nbsp;< / xsl:text >
< / span >
2024-09-07 20:53:46 +10:00
< xsl:value-of
2025-05-14 16:14:01 +01:00
select="@Distro" />
2024-09-07 20:53:46 +10:00
< / td >
< / tr >
< tr class = "odd" >
< td style = "width:160px;" >
< span >
2025-05-14 16:14:01 +01:00
< xsl:text > OS Type< / xsl:text >
2024-09-07 20:53:46 +10:00
< / span >
< / td >
< td >
2025-05-14 16:14:01 +01:00
< img
style="height:16px; width:16px;">
< xsl:attribute
name="src">
< xsl:if
test="substring(string(concat(' gfx/images/' ,@OS,' .png' )), 2, 1) = ':'">
< xsl:text > file:///< / xsl:text >
< / xsl:if >
2024-09-07 20:53:46 +10:00
< xsl:value-of
2025-05-14 16:14:01 +01:00
select="translate(string(concat(' gfx/images/' ,@OS,' .png' )), '\ ', '/')" />
< / xsl:attribute >
< xsl:attribute
name="alt" />
< xsl:attribute
name="title">
2024-09-07 20:53:46 +10:00
< xsl:value-of
2025-05-14 16:14:01 +01:00
select="concat(@OS,' .png' )" />
< / xsl:attribute >
< / img >
< span >
< xsl:text disable-output-escaping = "yes" > & nbsp;< / xsl:text >
< / span >
< span >
< xsl:text disable-output-escaping = "yes" > & nbsp;< / xsl:text >
< / span >
< xsl:value-of
select="@OS" />
2024-09-07 20:53:46 +10:00
< / td >
< / tr >
< tr >
2025-05-14 16:14:01 +01:00
< td style = "width:160px;" >
< span >
< xsl:text > Uptime< / xsl:text >
< / span >
2024-09-07 20:53:46 +10:00
< / td >
< td >
2025-05-14 16:14:01 +01:00
< span >
< xsl:value-of
select="floor( @Uptime div 60 div 60 div 24)" />
< / span >
< span >
< xsl:text > Days < / xsl:text >
< / span >
< span >
< xsl:value-of
select="floor( ( @Uptime div 60 div 60) - ( floor( @Uptime div 60 div 60 div 24) * 24) )" />
< / span >
< span >
< xsl:text > Hours < / xsl:text >
< / span >
< span >
< xsl:value-of
select="floor( @Uptime div 60 - ( floor( @Uptime div 60 div 60 div 24) * 60 * 24) - ( floor( ( @Uptime div 60 div 60) - ( floor( @Uptime div 60 div 60 div 24) * 24) ) * 60) )" />
< / span >
< span >
< xsl:text > Minutes< / xsl:text >
< / span >
2024-09-07 20:53:46 +10:00
< / td >
< / tr >
2025-05-14 16:14:01 +01:00
< tr class = "odd" >
< td style = "width:160px;" >
< span >
< xsl:text > Current Users< / xsl:text >
< / span >
2024-09-07 20:53:46 +10:00
< / td >
< td >
2025-05-14 16:14:01 +01:00
< xsl:value-of
select="@Users" />
2024-09-07 20:53:46 +10:00
< / td >
< / tr >
2025-05-14 16:14:01 +01:00
< tr >
< td style = "width:160px;" >
2024-09-07 20:53:46 +10:00
< span >
2025-05-14 16:14:01 +01:00
< xsl:text > Load Averages< / xsl:text >
2024-09-07 20:53:46 +10:00
< / span >
2025-05-14 16:14:01 +01:00
< / td >
< td >
2024-09-07 20:53:46 +10:00
< xsl:value-of
2025-05-14 16:14:01 +01:00
select="@LoadAvg" />
< xsl:if
test="count(@CPULoad )> 0">
< xsl:text disable-output-escaping = "yes" > < br/> < / xsl:text >
< div
style="float:left; width:{concat( CPULoad , ' px' )}; "
class="bar">
2024-09-07 20:53:46 +10:00
< span >
2025-05-14 16:14:01 +01:00
< xsl:text disable-output-escaping = "yes" > & nbsp;< / xsl:text >
2024-09-07 20:53:46 +10:00
< / span >
2025-05-14 16:14:01 +01:00
< / div >
< div
style="float:left; ">
< span >
< xsl:text disable-output-escaping = "yes" > & nbsp;< / xsl:text >
< / span >
< xsl:value-of
select="round(@CPULoad)" />
< span >
< xsl:text > %< / xsl:text >
< / span >
< / div >
< / xsl:if >
< / td >
< / tr >
< xsl:if
test="count(@SysLang )> 0">
< tr class = "odd" >
< td style = "width:160px;" >
< span >
< xsl:text > System Language< / xsl:text >
< / span >
< / td >
< td >
< xsl:value-of
select="@SysLang" />
< / td >
< / tr >
< / xsl:if >
< xsl:if
test="count(@CodePage )> 0">
< tr class = "odd" >
< td style = "width:160px;" >
< span >
< xsl:text > Code Page< / xsl:text >
< / span >
< / td >
< td >
< xsl:value-of
select="@CodePage" />
< / td >
< / tr >
< / xsl:if >
< xsl:if
test="count(@Processes )> 0">
< tr class = "odd" >
< td style = "width:160px;" >
< span >
< xsl:text > Processes< / xsl:text >
< / span >
< / td >
< td >
< xsl:value-of
select="@Processes" />
< / td >
< / tr >
< / xsl:if >
< / tbody >
< / table >
< / div >
< / xsl:for-each >
< / div >
< div id = "hardware" class = "halfsize" >
< xsl:for-each select = "Hardware" >
< h2 >
< span >
< xsl:text > Hardware Information< / xsl:text >
< / span >
< / h2 >
< div style = "overflow-x:auto;" >
< xsl:if
test="count(@Name )> 0">
< table border = "0" style = "border-spacing:0;"
width="100%">
< tbody >
< tr class = "odd" >
< td style = "width:160px;" >
< span >
< xsl:text > Machine< / xsl:text >
< / span >
< / td >
< td >
< xsl:value-of
select="@Name" />
< / td >
< / tr >
< / tbody >
< / table >
< / xsl:if >
< xsl:if
test="count(@Virtualizer )> 0">
< table border = "0" style = "border-spacing:0;"
width="100%">
< tbody >
< tr class = "odd" >
< td style = "width:160px;" >
< span >
< xsl:text > Virtualizer< / xsl:text >
< / span >
< / td >
< td >
< xsl:value-of
select="@Virtualizer" />
< / td >
< / tr >
< / tbody >
< / table >
< / xsl:if >
< xsl:for-each select = "CPU" >
< table border = "0" style = "border-spacing:0;"
width="100%">
< tbody >
< tr class = "odd" >
< td style = "width:160px;" >
< span >
< xsl:text > Processors< / xsl:text >
< / span >
< / td >
< td >
< xsl:value-of
select="count(CpuCore)" />
< / td >
< / tr >
< xsl:for-each
select="CpuCore">
< xsl:if
test="count(@Model )> 0">
< tr class = "odd" >
< td
style="width:160px;">
2024-09-07 20:53:46 +10:00
< span >
2025-05-14 16:14:01 +01:00
< xsl:text > Model< / xsl:text >
2024-09-07 20:53:46 +10:00
< / span >
2025-05-14 16:14:01 +01:00
< / td >
< td >
< xsl:value-of
select="@Model" />
< / td >
< / tr >
< / xsl:if >
< xsl:if
test="count(@CpuSpeed )> 0">
< tr >
< td
style="width:160px;">
2024-09-07 20:53:46 +10:00
< span >
2025-05-14 16:14:01 +01:00
< xsl:text > CPU Speed< / xsl:text >
2024-09-07 20:53:46 +10:00
< / span >
2025-05-14 16:14:01 +01:00
< / td >
< td >
2024-09-07 20:53:46 +10:00
< xsl:value-of
2025-05-14 16:14:01 +01:00
select="@CpuSpeed" />
2024-09-07 20:53:46 +10:00
< span >
2025-05-14 16:14:01 +01:00
< xsl:text > MHz< / xsl:text >
2024-09-07 20:53:46 +10:00
< / span >
2025-05-14 16:14:01 +01:00
< / td >
< / tr >
< / xsl:if >
< xsl:if
test="count(@CpuSpeedMax )> 0">
< tr >
< td
style="width:160px;">
2024-09-07 20:53:46 +10:00
< span >
2025-05-14 16:14:01 +01:00
< xsl:text > CPU Speed Max< / xsl:text >
2024-09-07 20:53:46 +10:00
< / span >
2025-05-14 16:14:01 +01:00
< / td >
< td >
< xsl:value-of
select="@CpuSpeedMax" />
2024-09-07 20:53:46 +10:00
< span >
2025-05-14 16:14:01 +01:00
< xsl:text > MHz< / xsl:text >
< / span >
< / td >
< / tr >
< / xsl:if >
< xsl:if
test="count(@CpuSpeedMin )> 0">
< tr >
< td
style="width:160px;">
< span >
< xsl:text > CPU Speed Min< / xsl:text >
2024-09-07 20:53:46 +10:00
< / span >
2025-05-14 16:14:01 +01:00
< / td >
< td >
2024-09-07 20:53:46 +10:00
< xsl:value-of
2025-05-14 16:14:01 +01:00
select="@CpuSpeedMin" />
2024-09-07 20:53:46 +10:00
< span >
2025-05-14 16:14:01 +01:00
< xsl:text > MHz< / xsl:text >
2024-09-07 20:53:46 +10:00
< / span >
2025-05-14 16:14:01 +01:00
< / td >
< / tr >
< / xsl:if >
< xsl:if
test="count(@Cache )> 0">
< tr >
< td
style="width:160px;">
2024-09-07 20:53:46 +10:00
< span >
2025-05-14 16:14:01 +01:00
< xsl:text > Cache Size< / xsl:text >
2024-09-07 20:53:46 +10:00
< / span >
2025-05-14 16:14:01 +01:00
< / td >
< td >
< xsl:value-of
select="round(@Cache div 1024)" />
2024-09-07 20:53:46 +10:00
< span >
2025-05-14 16:14:01 +01:00
< xsl:text > KiB< / xsl:text >
< / span >
< / td >
< / tr >
< / xsl:if >
< xsl:if
test="count(@Virt )> 0">
< tr class = "odd" >
< td
style="width:160px;">
< span >
< xsl:text > Virtualization< / xsl:text >
< / span >
< / td >
< td >
< xsl:value-of
select="@Virt" />
< / td >
< / tr >
< / xsl:if >
< xsl:if
test="count(@BusSpeed )> 0">
< tr class = "odd" >
< td
style="width:160px;">
< span >
< xsl:text > Bus Speed< / xsl:text >
< / span >
< / td >
< td >
< xsl:value-of
select="@BusSpeed" />
< span >
< xsl:text > MHz< / xsl:text >
< / span >
< / td >
< / tr >
< / xsl:if >
< xsl:if
test="count(@Bogomips )> 0">
< tr class = "odd" >
< td
style="width:160px;">
< span >
< xsl:text > System Bogomips< / xsl:text >
< / span >
< / td >
< td >
< xsl:value-of
select="round(@Bogomips)" />
< / td >
< / tr >
< / xsl:if >
< xsl:if
test="count(@Voltage )> 0">
< tr class = "odd" >
< td
style="width:160px;">
< span >
< xsl:text > Voltage< / xsl:text >
< / span >
< / td >
< td >
< xsl:value-of
select="@Voltage" />
< span >
< xsl:text > V< / xsl:text >
< / span >
< / td >
< / tr >
< / xsl:if >
< xsl:if
test="count(@Manufacturer )> 0">
< tr class = "odd" >
< td
style="width:160px;">
< span >
< xsl:text > Manufacturer< / xsl:text >
< / span >
< / td >
< td >
< xsl:value-of
select="@Manufacturer" />
< / td >
< / tr >
< / xsl:if >
< xsl:if
test="count(@Load )> 0">
< tr class = "odd" >
< td
style="width:160px;">
< span >
< xsl:text > Load Averages< / xsl:text >
2024-09-07 20:53:46 +10:00
< / span >
2025-05-14 16:14:01 +01:00
< / td >
< td >
2024-09-07 20:53:46 +10:00
< xsl:value-of
2025-05-14 16:14:01 +01:00
select="round(@Load)" />
2024-09-07 20:53:46 +10:00
< span >
< xsl:text > %< / xsl:text >
< / span >
2025-05-14 16:14:01 +01:00
< / td >
< / tr >
< / xsl:if >
< / xsl:for-each >
< / tbody >
< / table >
< / xsl:for-each >
< xsl:for-each select = "MEM" >
< h3 >
< span >
< xsl:text > Memory Chips< / xsl:text >
< / span >
< / h3 >
< table style = "display:block; border-spacing:0;"
id="memTable"
width="100%">
< tbody >
< tr >
< td >
< ul
style="margin-left:10px;">
< xsl:for-each
select="Chip">
< li >
< xsl:if
test="count(@Count )> 0">
< xsl:if
test="round(@Count) > 1">
< span >
< xsl:text > (< / xsl:text >
< / span >
< xsl:value-of select = "round(@Count)" / >
< span >
< xsl:text > x) < / xsl:text >
< / span >
< / xsl:if >
< / xsl:if >
< xsl:value-of
select="@Name" />
< xsl:if
test="count(@Capacity )> 0">
< span >
< xsl:text > (< / xsl:text >
< / span >
< xsl:value-of select = "round(@Capacity div 1024)" / >
< span >
< xsl:text > KiB)< / xsl:text >
< / span >
< / xsl:if >
< / li >
< / xsl:for-each >
< / ul >
< / td >
< / tr >
< / tbody >
< / table >
< / xsl:for-each >
< xsl:for-each select = "PCI" >
< h3 >
< span >
< xsl:text > PCI Devices< / xsl:text >
< / span >
< / h3 >
< table style = "display:block; border-spacing:0;"
id="pciTable"
width="100%">
< tbody >
< tr >
< td >
< ul
style="margin-left:10px;">
< xsl:for-each
select="Device">
< li >
< xsl:if
test="count(@Count )> 0">
< xsl:if
test="round(@Count) > 1">
< span >
< xsl:text > (< / xsl:text >
< / span >
< xsl:value-of select = "round(@Count)" / >
< span >
< xsl:text > x) < / xsl:text >
< / span >
< / xsl:if >
< / xsl:if >
< xsl:value-of
select="@Name" />
< / li >
< / xsl:for-each >
< / ul >
< / td >
< / tr >
< / tbody >
< / table >
< / xsl:for-each >
< xsl:for-each select = "IDE" >
< h3 class = "odd" >
< span >
< xsl:text > IDE Devices< / xsl:text >
< / span >
< / h3 >
< table style = "display:block; border-spacing:0;"
class="odd" id="ideTable"
width="100%">
< tbody >
< tr >
< td >
< ul
style="margin-left:10px;">
< xsl:for-each
select="Device">
< li >
< xsl:if
test="count(@Count )> 0">
< xsl:if
test="round(@Count) > 1">
< span >
< xsl:text > (< / xsl:text >
< / span >
< xsl:value-of select = "round(@Count)" / >
< span >
< xsl:text > x) < / xsl:text >
< / span >
< / xsl:if >
< / xsl:if >
< xsl:value-of
select="@Name" />
< xsl:if
test="count(@Capacity )> 0">
< span >
< xsl:text > (< / xsl:text >
< / span >
< xsl:value-of select = "round(@Capacity div 1024)" / >
< span >
< xsl:text > KiB)< / xsl:text >
< / span >
< / xsl:if >
< / li >
< / xsl:for-each >
< / ul >
< / td >
< / tr >
< / tbody >
< / table >
< / xsl:for-each >
< xsl:for-each select = "SCSI" >
< h3 >
< span >
< xsl:text > SCSI Devices< / xsl:text >
< / span >
< / h3 >
< table style = "border-spacing:0;"
id="scsiTable"
width="100%">
< tbody >
< tr >
< td
style="display:block;">
< ul
style="margin-left:10px;">
< xsl:for-each
select="Device">
< li >
< xsl:if
test="count(@Count )> 0">
< xsl:if
test="round(@Count) > 1">
< span >
< xsl:text > (< / xsl:text >
< / span >
< xsl:value-of select = "round(@Count)" / >
< span >
< xsl:text > x) < / xsl:text >
< / span >
< / xsl:if >
< / xsl:if >
< xsl:value-of
select="@Name" />
< xsl:if
test="count(@Capacity )> 0">
< span >
< xsl:text > (< / xsl:text >
< / span >
< xsl:value-of select = "round(@Capacity div 1024)" / >
< span >
< xsl:text > KiB)< / xsl:text >
< / span >
< / xsl:if >
< / li >
< / xsl:for-each >
< / ul >
< / td >
< / tr >
< / tbody >
< / table >
< / xsl:for-each >
< xsl:for-each select = "NVMe" >
< h3 >
< span >
< xsl:text > NVMe Devices< / xsl:text >
< / span >
< / h3 >
< table style = "border-spacing:0;"
id="nvmeTable"
width="100%">
< tbody >
< tr >
< td
style="display:block;">
< ul
style="margin-left:10px;">
< xsl:for-each
select="Device">
< li >
< xsl:if
test="count(@Count )> 0">
< xsl:if
test="round(@Count) > 1">
< span >
< xsl:text > (< / xsl:text >
< / span >
< xsl:value-of select = "round(@Count)" / >
< span >
< xsl:text > x) < / xsl:text >
< / span >
< / xsl:if >
< / xsl:if >
< xsl:value-of
select="@Name" />
< xsl:if
test="count(@Capacity )> 0">
< span >
< xsl:text > (< / xsl:text >
< / span >
< xsl:value-of select = "round(@Capacity div 1024)" / >
< span >
< xsl:text > KiB)< / xsl:text >
< / span >
< / xsl:if >
< / li >
< / xsl:for-each >
< / ul >
< / td >
< / tr >
< / tbody >
< / table >
< / xsl:for-each >
< xsl:for-each select = "USB" >
< h3 class = "odd" >
< span >
< xsl:text > USB Devices< / xsl:text >
< / span >
< / h3 >
< table style = "border-spacing:0;"
class="odd" id="usbTable"
width="100%">
< tbody >
< tr >
< td >
< ul
style="margin-left:10px;">
< xsl:for-each
select="Device">
< li >
< xsl:if
test="count(@Count )> 0">
< xsl:if
test="round(@Count) > 1">
< span >
< xsl:text > (< / xsl:text >
< / span >
< xsl:value-of select = "round(@Count)" / >
< span >
< xsl:text > x) < / xsl:text >
< / span >
< / xsl:if >
< / xsl:if >
< xsl:value-of
select="@Name" />
< / li >
< / xsl:for-each >
< / ul >
< / td >
< / tr >
< / tbody >
< / table >
< / xsl:for-each >
< xsl:for-each select = "TB" >
< h3 class = "odd" >
< span >
< xsl:text > TB Devices< / xsl:text >
< / span >
< / h3 >
< table style = "border-spacing:0;"
class="odd" id="tbTable"
width="100%">
< tbody >
< tr >
< td >
< ul
style="margin-left:10px;">
< xsl:for-each
select="Device">
< li >
< xsl:if
test="count(@Count )> 0">
< xsl:if
test="round(@Count) > 1">
< span >
< xsl:text > (< / xsl:text >
< / span >
< xsl:value-of select = "round(@Count)" / >
< span >
< xsl:text > x) < / xsl:text >
< / span >
< / xsl:if >
< / xsl:if >
< xsl:value-of
select="@Name" />
< / li >
< / xsl:for-each >
< / ul >
< / td >
< / tr >
< / tbody >
< / table >
< / xsl:for-each >
< xsl:for-each select = "I2C" >
< h3 class = "odd" >
< span >
< xsl:text > I2C Devices< / xsl:text >
< / span >
< / h3 >
< table style = "border-spacing:0;"
class="odd" id="i2cTable"
width="100%">
< tbody >
< tr >
< td >
< ul
style="margin-left:10px;">
< xsl:for-each
select="Device">
< li >
< xsl:if
test="count(@Count )> 0">
< xsl:if
test="round(@Count) > 1">
< span >
< xsl:text > (< / xsl:text >
< / span >
< xsl:value-of select = "round(@Count)" / >
< span >
< xsl:text > x) < / xsl:text >
< / span >
< / xsl:if >
< / xsl:if >
< xsl:value-of
select="@Name" />
< / li >
< / xsl:for-each >
< / ul >
2024-09-07 20:53:46 +10:00
< / td >
2025-05-14 16:14:01 +01:00
< / tr >
< / tbody >
< / table >
< / xsl:for-each >
< / div >
< / xsl:for-each >
< / div >
< div id = "memory" class = "fullsize" >
< xsl:for-each select = "Memory" >
< h2 >
< span >
< xsl:text > Memory Usage< / xsl:text >
< / span >
< / h2 >
< div style = "overflow-x:auto;" >
2024-09-07 20:53:46 +10:00
< table border = "0"
2025-05-14 16:14:01 +01:00
style="border-spacing:0;">
< thead >
< tr >
< th style = "width:200px;" >
< span >
< xsl:text > Type< / xsl:text >
< / span >
< / th >
< th style = "width:285px;" >
< span >
< xsl:text > Usage< / xsl:text >
< / span >
< / th >
< th style = "width:100px;"
class="right">
< span >
< xsl:text > Free< / xsl:text >
< / span >
< / th >
< th style = "width:100px;"
class="right">
< span >
< xsl:text > Used< / xsl:text >
< / span >
< / th >
< th style = "width:100px;"
class="right">
< span >
< xsl:text > Size< / xsl:text >
< / span >
< / th >
< / tr >
< / thead >
2024-09-07 20:53:46 +10:00
< tbody >
< tr class = "odd" >
< td style = "width:200px;" >
< span >
2025-05-14 16:14:01 +01:00
< xsl:text > Physical Memory< / xsl:text >
2024-09-07 20:53:46 +10:00
< / span >
< / td >
< td style = "width:285px;" >
< div
style="float:left; width:{concat( @Percent , ' px' )}; "
class="bar">
< span >
< xsl:text disable-output-escaping = "yes" > & nbsp;< / xsl:text >
< / span >
< / div >
2025-05-14 16:14:01 +01:00
< div style = "float:left; " >
2024-09-07 20:53:46 +10:00
< span >
< xsl:text disable-output-escaping = "yes" > & nbsp;< / xsl:text >
< / span >
< xsl:value-of
select="@Percent" />
< span >
< xsl:text > %< / xsl:text >
< / span >
< / div >
< / td >
< td style = "width:100px;"
class="right">
< xsl:value-of
select="round(@Free div 1024)" />
< span >
< xsl:text > KiB< / xsl:text >
< / span >
< / td >
< td style = "width:100px;"
class="right">
< xsl:value-of
select="round(@Used div 1024)" />
< span >
< xsl:text > KiB< / xsl:text >
< / span >
< / td >
< td style = "width:100px;"
class="right">
< xsl:value-of
select="round(@Total div 1024)" />
< span >
< xsl:text > KiB< / xsl:text >
< / span >
< / td >
< / tr >
< xsl:for-each
2025-05-14 16:14:01 +01:00
select="Details">
< xsl:if
test="count(@* )> 0">
< xsl:if
test="count(@App )> 0">
< tr >
< td
style="width:200px;">
< span >
< xsl:text > - Kernel + applications< / xsl:text >
< / span >
< / td >
< td
style="width:285px;">
< div
style="float:left; width:{concat( @AppPercent , ' px' )}; "
class="bar">
< span >
< xsl:text disable-output-escaping = "yes" > & nbsp;< / xsl:text >
< / span >
< / div >
< div
style="float:left; ">
< span >
< xsl:text disable-output-escaping = "yes" > & nbsp;< / xsl:text >
< / span >
< xsl:value-of
select="@AppPercent" />
< span >
< xsl:text > %< / xsl:text >
< / span >
< / div >
< / td >
< td
style="width:100px;"
class="right" />
< td
style="width:100px;"
class="right">
< xsl:value-of
select="round(@App div 1024)" />
< span >
< xsl:text > KiB< / xsl:text >
< / span >
< / td >
< td
style="width:100px;"
class="right" />
< / tr >
< / xsl:if >
< xsl:if
test="count(@Cached )> 0">
< tr >
< td
style="width:200px;">
< span >
< xsl:text > - Cached< / xsl:text >
< / span >
< / td >
< td
style="width:285px;">
< div
style="float:left; width:{concat( @CachedPercent , ' px' )}; "
class="bar">
< span >
< xsl:text disable-output-escaping = "yes" > & nbsp;< / xsl:text >
< / span >
< / div >
< div
style="float:left; ">
< span >
< xsl:text disable-output-escaping = "yes" > & nbsp;< / xsl:text >
< / span >
< xsl:value-of
select="@CachedPercent" />
< span >
< xsl:text > %< / xsl:text >
< / span >
< / div >
< / td >
< td
style="width:100px;"
class="right" />
< td
style="width:100px;"
class="right">
< xsl:value-of
select="round(@Cached div 1024)" />
< span >
< xsl:text > KiB< / xsl:text >
< / span >
< / td >
< td
style="width:100px;"
class="right" />
< / tr >
< / xsl:if >
< xsl:if
test="count(@Buffers )> 0">
< tr >
< td
style="width:200px;">
< span >
< xsl:text > - Buffers< / xsl:text >
< / span >
< / td >
< td
style="width:285px;">
< div
style="float:left; width:{concat( @BuffersPercent , ' px' )}; "
class="bar">
< span >
< xsl:text disable-output-escaping = "yes" > & nbsp;< / xsl:text >
< / span >
< / div >
< div
style="float:left; ">
< span >
< xsl:text disable-output-escaping = "yes" > & nbsp;< / xsl:text >
< / span >
< xsl:value-of
select="@BuffersPercent" />
< span >
< xsl:text > %< / xsl:text >
< / span >
< / div >
< / td >
< td
style="width:100px;"
class="right" />
< td
style="width:100px;"
class="right">
< xsl:value-of
select="round(@Buffers div 1024)" />
< span >
< xsl:text > KiB< / xsl:text >
< / span >
< / td >
< td
style="width:100px;"
class="right" />
< / tr >
< / xsl:if >
< / xsl:if >
< / xsl:for-each >
< / tbody >
< / table >
< xsl:for-each select = "Swap" >
< table border = "0"
style="border-spacing:0;"
width="100%">
< tbody >
2024-09-07 20:53:46 +10:00
< tr class = "odd" >
2025-05-14 16:14:01 +01:00
< td style = "width:200px;" >
2024-09-07 20:53:46 +10:00
< span >
2025-05-14 16:14:01 +01:00
< xsl:text > Disk Swap< / xsl:text >
2024-09-07 20:53:46 +10:00
< / span >
< / td >
2025-05-14 16:14:01 +01:00
< td style = "width:285px;" >
2024-09-07 20:53:46 +10:00
< div
style="float:left; width:{concat( @Percent , ' px' )}; "
class="bar">
< span >
< xsl:text disable-output-escaping = "yes" > & nbsp;< / xsl:text >
< / span >
< / div >
< div
style="float:left; ">
< span >
< xsl:text disable-output-escaping = "yes" > & nbsp;< / xsl:text >
< / span >
< xsl:value-of
select="@Percent" />
< span >
< xsl:text > %< / xsl:text >
< / span >
< / div >
< / td >
2025-05-14 16:14:01 +01:00
< td style = "width:100px;"
2024-09-07 20:53:46 +10:00
class="right">
< xsl:value-of
select="round(@Free div 1024)" />
< span >
< xsl:text > KiB< / xsl:text >
< / span >
< / td >
2025-05-14 16:14:01 +01:00
< td style = "width:100px;"
2024-09-07 20:53:46 +10:00
class="right">
< xsl:value-of
select="round(@Used div 1024)" />
< span >
< xsl:text > KiB< / xsl:text >
< / span >
< / td >
2025-05-14 16:14:01 +01:00
< td style = "width:100px;"
2024-09-07 20:53:46 +10:00
class="right">
< xsl:value-of
select="round(@Total div 1024)" />
< span >
< xsl:text > KiB< / xsl:text >
< / span >
< / td >
< / tr >
2025-05-14 16:14:01 +01:00
< xsl:for-each
select="Mount">
< tr class = "odd" >
< td
style="width:200px;">
< span >
< xsl:text > - < / xsl:text >
< xsl:value-of
select="@MountPoint" />
< / span >
< / td >
< td
style="width:285px;">
< div
style="float:left; width:{concat( @Percent , ' px' )}; "
class="bar">
< span >
< xsl:text disable-output-escaping = "yes" > & nbsp;< / xsl:text >
< / span >
< / div >
< div
style="float:left; ">
< span >
< xsl:text disable-output-escaping = "yes" > & nbsp;< / xsl:text >
< / span >
< xsl:value-of
select="@Percent" />
< span >
< xsl:text > %< / xsl:text >
< / span >
< / div >
< / td >
< td
style="width:100px;"
class="right">
< xsl:value-of
select="round(@Free div 1024)" />
< span >
< xsl:text > KiB< / xsl:text >
< / span >
< / td >
< td
style="width:100px;"
class="right">
< xsl:value-of
select="round(@Used div 1024)" />
< span >
< xsl:text > KiB< / xsl:text >
< / span >
< / td >
< td
style="width:100px;"
class="right">
< xsl:value-of
select="round(@Total div 1024)" />
< span >
< xsl:text > KiB< / xsl:text >
< / span >
< / td >
< / tr >
< / xsl:for-each >
< / tbody >
< / table >
< / xsl:for-each >
< / div >
2024-09-07 20:53:46 +10:00
< / xsl:for-each >
< / div >
2025-05-14 16:14:01 +01:00
< div id = "filesystem" class = "fullsize" >
2024-09-07 20:53:46 +10:00
< h2 >
< span >
< xsl:text > Mounted Filesystems< / xsl:text >
< / span >
< / h2 >
2025-05-14 16:14:01 +01:00
< div style = "overflow-x:auto;" >
< table style = "border-spacing:0;"
class="stripMe" id="filesystemTable">
< thead >
< tr >
< th style = "width:100px;" >
< span >
< xsl:text > Mountpoint< / xsl:text >
< / span >
< / th >
< th style = "width:50px;" >
< span >
< xsl:text > Type< / xsl:text >
< / span >
< / th >
< th style = "width:120px;" >
< span >
< xsl:text > Partition< / xsl:text >
< / span >
< / th >
< th >
< span >
< xsl:text > Usage< / xsl:text >
< / span >
< / th >
< th style = "width:100px;"
class="right">
< span >
< xsl:text > Free< / xsl:text >
< / span >
< / th >
< th style = "width:100px;"
class="right">
< span >
< xsl:text > Used< / xsl:text >
< / span >
< / th >
< th style = "width:100px;"
class="right">
< span >
< xsl:text > Size< / xsl:text >
< / span >
< / th >
< / tr >
< / thead >
< tbody >
2024-09-07 20:53:46 +10:00
< xsl:for-each
2025-05-14 16:14:01 +01:00
select="FileSystem">
< xsl:for-each
select="Mount">
< tr >
< td style = "width:100px;" >
< xsl:value-of
select="@MountPoint" />
< / td >
< td style = "width:50px;" >
< xsl:value-of
select="@FSType" />
< / td >
< td style = "width:120px;" >
< xsl:value-of
select="@Name" />
< / td >
< td style = "width:285px;" >
< div
style="float:left; width:{concat( @Percent , ' px' )}; "
class="bar">
< span >
< xsl:text disable-output-escaping = "yes" > & nbsp;< / xsl:text >
< / span >
< / div >
< div
style="float:left; ">
< span >
< xsl:text disable-output-escaping = "yes" > & nbsp;< / xsl:text >
< / span >
< xsl:value-of
select="@Percent" />
< span >
< xsl:text > %< / xsl:text >
< / span >
< xsl:if
test="count(@Inodes )> 0">
< span >
< xsl:text > (< / xsl:text >
< / span >
< span
style="font-style:italic;">
< xsl:value-of
select="@Inodes" />
< / span >
< span >
< xsl:text > %)< / xsl:text >
< / span >
< / xsl:if >
< / div >
< / td >
< td style = "width:100px;" class = "right" >
< xsl:value-of select = "round(@Free div 1024)" / >
2024-09-07 20:53:46 +10:00
< span >
2025-05-14 16:14:01 +01:00
< xsl:text > KiB< / xsl:text >
2024-09-07 20:53:46 +10:00
< / span >
2025-05-14 16:14:01 +01:00
< / td >
< td style = "width:100px;" class = "right" >
< xsl:value-of select = "round(@Used div 1024)" / >
2024-09-07 20:53:46 +10:00
< span >
2025-05-14 16:14:01 +01:00
< xsl:text > KiB< / xsl:text >
2024-09-07 20:53:46 +10:00
< / span >
2025-05-14 16:14:01 +01:00
< / td >
< td style = "width:100px;" class = "right" >
< xsl:value-of select = "round(@Total div 1024)" / >
2024-09-07 20:53:46 +10:00
< span >
2025-05-14 16:14:01 +01:00
< xsl:text > KiB< / xsl:text >
2024-09-07 20:53:46 +10:00
< / span >
2025-05-14 16:14:01 +01:00
< / td >
< / tr >
< / xsl:for-each >
2024-09-07 20:53:46 +10:00
< / xsl:for-each >
2025-05-14 16:14:01 +01:00
< / tbody >
< / table >
< / div >
2024-09-07 20:53:46 +10:00
< / div >
2025-05-14 16:14:01 +01:00
< div id = "network" class = "halfsize" >
2024-09-07 20:53:46 +10:00
< h2 >
< span >
< xsl:text > Network Usage< / xsl:text >
< / span >
< / h2 >
2025-05-14 16:14:01 +01:00
< div style = "overflow-x:auto;" >
< div style = "overflow-x:auto;" >
< table style = "border-spacing:0;"
class="stripMe" id="networkTable">
< thead >
2024-09-07 20:53:46 +10:00
< tr >
2025-05-14 16:14:01 +01:00
< th >
2024-09-07 20:53:46 +10:00
< span >
2025-05-14 16:14:01 +01:00
< xsl:text > Device< / xsl:text >
2024-09-07 20:53:46 +10:00
< / span >
2025-05-14 16:14:01 +01:00
< / th >
< th class = "right" width = "60px" >
2024-09-07 20:53:46 +10:00
< span >
2025-05-14 16:14:01 +01:00
< xsl:text > Received< / xsl:text >
2024-09-07 20:53:46 +10:00
< / span >
2025-05-14 16:14:01 +01:00
< / th >
< th class = "right" width = "60px" >
2024-09-07 20:53:46 +10:00
< span >
2025-05-14 16:14:01 +01:00
< xsl:text > Send< / xsl:text >
2024-09-07 20:53:46 +10:00
< / span >
2025-05-14 16:14:01 +01:00
< / th >
< th class = "right" width = "60px" >
2024-09-07 20:53:46 +10:00
< span >
2025-05-14 16:14:01 +01:00
< xsl:text > Err/Drop< / xsl:text >
2024-09-07 20:53:46 +10:00
< / span >
2025-05-14 16:14:01 +01:00
< / th >
2024-09-07 20:53:46 +10:00
< / tr >
2025-05-14 16:14:01 +01:00
< / thead >
< tbody >
< xsl:for-each select = "Network" >
< xsl:for-each select = "NetDevice" >
< tr >
< td >
< xsl:value-of select = "@Name" / >
< xsl:if
test="count(@Bridge )> 0">
< xsl:text > (< / xsl:text >
< xsl:value-of select = "@Bridge" / >
< xsl:text > )< / xsl:text >
< / xsl:if >
< / td >
< td class = "right" width = "60px" >
< span >
< xsl:value-of select = "round(@RxBytes div 1024)" / >
< / span >
< span >
< xsl:text > KiB< / xsl:text >
< / span >
< / td >
< td class = "right" width = "60px" >
< span >
< xsl:text disable-output-escaping = "yes" > & nbsp;< / xsl:text >
< / span >
< span >
< xsl:value-of select = "round(@TxBytes div 1024)" / >
< / span >
< span >
< xsl:text > KiB< / xsl:text >
< / span >
< / td >
< td class = "right" width = "60px" >
< xsl:value-of select = "@Err" / >
< span >
< xsl:text > /< / xsl:text >
< / span >
< xsl:value-of select = "@Drops" / >
< / td >
< / tr >
< / xsl:for-each >
< / xsl:for-each >
< / tbody >
< / table >
< / div >
< / div >
2024-09-07 20:53:46 +10:00
< / div >
< div id = "footer" >
< span >
< xsl:text > Created by < / xsl:text >
< / span >
< a >
< xsl:choose >
< xsl:when test = "substring(string('http://phpsysinfo.sourceforge.net/'), 1, 1) = '#'" >
< xsl:attribute name = "href" >
< xsl:value-of select = "'http://phpsysinfo.sourceforge.net/'" / >
< / xsl:attribute >
< / xsl:when >
< xsl:otherwise >
< xsl:attribute name = "href" >
< xsl:if test = "substring(string('http://phpsysinfo.sourceforge.net/'), 2, 1) = ':'" >
< xsl:text > file:///< / xsl:text >
< / xsl:if >
< xsl:value-of select = "translate(string('http://phpsysinfo.sourceforge.net/'), '\', '/')" / >
< / xsl:attribute >
< / xsl:otherwise >
< / xsl:choose >
< span >
< xsl:text > phpSysInfo - < / xsl:text >
< / span >
< xsl:for-each select = "Generation" >
< xsl:for-each select = "@version" >
< span >
< xsl:value-of select = "string(.)" / >
< / span >
< / xsl:for-each >
< / xsl:for-each >
< / a >
< / div >
< / div >
< / xsl:for-each >
< / xsl:for-each >
< / body >
< / html >
< / xsl:template >
< / xsl:stylesheet >