phpsysinfo-subversion Mailing List for phpSysInfo (Page 24)
Brought to you by:
namiltd
You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(10) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
(11) |
Feb
(4) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2008 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(40) |
2009 |
Jan
(60) |
Feb
(15) |
Mar
(36) |
Apr
(19) |
May
(28) |
Jun
(71) |
Jul
(15) |
Aug
(3) |
Sep
(22) |
Oct
(5) |
Nov
(1) |
Dec
|
2010 |
Jan
(18) |
Feb
(5) |
Mar
(2) |
Apr
(1) |
May
(1) |
Jun
(3) |
Jul
|
Aug
|
Sep
(2) |
Oct
(4) |
Nov
(16) |
Dec
(9) |
2011 |
Jan
(9) |
Feb
(8) |
Mar
(1) |
Apr
(3) |
May
(2) |
Jun
|
Jul
(4) |
Aug
(15) |
Sep
(2) |
Oct
|
Nov
(7) |
Dec
(3) |
2012 |
Jan
(5) |
Feb
(10) |
Mar
(11) |
Apr
(16) |
May
(10) |
Jun
(7) |
Jul
(33) |
Aug
(43) |
Sep
(32) |
Oct
|
Nov
(6) |
Dec
(6) |
From: <jac...@us...> - 2008-12-30 10:39:39
|
Revision: 61 http://phpsysinfo.svn.sourceforge.net/phpsysinfo/?rev=61&view=rev Author: jacky672 Date: 2008-12-30 10:39:29 +0000 (Tue, 30 Dec 2008) Log Message: ----------- Fix translations problem with some text Modified Paths: -------------- phpsysinfo.js Modified: phpsysinfo.js =================================================================== --- phpsysinfo.js 2008-12-28 10:18:54 UTC (rev 60) +++ phpsysinfo.js 2008-12-30 10:39:29 UTC (rev 61) @@ -249,7 +249,7 @@ used = $("Used",vital).text(); total = $("Total",vital).text(); percent = $("Percent",vital).text(); - $("#tbody_memory").append("<tr><td style=\"width:200px;\"><span lang='028'>" + $("string[id=028]",langxml).text() + "</span></td><td style=\"width:285px;\">" + createBar(percent) + "</td><td class=\"right\" style=\"width:100px;\">" + formatBytes(free, xml) + "</td><td class=\"right\" style=\"width:100px;\">" + formatBytes(used, xml) + "</td><td class=\"right\" style=\"width:100px;\">" + formatBytes(total, xml) + "</td></tr>"); + $("#tbody_memory").append("<tr><td style=\"width:200px;\"><span lang='028'>" + $("expression[id=028]",langxml).text() + "</span></td><td style=\"width:285px;\">" + createBar(percent) + "</td><td class=\"right\" style=\"width:100px;\">" + formatBytes(free, xml) + "</td><td class=\"right\" style=\"width:100px;\">" + formatBytes(used, xml) + "</td><td class=\"right\" style=\"width:100px;\">" + formatBytes(total, xml) + "</td></tr>"); if($("App", vital).length > 0) { app = $("App", vital).text(); @@ -258,9 +258,9 @@ buffp = $("BuffersPercent", vital).text(); cached = $("Cached", vital).text(); cachedp = $("CachedPercent", vital).text(); - $("#tbody_memory").append("<tr><td style=\"width:184px;padding-left:26px;\"><span lang='064'>" + $("string[id=064]",langxml).text() + "</span></td><td style=\"width:285px;\">" + createBar(appp) + "</td><td class=\"right\" style=\"width:100px;\"> </td><td class=\"right\" style=\"width:100px\">" + formatBytes(app, xml) + "</td><td class=\"right\" style=\"width:100px;\"> </td></tr>"); - $("#tbody_memory").append("<tr><td style=\"width:184px;padding-left:26px;\"><span lang='065'>" + $("string[id=065]",langxml).text() + "</span></td><td style=\"width:285px\">" + createBar(buffp) + "</td><td class=\"rigth\" style=\"width:100px;\"> </td><td class=\"right\" style=\"width:100px;\">" + formatBytes(buff, xml) + "</td><td class=\"right\" style=\"width:100px;\"> </td></tr>"); - $("#tbody_memory").append("<tr><td style=\"width:184px;padding-left:26px;\"><span lang='066'>" + $("string[id=066]",langxml).text() + "</span></td><td style=\"width:285px;\">" + createBar(cachedp) + "</td><td class=\"right\" style=\"width:100px;\"> </td><td class=\"right\" style=\"width:100px;\">" + formatBytes(cached, xml) + "</td><td class=\"right\" style=\"width:100px;\"> </td></tr>"); + $("#tbody_memory").append("<tr><td style=\"width:184px;padding-left:26px;\"><span lang='064'>" + $("expression[id=064]",langxml).text() + "</span></td><td style=\"width:285px;\">" + createBar(appp) + "</td><td class=\"right\" style=\"width:100px;\"> </td><td class=\"right\" style=\"width:100px\">" + formatBytes(app, xml) + "</td><td class=\"right\" style=\"width:100px;\"> </td></tr>"); + $("#tbody_memory").append("<tr><td style=\"width:184px;padding-left:26px;\"><span lang='065'>" + $("expression[id=065]",langxml).text() + "</span></td><td style=\"width:285px\">" + createBar(buffp) + "</td><td class=\"rigth\" style=\"width:100px;\"> </td><td class=\"right\" style=\"width:100px;\">" + formatBytes(buff, xml) + "</td><td class=\"right\" style=\"width:100px;\"> </td></tr>"); + $("#tbody_memory").append("<tr><td style=\"width:184px;padding-left:26px;\"><span lang='066'>" + $("expression[id=066]",langxml).text() + "</span></td><td style=\"width:285px;\">" + createBar(cachedp) + "</td><td class=\"right\" style=\"width:100px;\"> </td><td class=\"right\" style=\"width:100px;\">" + formatBytes(cached, xml) + "</td><td class=\"right\" style=\"width:100px;\"> </td></tr>"); } }); @@ -271,7 +271,7 @@ used = $("Used",vital).text(); total = $("Total",vital).text(); percent = $("Percent",vital).text(); - $("#tbody_memory").append("<tr><td style=\"width:200px;\"><span lang='029'>" + $("string[id=029]",langxml).text() + "</span></td><td style=\"width:285px;\">" + createBar(percent) + "</td><td class=\"right\" style=\"width:100px;\">" + formatBytes(free, xml) + "</td><td class=\"right\" style=\"width:100px;\">" + formatBytes(used, xml) + "</td><td class=\"right\" style=\"width:100px;\">" + formatBytes(total, xml) + "</td></tr>"); + $("#tbody_memory").append("<tr><td style=\"width:200px;\"><span lang='029'>" + $("expression[id=029]",langxml).text() + "</span></td><td style=\"width:285px;\">" + createBar(percent) + "</td><td class=\"right\" style=\"width:100px;\">" + formatBytes(free, xml) + "</td><td class=\"right\" style=\"width:100px;\">" + formatBytes(used, xml) + "</td><td class=\"right\" style=\"width:100px;\">" + formatBytes(total, xml) + "</td></tr>"); if($("Swapdevices", xml).length > 0) { $("Swapdevices",xml).each(function(id) { @@ -396,7 +396,7 @@ }); $("#" + table).empty(); if(text == "") { - $("#" + table).append("<tr><td><ul style=\"margin-left:10px;\"><li><span lang='042'>" + $("string[id=042]",langxml).text() + "</span></li></ul></td></tr>"); + $("#" + table).append("<tr><td><ul style=\"margin-left:10px;\"><li><span lang='042'>" + $("expression[id=042]",langxml).text() + "</span></li></ul></td></tr>"); } else { $("#" + table).append("<tr><td><ul style=\"margin-left:10px;\">" + text + "</ul></td></tr>" ); } @@ -593,12 +593,12 @@ intMin = Math.floor(intMin-(intDays*60*24)-(intHours*60)); if(intDays != 0 ) { - txt = txt + intDays + " <span lang='048'>" + $("string[id=048]",langxml).text() + "</span> "; + txt = txt + intDays + " <span lang='048'>" + $("expression[id=048]",langxml).text() + "</span> "; } if(intHours != 0 ) { - txt = txt + intHours + " <span lang='049'>" + $("string[id=049]",langxml).text() + "</span> "; + txt = txt + intHours + " <span lang='049'>" + $("expression[id=049]",langxml).text() + "</span> "; } - txt = txt + intMin + " <span lang='050'>" + $("string[id=050]",langxml).text() + "</span>"; + txt = txt + intMin + " <span lang='050'>" + $("expression[id=050]",langxml).text() + "</span>"; return txt; } @@ -613,79 +613,79 @@ switch( byteFormat ){ case "PiB": show = round(bytes/Math.pow(1024, 5), 2) - show += " <span lang='090'>" + $("string[id=090]",langxml).text() + "</span>"; + show += " <span lang='090'>" + $("expression[id=090]",langxml).text() + "</span>"; break; case "TiB": show = round(bytes/Math.pow(1024, 4), 2) - show += " <span lang='086'>" + $("string[id=086]",langxml).text() + "</span>"; + show += " <span lang='086'>" + $("expression[id=086]",langxml).text() + "</span>"; break; case "GiB": show = round(bytes/Math.pow(1024, 3), 2); - show += " <span lang='087'>" + $("string[id=087]",langxml).text() + "</span>"; + show += " <span lang='087'>" + $("expression[id=087]",langxml).text() + "</span>"; break; case "MiB": show = round(bytes/Math.pow(1024, 2), 2); - show += " <span lang='088'>" + $("string[id=088]",langxml).text() + "</span>"; + show += " <span lang='088'>" + $("expression[id=088]",langxml).text() + "</span>"; break; case "KiB": show = round(bytes/Math.pow(1024, 1), 2); - show += " <span lang='089'>" + $("string[id=089]",langxml).text() + "</span>"; + show += " <span lang='089'>" + $("expression[id=089]",langxml).text() + "</span>"; break; case "PB": show = round(bytes/Math.pow(1000, 5), 2) - show += " <span lang='091'>" + $("string[id=091]",langxml).text() + "</span>"; + show += " <span lang='091'>" + $("expression[id=091]",langxml).text() + "</span>"; break; case "TB": show = round(bytes/Math.pow(1000, 4), 2) - show += " <span lang='085'>" + $("string[id=085]",langxml).text() + "</span>"; + show += " <span lang='085'>" + $("expression[id=085]",langxml).text() + "</span>"; break; case "GB": show = round(bytes/Math.pow(1000, 3), 2); - show += " <span lang='041'>" + $("string[id=041]",langxml).text() + "</span>"; + show += " <span lang='041'>" + $("expression[id=041]",langxml).text() + "</span>"; break; case "MB": show = round(bytes/Math.pow(1000, 2), 2); - show += " <span lang='040'>" + $("string[id=040]",langxml).text() + "</span>"; + show += " <span lang='040'>" + $("expression[id=040]",langxml).text() + "</span>"; break; case "KB": show = round(bytes/Math.pow(1000, 1), 2); - show += " <span lang='039'>" + $("string[id=039]",langxml).text() + "</span>"; + show += " <span lang='039'>" + $("expression[id=039]",langxml).text() + "</span>"; break; case "auto_decimal": if(bytes > Math.pow(1000, 5)) { show = round(bytes/Math.pow(1000, 5), 2); - show += " <span lang='091'>" + $("string[id=091]",langxml).text() + "</span>"; + show += " <span lang='091'>" + $("expression[id=091]",langxml).text() + "</span>"; } else if(bytes > Math.pow(1000, 4)) { show = round(bytes/Math.pow(1000, 4), 2); - show += " <span lang='085'>" + $("string[id=085]",langxml).text() + "</span>"; + show += " <span lang='085'>" + $("expression[id=085]",langxml).text() + "</span>"; } else if(bytes > Math.pow(1000, 3)) { show = round(bytes/Math.pow(1000, 3), 2); - show += " <span lang='041'>" + $("string[id=041]",langxml).text() + "</span>"; + show += " <span lang='041'>" + $("expression[id=041]",langxml).text() + "</span>"; } else if(bytes > Math.pow(1000, 2)) { show = round(bytes/Math.pow(1000, 2), 2); - show += " <span lang='040'>" + $("string[id=040]",langxml).text() + "</span>"; + show += " <span lang='040'>" + $("expression[id=040]",langxml).text() + "</span>"; } else { show = round(bytes/Math.pow(1000, 1), 2); - show += " <span lang='039'>" + $("string[id=039]",langxml).text() + "</span>"; + show += " <span lang='039'>" + $("expression[id=039]",langxml).text() + "</span>"; } break; case "auto_binary": default: if(bytes > Math.pow(1024, 5)) { show = round(bytes/Math.pow(1024, 5), 2); - show += " <span lang='090'>" + $("string[id=090]",langxml).text() + "</span>"; + show += " <span lang='090'>" + $("expression[id=090]",langxml).text() + "</span>"; } else if(bytes > Math.pow(1024, 4)) { show = round(bytes/Math.pow(1024, 4), 2); - show += " <span lang='086'>" + $("string[id=086]",langxml).text() + "</span>"; + show += " <span lang='086'>" + $("expression[id=086]",langxml).text() + "</span>"; } else if(bytes > Math.pow(1024, 3)) { show = round(bytes/Math.pow(1024, 3), 2); - show += " <span lang='087'>" + $("string[id=087]",langxml).text() + "</span>"; + show += " <span lang='087'>" + $("expression[id=087]",langxml).text() + "</span>"; } else if(bytes > Math.pow(1024, 2)) { show = round(bytes/Math.pow(1024, 2), 2); - show += " <span lang='088'>" + $("string[id=088]",langxml).text() + "</span>"; + show += " <span lang='088'>" + $("expression[id=088]",langxml).text() + "</span>"; } else { show = round(bytes/Math.pow(1024, 1), 2); - show += " <span lang='089'>" + $("string[id=089]",langxml).text() + "</span>"; + show += " <span lang='089'>" + $("expression[id=089]",langxml).text() + "</span>"; } } return show; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jac...@us...> - 2008-12-28 10:18:58
|
Revision: 60 http://phpsysinfo.svn.sourceforge.net/phpsysinfo/?rev=60&view=rev Author: jacky672 Date: 2008-12-28 10:18:54 +0000 (Sun, 28 Dec 2008) Log Message: ----------- Add some 32x32 png distro icon Modified Paths: -------------- distros.ini includes/os/class.WINNT.inc.php Added Paths: ----------- gfx/images/OpenSolaris.png gfx/images/ReactOS.png gfx/images/Trustix.png gfx/images/Ubuntu.png gfx/images/XandrOS.png gfx/images/vista.png gfx/images/xp.png Modified: distros.ini =================================================================== --- distros.ini 2008-12-28 08:43:29 UTC (rev 59) +++ distros.ini 2008-12-28 10:18:54 UTC (rev 60) @@ -41,7 +41,7 @@ Files = "/etc/slackware-release;/etc/slackware-version" [Trustix] -Image = "Trustix.gif" +Image = "Trustix.png" Files = "/etc/trustix-release;/etc/trustix-version" [FreeEOS] @@ -65,7 +65,7 @@ Files = "/etc/rubix-version" [Ubuntu] -Image = "Ubuntu.gif" +Image = "Ubuntu.png" Files = "/etc/lsb-release" [PLD] Added: gfx/images/OpenSolaris.png =================================================================== (Binary files differ) Property changes on: gfx/images/OpenSolaris.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: gfx/images/ReactOS.png =================================================================== (Binary files differ) Property changes on: gfx/images/ReactOS.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: gfx/images/Trustix.png =================================================================== (Binary files differ) Property changes on: gfx/images/Trustix.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: gfx/images/Ubuntu.png =================================================================== (Binary files differ) Property changes on: gfx/images/Ubuntu.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: gfx/images/XandrOS.png =================================================================== (Binary files differ) Property changes on: gfx/images/XandrOS.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: gfx/images/vista.png =================================================================== (Binary files differ) Property changes on: gfx/images/vista.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: gfx/images/xp.png =================================================================== (Binary files differ) Property changes on: gfx/images/xp.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Modified: includes/os/class.WINNT.inc.php =================================================================== --- includes/os/class.WINNT.inc.php 2008-12-28 08:43:29 UTC (rev 59) +++ includes/os/class.WINNT.inc.php 2008-12-28 10:18:54 UTC (rev 60) @@ -381,7 +381,7 @@ return $buffer[0]["Caption"]; } public function distroicon() { - return 'xp.gif'; + return 'xp.png'; } } ?> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jac...@us...> - 2008-12-28 08:43:32
|
Revision: 59 http://phpsysinfo.svn.sourceforge.net/phpsysinfo/?rev=59&view=rev Author: jacky672 Date: 2008-12-28 08:43:29 +0000 (Sun, 28 Dec 2008) Log Message: ----------- [UPD] FreeBSD icon Modified Paths: -------------- ChangeLog gfx/images/FreeBSD.png Modified: ChangeLog =================================================================== --- ChangeLog 2008-12-15 09:59:08 UTC (rev 58) +++ ChangeLog 2008-12-28 08:43:29 UTC (rev 59) @@ -24,7 +24,7 @@ - [UPD] New changelog format : [ADD] = ADDED, [FIX] = FIXED, [UPD] = UPDATED, [SEC] = SECURITY - [UPD] Language files (de) - [UPD] refresh only values not the entire page - - [UPD] Fedore icon + - [UPD] Fedore, FreeBSD icon phpSysInfo 3.0 RC-6, 2008-06-05 - added the architecture to the kernel line for Linux systems Modified: gfx/images/FreeBSD.png =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Big...@us...> - 2008-12-15 09:59:19
|
Revision: 58 http://phpsysinfo.svn.sourceforge.net/phpsysinfo/?rev=58&view=rev Author: BigMichi1 Date: 2008-12-15 09:59:08 +0000 (Mon, 15 Dec 2008) Log Message: ----------- Fixed Bug [ 2005665 ] Re: [ 1956114 ] BSD with zero swap space Modified Paths: -------------- ChangeLog Modified: ChangeLog =================================================================== --- ChangeLog 2008-12-15 09:58:03 UTC (rev 57) +++ ChangeLog 2008-12-15 09:59:08 UTC (rev 58) @@ -14,6 +14,7 @@ - [FIX] Fixed hidenetworkinterfaces config option - [FIX] Fixed Bug [ 1987494 ] clicking on "Physical Memory" + - [FIX] Fixed Bug [ 2005665 ] Re: [ 1956114 ] BSD with zero swap space - [FIX] Some fixes for recent /proc/mdstat files, also new sample file for tests - [FIX] Fedore distro must be read before Redhat This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Big...@us...> - 2008-12-15 09:58:07
|
Revision: 57 http://phpsysinfo.svn.sourceforge.net/phpsysinfo/?rev=57&view=rev Author: BigMichi1 Date: 2008-12-15 09:58:03 +0000 (Mon, 15 Dec 2008) Log Message: ----------- Fix: 2005665 - Re: [ 1956114 ] BSD with zero swap space Modified Paths: -------------- includes/xml.class.php Modified: includes/xml.class.php =================================================================== --- includes/xml.class.php 2008-12-15 09:42:11 UTC (rev 56) +++ includes/xml.class.php 2008-12-15 09:58:03 UTC (rev 57) @@ -189,24 +189,24 @@ $memory->addChild('CachedPercent', $arrMem['ram']['cached_percent']); } $swap = $this->xml->addChild('Swap'); + $swapDev = $this->xml->addChild('Swapdevices'); if (count($arrMem['devswap']) > 0) { $swap->addChild('Free', $arrMem['swap']['free']); $swap->addChild('Used', $arrMem['swap']['used']); $swap->addChild('Total', $arrMem['swap']['total']); $swap->addChild('Percent', $arrMem['swap']['percent']); + foreach ($arrMem['devswap'] as $arrDevice) { + $swapMount = $swapDev->addChild('Mount'); + $swapMount->addChild('MountPointID', $i++); + $swapMount->addChild('Type', 'Swap'); + $dev = $swapMount->addChild('Device'); + $dev->addChild('Name', utf8_encode(trim(htmlspecialchars($arrDevice['dev'])))); + $swapMount->addChild('Percent', $arrDevice['percent']); + $swapMount->addChild('Free', $arrDevice['free']); + $swapMount->addChild('Used', $arrDevice['used']); + $swapMount->addChild('Size', $arrDevice['total']); + } } - $swapDev = $this->xml->addChild('Swapdevices'); - foreach ($arrMem['devswap'] as $arrDevice) { - $swapMount = $swapDev->addChild('Mount'); - $swapMount->addChild('MountPointID', $i++); - $swapMount->addChild('Type', 'Swap'); - $dev = $swapMount->addChild('Device'); - $dev->addChild('Name', utf8_encode(trim(htmlspecialchars($arrDevice['dev'])))); - $swapMount->addChild('Percent', $arrDevice['percent']); - $swapMount->addChild('Free', $arrDevice['free']); - $swapMount->addChild('Used', $arrDevice['used']); - $swapMount->addChild('Size', $arrDevice['total']); - } } private function buildFilesystems() { $hideMounts = array (); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Big...@us...> - 2008-12-15 09:42:22
|
Revision: 56 http://phpsysinfo.svn.sourceforge.net/phpsysinfo/?rev=56&view=rev Author: BigMichi1 Date: 2008-12-15 09:42:11 +0000 (Mon, 15 Dec 2008) Log Message: ----------- Add IYCC to distros.ini Modified Paths: -------------- ChangeLog distros.ini Added Paths: ----------- gfx/images/iycc.png Modified: ChangeLog =================================================================== --- ChangeLog 2008-12-14 14:24:54 UTC (rev 55) +++ ChangeLog 2008-12-15 09:42:11 UTC (rev 56) @@ -7,6 +7,7 @@ - [ADD] Alternative static display of some core values through xml and xslt for html when no js is available - [ADD] Option for automatic reloading of the xml - [ADD] Extend option for showing the sizes in 1000 or 1024 block size + - [ADD] IYCC to detected distros - [ADD] Added FR [ 1664157 ] DragonFlyBSD support - [ADD] Added FR [ 1869891 ] mbmon TCP support - [ADD] Added FR [ 1568822 ] IPIM Support Modified: distros.ini =================================================================== --- distros.ini 2008-12-14 14:24:54 UTC (rev 55) +++ distros.ini 2008-12-15 09:42:11 UTC (rev 56) @@ -91,3 +91,7 @@ [HLFS] Image = "hlfs.png" Files = "/etc/hlfs-release;/etc/hlfs_version" + +[IYCC] +Image = "iycc.png" +Files = "/etc/lsb-release" Added: gfx/images/iycc.png =================================================================== (Binary files differ) Property changes on: gfx/images/iycc.png ___________________________________________________________________ Added: svn:mime-type + image/png This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jac...@us...> - 2008-12-14 14:24:58
|
Revision: 55 http://phpsysinfo.svn.sourceforge.net/phpsysinfo/?rev=55&view=rev Author: jacky672 Date: 2008-12-14 14:24:54 +0000 (Sun, 14 Dec 2008) Log Message: ----------- Correct some mistakes Modified Paths: -------------- language/fi.xml Modified: language/fi.xml =================================================================== --- language/fi.xml 2008-12-14 09:34:24 UTC (rev 54) +++ language/fi.xml 2008-12-14 14:24:54 UTC (rev 55) @@ -94,10 +94,10 @@ <exp>Levy Swap</exp> </expression> <expression id="030" name="fs"> - <exp>Mountatut tiedostojärjestelmät</exp> + <exp>Kiinnitetyt tiedostojärjestelmät</exp> </expression> <expression id="031" name="mount"> - <exp>Mounttauspiste</exp> + <exp>Kiinnitetty</exp> </expression> <expression id="032" name="partition"> <exp>Partitiot</exp> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jac...@us...> - 2008-12-14 09:34:26
|
Revision: 54 http://phpsysinfo.svn.sourceforge.net/phpsysinfo/?rev=54&view=rev Author: jacky672 Date: 2008-12-14 09:34:24 +0000 (Sun, 14 Dec 2008) Log Message: ----------- Transform in the new XML format Modified Paths: -------------- language/fi.xml Modified: language/fi.xml =================================================================== --- language/fi.xml 2008-12-14 09:13:14 UTC (rev 53) +++ language/fi.xml 2008-12-14 09:34:24 UTC (rev 54) @@ -1,92 +1,261 @@ -<!-- $Id$ - phpSysInfo language file - Language: Finnish - Translated by: nakeman ---> - -<strings language="english" charset="utf-8"> - <string id="001" name="title">Järjestelmä</string> - <string id="002" name="vitals">Välttämättömimmät tiedot</string> - <string id="003" name="hostname">Kanoninen isäntänimi</string> - <string id="004" name="ip">IP-osoite</string> - <string id="005" name="kversion">Ytimen versio</string> - <string id="006" name="dversion">Distron nimi</string> - <string id="007" name="uptime">Uptime</string> - <string id="008" name="users">Nykyiset käyttäjät</string> - <string id="009" name="loadavg">Keskimääräinen kuorma</string> - <string id="010" name="hardware">Laitteisto</string> - <string id="011" name="numcpu">Prosessorit</string> - <string id="012" name="cpumodel">Malli</string> - <string id="013" name="cpuspeed">CPU:n kellotaajuus</string> - <string id="014" name="busspeed">BUS:n kellotaajuus</string> - <string id="015" name="cache">Välimuistin koko</string> - <string id="016" name="bogomips">Järjestelmän Bogomipsit</string> - <string id="017" name="pci">PCI laitteet</string> - <string id="018" name="ide">IDE laitteet</string> - <string id="019" name="scsi">SCSI laitteet</string> - <string id="020" name="usb">USB laitteet</string> - <string id="021" name="netusage">Verkon käyttö</string> - <string id="022" name="device">Laite</string> - <string id="023" name="received">Vastaanotettu</string> - <string id="024" name="sent">Lähetetty</string> - <string id="025" name="errors">Err/Drop</string> - <string id="026" name="connections">Vakiintuneet yhteydet</string> - <string id="027" name="memusage">Muistin käyttö</string> - <string id="028" name="phymem">Fyysinen muisti</string> - <string id="029" name="swap">Levy Swap</string> - <string id="030" name="fs">Mountatut tiedostojärjestelmät</string> - <string id="031" name="mount">Mounttauspiste</string> - <string id="032" name="partition">Partitiot</string> - <string id="033" name="percent">Käytössä</string> - <string id="034" name="type">Tyyppi</string> - <string id="035" name="free">Vapaana</string> - <string id="036" name="used">Käytetty</string> - <string id="037" name="size">Koko</string> - <string id="038" name="totals">Yhteensä</string> - <string id="039" name="kb">KB</string> - <string id="040" name="mb">MB</string> - <string id="041" name="gb">GB</string> - <string id="042" name="none">ei</string> - <string id="043" name="capacity">Kapasiteetti</string> - <string id="044" name="template">Teema</string> - <string id="045" name="language">Kieli</string> - <string id="046" name="submit">Muokkaa</string> - <string id="047" name="created">Luonut</string> - <string id="048" name="days">päivää</string> - <string id="049" name="hours">tuntia</string> - <string id="050" name="minutes">minuuttia</string> - <string id="051" name="temperature">Lämpö</string> - <string id="052" name="voltage">Voltti</string> - <string id="053" name="fans">Tuulettimet</string> - <string id="054" name="s_value">Arvo</string> - <string id="055" name="s_min">Min</string> - <string id="056" name="s_max">Max</string> - <string id="057" name="hysteresis">Hystereesi</string> - <string id="058" name="s_limit">Rajoitus</string> - <string id="059" name="s_label">Leima</string> - <string id="060" name="degreeC">C</string> - <string id="061" name="degreeF">F</string> - <string id="062" name="voltage_mark">V</string> - <string id="063" name="rpm_mark">RPM</string> - <string id="064" name="app">Ydin + ohjelmistot</string> - <string id="065" name="buffers">Puskurit</string> - <string id="066" name="cached">Välimuistissa</string> - <string id="067" name="jumpto">Hyppää</string> - <string id="068" name="ups_title">UPS tietoja</string> - <string id="069" name="ups_name">Nimi</string> - <string id="070" name="ups_model">Tyyppi</string> - <string id="071" name="ups_mode">Moodi</string> - <string id="072" name="ups_start_time">Aloitettu</string> - <string id="073" name="ups_status">Tila</string> - <string id="074" name="ups_outages_count">Katkoksia</string> - <string id="075" name="ups_last_outage">Viimeisen katkoksen syy</string> - <string id="076" name="ups_last_outage_finish">Viimeisimmän katkoksen aikaleima</string> - <string id="077" name="ups_line_voltage">Linjan jännite</string> - <string id="078" name="ups_load_percent">Kuorma prosentteina</string> - <string id="079" name="ups_battery_voltage">Akun jännite</string> - <string id="080" name="ups_battery_charge_percent">Akun kuorma</string> - <string id="081" name="ups_time_left_minutes">Aikaa jäljellä akuissa</string> - <string id="082" name="ups_voltage_mark">V</string> - <string id="083" name="ups_minutes_mark">minuuttia</string> - <string id="084" name="ups_temperature">Lämpö</string> -</strings> +<?xml version="1.0" encoding="utf-8"?> + <!-- $Id$ --> + <!-- + phpSysInfo language file Language: Finnish Created by: nakeman + --> +<tns:translation language="finnish" charset="utf-8" + xmlns:tns="http://phpsysinfo.sourceforge.net/translation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://phpsysinfo.sourceforge.net/translation translation.xsd"> + <expression id="001" name="title"> + <exp>Järjestelmä</exp> + </expression> + <expression id="002" name="vitals"> + <exp>Välttämättömimmät tiedot</exp> + </expression> + <expression id="003" name="hostname"> + <exp>Kanoninen isäntänimi</exp> + </expression> + <expression id="004" name="ip"> + <exp>IP-osoite</exp> + </expression> + <expression id="005" name="kversion"> + <exp>Ytimen versio</exp> + </expression> + <expression id="006" name="dversion"> + <exp>Distron nimi</exp> + </expression> + <expression id="007" name="uptime"> + <exp>Uptime</exp> + </expression> + <expression id="008" name="users"> + <exp>Nykyiset käyttäjät</exp> + </expression> + <expression id="009" name="loadavg"> + <exp>Keskimääräinen kuorma</exp> + </expression> + <expression id="010" name="hardware"> + <exp>Laitteisto</exp> + </expression> + <expression id="011" name="numcpu"> + <exp>Prosessorit</exp> + </expression> + <expression id="012" name="cpumodel"> + <exp>Malli</exp> + </expression> + <expression id="013" name="cpuspeed"> + <exp>CPU:n kellotaajuus</exp> + </expression> + <expression id="014" name="busspeed"> + <exp>BUS:n kellotaajuus</exp> + </expression> + <expression id="015" name="cache"> + <exp>Välimuistin koko</exp> + </expression> + <expression id="016" name="bogomips"> + <exp>Järjestelmän Bogomipsit</exp> + </expression> + <expression id="017" name="pci"> + <exp>PCI laitteet</exp> + </expression> + <expression id="018" name="ide"> + <exp>IDE laitteet</exp> + </expression> + <expression id="019" name="scsi"> + <exp>SCSI laitteet</exp> + </expression> + <expression id="020" name="usb"> + <exp>USB laitteet</exp> + </expression> + <expression id="021" name="netusage"> + <exp>Verkon käyttö</exp> + </expression> + <expression id="022" name="device"> + <exp>Laite</exp> + </expression> + <expression id="023" name="received"> + <exp>Vastaanotettu</exp> + </expression> + <expression id="024" name="sent"> + <exp>Lähetetty</exp> + </expression> + <expression id="025" name="errors"> + <exp>Err/Drop</exp> + </expression> + <expression id="026" name="connections"> + <exp>Vakiintuneet yhteydet</exp> + </expression> + <expression id="027" name="memusage"> + <exp>Muistin käyttö</exp> + </expression> + <expression id="028" name="phymem"> + <exp>Fyysinen muisti</exp> + </expression> + <expression id="029" name="swap"> + <exp>Levy Swap</exp> + </expression> + <expression id="030" name="fs"> + <exp>Mountatut tiedostojärjestelmät</exp> + </expression> + <expression id="031" name="mount"> + <exp>Mounttauspiste</exp> + </expression> + <expression id="032" name="partition"> + <exp>Partitiot</exp> + </expression> + <expression id="033" name="percent"> + <exp>Käytössä</exp> + </expression> + <expression id="034" name="type"> + <exp>Tyyppi</exp> + </expression> + <expression id="035" name="free"> + <exp>Vapaana</exp> + </expression> + <expression id="036" name="used"> + <exp>Käytetty</exp> + </expression> + <expression id="037" name="size"> + <exp>Koko</exp> + </expression> + <expression id="038" name="totals"> + <exp>Yhteensä</exp> + </expression> + <expression id="039" name="kb"> + <exp>KB</exp> + </expression> + <expression id="040" name="mb"> + <exp>MB</exp> + </expression> + <expression id="041" name="gb"> + <exp>GB</exp> + </expression> + <expression id="042" name="none"> + <exp>ei</exp> + </expression> + <expression id="043" name="capacity"> + <exp>Kapasiteetti</exp> + </expression> + <expression id="044" name="template"> + <exp>Teema</exp> + </expression> + <expression id="045" name="language"> + <exp>Kieli</exp> + </expression> + <expression id="046" name="submit"> + <exp>Muokkaa</exp> + </expression> + <expression id="047" name="created"> + <exp>Luonut</exp> + </expression> + <expression id="048" name="days"> + <exp>päivää</exp> + </expression> + <expression id="049" name="hours"> + <exp>tuntia</exp> + </expression> + <expression id="050" name="minutes"> + <exp>minuuttia</exp> + </expression> + <expression id="051" name="temperature"> + <exp>Lämpö</exp> + </expression> + <expression id="052" name="voltage"> + <exp>Voltti</exp> + </expression> + <expression id="053" name="fans"> + <exp>Tuulettimet</exp> + </expression> + <expression id="054" name="s_value"> + <exp>Arvo</exp> + </expression> + <expression id="055" name="s_min"> + <exp>Min</exp> + </expression> + <expression id="056" name="s_max"> + <exp>Max</exp> + </expression> + <expression id="057" name="hysteresis"> + <exp>Hystereesi</exp> + </expression> + <expression id="058" name="s_limit"> + <exp>Rajoitus</exp> + </expression> + <expression id="059" name="s_label"> + <exp>Leima</exp> + </expression> + <expression id="060" name="degreeC"> + <exp>C</exp> + </expression> + <expression id="061" name="degreeF"> + <exp>F</exp> + </expression> + <expression id="062" name="voltage_mark"> + <exp>V</exp> + </expression> + <expression id="063" name="rpm_mark"> + <exp>RPM</exp> + </expression> + <expression id="064" name="app"> + <exp>Ydin + ohjelmistot</exp> + </expression> + <expression id="065" name="buffers"> + <exp>Puskurit</exp> + </expression> + <expression id="066" name="cached"> + <exp>Välimuistissa</exp> + </expression> + <expression id="067" name="jumpto"> + <exp>Hyppää</exp> + </expression> + <expression id="068" name="ups_title"> + <exp>UPS tietoja</exp> + </expression> + <expression id="069" name="ups_name"> + <exp>Nimi</exp> + </expression> + <expression id="070" name="ups_model"> + <exp>Tyyppi</exp> + </expression> + <expression id="071" name="ups_mode"> + <exp>Moodi</exp> + </expression> + <expression id="072" name="ups_start_time"> + <exp>Aloitettu</exp> + </expression> + <expression id="073" name="ups_status"> + <exp>Tila</exp> + </expression> + <expression id="074" name="ups_outages_count"> + <exp>Katkoksia</exp> + </expression> + <expression id="075" name="ups_last_outage"> + <exp>Viimeisen katkoksen syy</exp> + </expression> + <expression id="076" name="ups_last_outage_finish"> + <exp>Viimeisimmän katkoksen aikaleima</exp> + </expression> + <expression id="077" name="ups_line_voltage"> + <exp>Linjan jännite</exp> + </expression> + <expression id="078" name="ups_load_percent"> + <exp>Kuorma prosentteina</exp> + </expression> + <expression id="079" name="ups_battery_voltage"> + <exp>Akun jännite</exp> + </expression> + <expression id="080" name="ups_battery_charge_percent"> + <exp>Akun kuorma</exp> + </expression> + <expression id="081" name="ups_time_left_minutes"> + <exp>Aikaa jäljellä akuissa</exp> + </expression> + <expression id="082" name="ups_voltage_mark"> + <exp>V</exp> + </expression> + <expression id="083" name="ups_minutes_mark"> + <exp>minuuttia</exp> + </expression> + <expression id="084" name="ups_temperature"> + <exp>Lämpö</exp> + </expression> +</tns:translation> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jac...@us...> - 2008-12-14 09:13:17
|
Revision: 53 http://phpsysinfo.svn.sourceforge.net/phpsysinfo/?rev=53&view=rev Author: jacky672 Date: 2008-12-14 09:13:14 +0000 (Sun, 14 Dec 2008) Log Message: ----------- Add Finnish translation Modified Paths: -------------- ChangeLog Added Paths: ----------- language/fi.xml Modified: ChangeLog =================================================================== --- ChangeLog 2008-12-13 15:56:11 UTC (rev 52) +++ ChangeLog 2008-12-14 09:13:14 UTC (rev 53) @@ -1,7 +1,7 @@ $Id$ phpSysInfo 3.0 - - [ADD] Korean, Danish translation + - [ADD] Korean, Danish, Finnish translation - [ADD] Option to hide disks (partitions) - [ADD] New definition file for our xml - [ADD] Alternative static display of some core values through xml and xslt for html when no js is available Added: language/fi.xml =================================================================== --- language/fi.xml (rev 0) +++ language/fi.xml 2008-12-14 09:13:14 UTC (rev 53) @@ -0,0 +1,92 @@ +<!-- $Id$ + phpSysInfo language file + Language: Finnish + Translated by: nakeman +--> + +<strings language="english" charset="utf-8"> + <string id="001" name="title">Järjestelmä</string> + <string id="002" name="vitals">Välttämättömimmät tiedot</string> + <string id="003" name="hostname">Kanoninen isäntänimi</string> + <string id="004" name="ip">IP-osoite</string> + <string id="005" name="kversion">Ytimen versio</string> + <string id="006" name="dversion">Distron nimi</string> + <string id="007" name="uptime">Uptime</string> + <string id="008" name="users">Nykyiset käyttäjät</string> + <string id="009" name="loadavg">Keskimääräinen kuorma</string> + <string id="010" name="hardware">Laitteisto</string> + <string id="011" name="numcpu">Prosessorit</string> + <string id="012" name="cpumodel">Malli</string> + <string id="013" name="cpuspeed">CPU:n kellotaajuus</string> + <string id="014" name="busspeed">BUS:n kellotaajuus</string> + <string id="015" name="cache">Välimuistin koko</string> + <string id="016" name="bogomips">Järjestelmän Bogomipsit</string> + <string id="017" name="pci">PCI laitteet</string> + <string id="018" name="ide">IDE laitteet</string> + <string id="019" name="scsi">SCSI laitteet</string> + <string id="020" name="usb">USB laitteet</string> + <string id="021" name="netusage">Verkon käyttö</string> + <string id="022" name="device">Laite</string> + <string id="023" name="received">Vastaanotettu</string> + <string id="024" name="sent">Lähetetty</string> + <string id="025" name="errors">Err/Drop</string> + <string id="026" name="connections">Vakiintuneet yhteydet</string> + <string id="027" name="memusage">Muistin käyttö</string> + <string id="028" name="phymem">Fyysinen muisti</string> + <string id="029" name="swap">Levy Swap</string> + <string id="030" name="fs">Mountatut tiedostojärjestelmät</string> + <string id="031" name="mount">Mounttauspiste</string> + <string id="032" name="partition">Partitiot</string> + <string id="033" name="percent">Käytössä</string> + <string id="034" name="type">Tyyppi</string> + <string id="035" name="free">Vapaana</string> + <string id="036" name="used">Käytetty</string> + <string id="037" name="size">Koko</string> + <string id="038" name="totals">Yhteensä</string> + <string id="039" name="kb">KB</string> + <string id="040" name="mb">MB</string> + <string id="041" name="gb">GB</string> + <string id="042" name="none">ei</string> + <string id="043" name="capacity">Kapasiteetti</string> + <string id="044" name="template">Teema</string> + <string id="045" name="language">Kieli</string> + <string id="046" name="submit">Muokkaa</string> + <string id="047" name="created">Luonut</string> + <string id="048" name="days">päivää</string> + <string id="049" name="hours">tuntia</string> + <string id="050" name="minutes">minuuttia</string> + <string id="051" name="temperature">Lämpö</string> + <string id="052" name="voltage">Voltti</string> + <string id="053" name="fans">Tuulettimet</string> + <string id="054" name="s_value">Arvo</string> + <string id="055" name="s_min">Min</string> + <string id="056" name="s_max">Max</string> + <string id="057" name="hysteresis">Hystereesi</string> + <string id="058" name="s_limit">Rajoitus</string> + <string id="059" name="s_label">Leima</string> + <string id="060" name="degreeC">C</string> + <string id="061" name="degreeF">F</string> + <string id="062" name="voltage_mark">V</string> + <string id="063" name="rpm_mark">RPM</string> + <string id="064" name="app">Ydin + ohjelmistot</string> + <string id="065" name="buffers">Puskurit</string> + <string id="066" name="cached">Välimuistissa</string> + <string id="067" name="jumpto">Hyppää</string> + <string id="068" name="ups_title">UPS tietoja</string> + <string id="069" name="ups_name">Nimi</string> + <string id="070" name="ups_model">Tyyppi</string> + <string id="071" name="ups_mode">Moodi</string> + <string id="072" name="ups_start_time">Aloitettu</string> + <string id="073" name="ups_status">Tila</string> + <string id="074" name="ups_outages_count">Katkoksia</string> + <string id="075" name="ups_last_outage">Viimeisen katkoksen syy</string> + <string id="076" name="ups_last_outage_finish">Viimeisimmän katkoksen aikaleima</string> + <string id="077" name="ups_line_voltage">Linjan jännite</string> + <string id="078" name="ups_load_percent">Kuorma prosentteina</string> + <string id="079" name="ups_battery_voltage">Akun jännite</string> + <string id="080" name="ups_battery_charge_percent">Akun kuorma</string> + <string id="081" name="ups_time_left_minutes">Aikaa jäljellä akuissa</string> + <string id="082" name="ups_voltage_mark">V</string> + <string id="083" name="ups_minutes_mark">minuuttia</string> + <string id="084" name="ups_temperature">Lämpö</string> +</strings> Property changes on: language/fi.xml ___________________________________________________________________ Added: svn:mime-type + text/xml Added: svn:keywords + Id Added: svn:eol-style + LF This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Jac...@us...> - 2008-12-13 15:56:15
|
Revision: 52 http://phpsysinfo.svn.sourceforge.net/phpsysinfo/?rev=52&view=rev Author: Jacky672 Date: 2008-12-13 15:56:11 +0000 (Sat, 13 Dec 2008) Log Message: ----------- Increase the font-size and change table background-color Modified Paths: -------------- templates/clean.css Modified: templates/clean.css =================================================================== --- templates/clean.css 2008-12-11 14:32:37 UTC (rev 51) +++ templates/clean.css 2008-12-13 15:56:11 UTC (rev 52) @@ -23,7 +23,7 @@ body { font-family: Helvetica, Arial, "Lucida Grande", Verdana, sans-serif; - font-size: .71em; + font-size: .75em; position: relative; width: 940px; min-height: 100%; @@ -73,7 +73,7 @@ width: 100%; border-top: solid 2px #DADADA; border-bottom: solid 2px #DADADA; - background-color: #F2F2FF; + background-color: #F3F8FC; } th,td,h3 { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Big...@us...> - 2008-12-11 14:32:41
|
Revision: 51 http://phpsysinfo.svn.sourceforge.net/phpsysinfo/?rev=51&view=rev Author: BigMichi1 Date: 2008-12-11 14:32:37 +0000 (Thu, 11 Dec 2008) Log Message: ----------- make translations work again, reflect changes in xml structure of the language files Modified Paths: -------------- phpsysinfo.js Modified: phpsysinfo.js =================================================================== --- phpsysinfo.js 2008-12-11 14:21:00 UTC (rev 50) +++ phpsysinfo.js 2008-12-11 14:32:37 UTC (rev 51) @@ -172,7 +172,7 @@ function changeLanguage() { $("[@lang]").each(function(i) { langId = this.lang; - langStr = $("string[@id="+langId+"]",langxml); + langStr = $("expression[@id="+langId+"]",langxml); if(langStr.length > 0) { this.innerHTML = langStr.text(); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Big...@us...> - 2008-12-11 14:21:05
|
Revision: 50 http://phpsysinfo.svn.sourceforge.net/phpsysinfo/?rev=50&view=rev Author: BigMichi1 Date: 2008-12-11 14:21:00 +0000 (Thu, 11 Dec 2008) Log Message: ----------- ignore config.php on svn Property Changed: ---------------- / Property changes on: ___________________________________________________________________ Added: svn:ignore + config.php This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Big...@us...> - 2008-12-09 13:09:24
|
Revision: 49 http://phpsysinfo.svn.sourceforge.net/phpsysinfo/?rev=49&view=rev Author: BigMichi1 Date: 2008-12-09 13:09:20 +0000 (Tue, 09 Dec 2008) Log Message: ----------- Fedore update Modified Paths: -------------- ChangeLog distros.ini gfx/images/Fedora.png Modified: ChangeLog =================================================================== --- ChangeLog 2008-12-08 13:37:59 UTC (rev 48) +++ ChangeLog 2008-12-09 13:09:20 UTC (rev 49) @@ -14,6 +14,7 @@ - [FIX] Fixed hidenetworkinterfaces config option - [FIX] Fixed Bug [ 1987494 ] clicking on "Physical Memory" - [FIX] Some fixes for recent /proc/mdstat files, also new sample file for tests + - [FIX] Fedore distro must be read before Redhat - [UPD] Updated jquery plugin nyroModal to 1.3.1 - [UPD] Remove of the hide_* functions, useless calls because of the new config.php style @@ -21,6 +22,7 @@ - [UPD] New changelog format : [ADD] = ADDED, [FIX] = FIXED, [UPD] = UPDATED, [SEC] = SECURITY - [UPD] Language files (de) - [UPD] refresh only values not the entire page + - [UPD] Fedore icon phpSysInfo 3.0 RC-6, 2008-06-05 - added the architecture to the kernel line for Linux systems Modified: distros.ini =================================================================== --- distros.ini 2008-12-08 13:37:59 UTC (rev 48) +++ distros.ini 2008-12-09 13:09:20 UTC (rev 49) @@ -24,10 +24,6 @@ Image = "Gentoo.png" Files = "/etc/gentoo-release" -[RedHat] -Image = "Redhat.png" -Files = "/etc/redhat-release;/etc/redhat_version" - [Fedora] Image = "Fedora.png" Files = "/etc/fedora-release" @@ -36,6 +32,10 @@ Image = "Fedora.png" Files = "/etc/fedora-release" +[RedHat] +Image = "Redhat.png" +Files = "/etc/redhat-release;/etc/redhat_version" + [Slackware] Image = "Slackware.png" Files = "/etc/slackware-release;/etc/slackware-version" Modified: gfx/images/Fedora.png =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Big...@us...> - 2008-12-08 13:38:01
|
Revision: 48 http://phpsysinfo.svn.sourceforge.net/phpsysinfo/?rev=48&view=rev Author: BigMichi1 Date: 2008-12-08 13:37:59 +0000 (Mon, 08 Dec 2008) Log Message: ----------- Updated nyroModal to 1.3.1 Modified Paths: -------------- ChangeLog Modified: ChangeLog =================================================================== --- ChangeLog 2008-12-08 13:29:19 UTC (rev 47) +++ ChangeLog 2008-12-08 13:37:59 UTC (rev 48) @@ -15,7 +15,7 @@ - [FIX] Fixed Bug [ 1987494 ] clicking on "Physical Memory" - [FIX] Some fixes for recent /proc/mdstat files, also new sample file for tests - - [UPD] Updated jquery plugin nyroModal to 1.2.8 + - [UPD] Updated jquery plugin nyroModal to 1.3.1 - [UPD] Remove of the hide_* functions, useless calls because of the new config.php style - [UPD] Some internal changes in the generated xml file - [UPD] New changelog format : [ADD] = ADDED, [FIX] = FIXED, [UPD] = UPDATED, [SEC] = SECURITY This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Big...@us...> - 2008-12-08 13:29:21
|
Revision: 47 http://phpsysinfo.svn.sourceforge.net/phpsysinfo/?rev=47&view=rev Author: BigMichi1 Date: 2008-12-08 13:29:19 +0000 (Mon, 08 Dec 2008) Log Message: ----------- import cvs Added Paths: ----------- sample/ sample/MBM5.csv sample/df1.txt sample/ipmitool1.txt sample/lmsensors1.txt sample/lmsensors2.txt sample/lmsensors3.txt sample/lmsensors4.txt sample/lmsensors5.txt sample/lmsensors6.txt sample/mount1.txt sample/raid1.txt sample/raid2.txt sample/raid3.txt sample/raid4.txt sample/raid5.txt sample/raid6.txt Added: sample/MBM5.csv =================================================================== (Binary files differ) Property changes on: sample/MBM5.csv ___________________________________________________________________ Added: svn:mime-type + plain/text Added: sample/df1.txt =================================================================== (Binary files differ) Property changes on: sample/df1.txt ___________________________________________________________________ Added: svn:mime-type + plain/text Added: sample/ipmitool1.txt =================================================================== (Binary files differ) Property changes on: sample/ipmitool1.txt ___________________________________________________________________ Added: svn:mime-type + plain/text Added: sample/lmsensors1.txt =================================================================== (Binary files differ) Property changes on: sample/lmsensors1.txt ___________________________________________________________________ Added: svn:mime-type + plain/text Added: sample/lmsensors2.txt =================================================================== (Binary files differ) Property changes on: sample/lmsensors2.txt ___________________________________________________________________ Added: svn:mime-type + plain/text Added: sample/lmsensors3.txt =================================================================== (Binary files differ) Property changes on: sample/lmsensors3.txt ___________________________________________________________________ Added: svn:mime-type + plain/text Added: sample/lmsensors4.txt =================================================================== (Binary files differ) Property changes on: sample/lmsensors4.txt ___________________________________________________________________ Added: svn:mime-type + plain/text Added: sample/lmsensors5.txt =================================================================== (Binary files differ) Property changes on: sample/lmsensors5.txt ___________________________________________________________________ Added: svn:mime-type + plain/text Added: sample/lmsensors6.txt =================================================================== (Binary files differ) Property changes on: sample/lmsensors6.txt ___________________________________________________________________ Added: svn:mime-type + plain/text Added: sample/mount1.txt =================================================================== (Binary files differ) Property changes on: sample/mount1.txt ___________________________________________________________________ Added: svn:mime-type + plain/text Added: sample/raid1.txt =================================================================== (Binary files differ) Property changes on: sample/raid1.txt ___________________________________________________________________ Added: svn:mime-type + plain/text Added: sample/raid2.txt =================================================================== (Binary files differ) Property changes on: sample/raid2.txt ___________________________________________________________________ Added: svn:mime-type + plain/text Added: sample/raid3.txt =================================================================== (Binary files differ) Property changes on: sample/raid3.txt ___________________________________________________________________ Added: svn:mime-type + plain/text Added: sample/raid4.txt =================================================================== (Binary files differ) Property changes on: sample/raid4.txt ___________________________________________________________________ Added: svn:mime-type + plain/text Added: sample/raid5.txt =================================================================== (Binary files differ) Property changes on: sample/raid5.txt ___________________________________________________________________ Added: svn:mime-type + plain/text Added: sample/raid6.txt =================================================================== (Binary files differ) Property changes on: sample/raid6.txt ___________________________________________________________________ Added: svn:mime-type + plain/text This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Big...@us...> - 2008-12-08 13:23:27
|
Revision: 46 http://phpsysinfo.svn.sourceforge.net/phpsysinfo/?rev=46&view=rev Author: BigMichi1 Date: 2008-12-08 13:23:16 +0000 (Mon, 08 Dec 2008) Log Message: ----------- import cvs Added Paths: ----------- phpsysinfo.xsd phpsysinfo.xslt Added: phpsysinfo.xsd =================================================================== --- phpsysinfo.xsd (rev 0) +++ phpsysinfo.xsd 2008-12-08 13:23:16 UTC (rev 46) @@ -0,0 +1,521 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> + <!-- $Id$ --> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" + elementFormDefault="qualified"> + <!-- $Id$ --> + <xs:element name="phpsysinfo"> + <xs:complexType> + <xs:sequence> + <xs:element ref="Generation" /> + <xs:element ref="Options" /> + <xs:element ref="Vitals" /> + <xs:element ref="Network" /> + <xs:element ref="Hardware" /> + <xs:element ref="Memory" /> + <xs:element ref="Swap" /> + <xs:element ref="Swapdevices" /> + <xs:element ref="FileSystem" /> + <xs:element ref="MBinfo" minOccurs="0" /> + <xs:element ref="HDDTemp" minOccurs="0" /> + <xs:element ref="UPSinfo" minOccurs="0" /> + <xs:element ref="Plugins" minOccurs="0" /> + <xs:element ref="Errors" minOccurs="0" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="Generation"> + <xs:complexType> + <xs:attribute name="version" type="xs:string" use="required" /> + <xs:attribute name="timestamp" type="xs:unsignedLong" use="required" /> + </xs:complexType> + </xs:element> + <xs:element name="Options"> + <xs:complexType> + <xs:sequence> + <xs:element ref="tempFormat" /> + <xs:element ref="byteFormat" /> + <xs:element ref="refresh" /> + <xs:element ref="Used_Plugins" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="tempFormat" type="xs:string" default="c" /> + <xs:element name="byteFormat" type="xs:string" default="auto" /> + <xs:element name="Used_Plugins"> + <xs:complexType> + <xs:sequence> + <xs:element ref="Plugin" minOccurs="0" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="Plugin" type="xs:string" /> + <xs:element name="Vitals"> + <xs:complexType> + <xs:sequence> + <xs:element ref="Hostname" /> + <xs:element ref="IPAddr" /> + <xs:element ref="Kernel" /> + <xs:element ref="Distro" /> + <xs:element ref="Distroicon" /> + <xs:element ref="Uptime" /> + <xs:element ref="Users" /> + <xs:element ref="LoadAvg" /> + <xs:element ref="CPULoad" minOccurs="0" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="Hostname" type="xs:string" /> + <xs:element name="IPAddr"> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:pattern + value="(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)" /> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element name="Kernel" type="xs:string" /> + <xs:element name="Distro" type="xs:string" /> + <xs:element name="Distroicon" type="xs:string" /> + <xs:element name="Uptime"> + <xs:simpleType> + <xs:restriction base="xs:float"> + <xs:minInclusive value="0" /> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element name="Users"> + <xs:simpleType> + <xs:restriction base="xs:integer"> + <xs:minInclusive value="0" fixed="false" /> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element name="LoadAvg" type="xs:string" /> + <xs:element name="CPULoad" type="xs:decimal" /> + <xs:element name="Network"> + <xs:complexType> + <xs:sequence> + <xs:element ref="NetDevice" minOccurs="0" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="NetDevice"> + <xs:complexType> + <xs:sequence> + <xs:element ref="Name" /> + <xs:element ref="RxBytes" /> + <xs:element ref="TxBytes" /> + <xs:element ref="Err" /> + <xs:element ref="Drops" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="Name" type="xs:string" /> + <xs:element name="RxBytes"> + <xs:simpleType> + <xs:restriction base="xs:unsignedLong"> + <xs:minInclusive value="0" /> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element name="TxBytes"> + <xs:simpleType> + <xs:restriction base="xs:unsignedLong"> + <xs:minInclusive value="0" /> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element name="Err"> + <xs:simpleType> + <xs:restriction base="xs:unsignedLong"> + <xs:minInclusive value="0" /> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element name="Drops"> + <xs:simpleType> + <xs:restriction base="xs:unsignedLong"> + <xs:minInclusive value="0" /> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element name="Hardware"> + <xs:complexType> + <xs:sequence> + <xs:element ref="CPU" /> + <xs:element ref="PCI" /> + <xs:element ref="IDE" /> + <xs:element ref="SCSI" /> + <xs:element ref="USB" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="CPU"> + <xs:complexType> + <xs:sequence> + <xs:element ref="Number" /> + <xs:element ref="Model" /> + <xs:element ref="Cputemp" minOccurs="0" /> + <xs:element ref="Cpuspeed" /> + <xs:element ref="Busspeed" minOccurs="0" /> + <xs:element ref="Cache" minOccurs="0" /> + <xs:element ref="Bogomips" minOccurs="0" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="Number"> + <xs:simpleType> + <xs:restriction base="xs:integer"> + <xs:minInclusive value="0" /> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element name="Model" type="xs:string" /> + <xs:element name="Cputemp" type="xs:decimal" /> + <xs:element name="Cpuspeed"> + <xs:simpleType> + <xs:restriction base="xs:decimal"> + <xs:minInclusive value="0" /> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element name="Busspeed"> + <xs:simpleType> + <xs:restriction base="xs:decimal"> + <xs:minInclusive value="0" /> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element name="Cache"> + <xs:simpleType> + <xs:restriction base="xs:decimal"> + <xs:minInclusive value="0" /> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element name="Bogomips" type="xs:decimal" /> + <xs:element name="PCI"> + <xs:complexType> + <xs:sequence> + <xs:element ref="Device" minOccurs="0" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="Device"> + <xs:complexType> + <xs:sequence> + <xs:element ref="Name" /> + <xs:element ref="Capacity" minOccurs="0" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="Capacity"> + <xs:simpleType> + <xs:restriction base="xs:unsignedLong"> + <xs:minInclusive value="0" /> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element name="IDE"> + <xs:complexType> + <xs:sequence> + <xs:element ref="Device" minOccurs="0" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="SCSI"> + <xs:complexType> + <xs:sequence> + <xs:element ref="Device" minOccurs="0" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="USB"> + <xs:complexType> + <xs:sequence> + <xs:element ref="Device" minOccurs="0" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="Memory"> + <xs:complexType> + <xs:sequence> + <xs:element ref="Free" /> + <xs:element ref="Used" /> + <xs:element ref="Total" /> + <xs:element ref="Percent" /> + <xs:element ref="App" minOccurs="0" /> + <xs:element ref="AppPercent" minOccurs="0" /> + <xs:element ref="Buffers" minOccurs="0" /> + <xs:element ref="BuffersPercent" minOccurs="0" /> + <xs:element ref="Cached" minOccurs="0" /> + <xs:element ref="CachedPercent" minOccurs="0" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="Free"> + <xs:simpleType> + <xs:restriction base="xs:unsignedLong"> + <xs:minInclusive value="0" /> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element name="Used"> + <xs:simpleType> + <xs:restriction base="xs:unsignedLong"> + <xs:minInclusive value="0" /> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element name="Total"> + <xs:simpleType> + <xs:restriction base="xs:unsignedLong"> + <xs:minInclusive value="0" /> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element name="Percent"> + <xs:simpleType> + <xs:restriction base="xs:integer"> + <xs:minInclusive value="0" /> + <xs:maxInclusive value="100" /> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element name="App"> + <xs:simpleType> + <xs:restriction base="xs:unsignedLong"> + <xs:minInclusive value="0" /> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element name="AppPercent"> + <xs:simpleType> + <xs:restriction base="xs:integer"> + <xs:minInclusive value="0" /> + <xs:maxInclusive value="100" /> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element name="Buffers"> + <xs:simpleType> + <xs:restriction base="xs:unsignedLong"> + <xs:minInclusive value="0" /> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element name="BuffersPercent"> + <xs:simpleType> + <xs:restriction base="xs:integer"> + <xs:minInclusive value="0" /> + <xs:maxInclusive value="100" /> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element name="Cached"> + <xs:simpleType> + <xs:restriction base="xs:unsignedLong"> + <xs:minInclusive value="0" /> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element name="CachedPercent"> + <xs:simpleType> + <xs:restriction base="xs:integer"> + <xs:minInclusive value="0" /> + <xs:maxInclusive value="100" /> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element name="Swap"> + <xs:complexType> + <xs:sequence> + <xs:element ref="Free" minOccurs="0" /> + <xs:element ref="Used" minOccurs="0" /> + <xs:element ref="Total" minOccurs="0" /> + <xs:element ref="Percent" minOccurs="0" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="Swapdevices"> + <xs:complexType> + <xs:sequence> + <xs:element ref="Mount" minOccurs="0" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="FileSystem"> + <xs:complexType> + <xs:sequence> + <xs:element ref="Mount" minOccurs="0" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="Mount"> + <xs:complexType> + <xs:sequence> + <xs:element ref="MountPointID" /> + <xs:element ref="MountPoint" minOccurs="0" /> + <xs:element ref="Type" /> + <xs:element ref="Device" /> + <xs:element ref="Percent" /> + <xs:element ref="Free" /> + <xs:element ref="Used" /> + <xs:element ref="Size" /> + <xs:element ref="MountOptions" minOccurs="0" /> + <xs:element ref="Inodes" minOccurs="0" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="MountPointID"> + <xs:simpleType> + <xs:restriction base="xs:integer"> + <xs:minInclusive value="0" /> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element name="MountPoint" type="xs:string" /> + <xs:element name="Type" type="xs:string" /> + <xs:element name="Size"> + <xs:simpleType> + <xs:restriction base="xs:unsignedLong"> + <xs:minInclusive value="0" /> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element name="MountOptions" type="xs:string" /> + <xs:element name="Inodes"> + <xs:simpleType> + <xs:restriction base="xs:integer"> + <xs:minInclusive value="0" /> + <xs:maxInclusive value="100" /> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element name="MBinfo"> + <xs:complexType> + <xs:sequence> + <xs:element ref="Temperature" minOccurs="0" /> + <xs:element ref="Fans" minOccurs="0" /> + <xs:element ref="Voltage" minOccurs="0" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="Temperature"> + <xs:complexType> + <xs:sequence> + <xs:element ref="Item" minOccurs="0" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="Item"> + <xs:complexType> + <xs:sequence> + <xs:element ref="Label" /> + <xs:element ref="Value" /> + <xs:element ref="Limit" minOccurs="0" /> + <xs:element ref="Min" minOccurs="0" /> + <xs:element ref="Max" minOccurs="0" /> + <xs:element ref="Model" minOccurs="0" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="Label" type="xs:string" /> + <xs:element name="Value" type="xs:decimal" /> + <xs:element name="Limit" type="xs:decimal" /> + <xs:element name="Min" type="xs:decimal" /> + <xs:element name="Max" type="xs:decimal" /> + <xs:element name="Fans"> + <xs:complexType> + <xs:sequence> + <xs:element ref="Item" minOccurs="0" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="Voltage"> + <xs:complexType> + <xs:sequence> + <xs:element ref="Item" minOccurs="0" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="HDDTemp"> + <xs:complexType> + <xs:sequence> + <xs:element ref="Item" minOccurs="0" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="UPSinfo"> + <xs:complexType> + <xs:sequence> + <xs:element ref="Ups" minOccurs="0" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="Ups"> + <xs:complexType> + <xs:sequence> + <xs:element ref="Name" /> + <xs:element ref="Model" /> + <xs:element ref="Mode" /> + <xs:element ref="StartTime" /> + <xs:element ref="Status" /> + <xs:element ref="UPSTemperature" /> + <xs:element ref="OutagesCount" /> + <xs:element ref="LastOutage" /> + <xs:element ref="LastOutageFinish" /> + <xs:element ref="LineVoltage" /> + <xs:element ref="LoadPercent" /> + <xs:element ref="BatteryVoltage" /> + <xs:element ref="BatteryChargePercent" /> + <xs:element ref="TimeLeftMinutes" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="Mode" type="xs:string" /> + <xs:element name="StartTime" type="xs:string" /> + <xs:element name="Status" type="xs:string" /> + <xs:element name="UPSTemperature" type="xs:string" /> + <xs:element name="OutagesCount" type="xs:string" /> + <xs:element name="LastOutage" type="xs:string" /> + <xs:element name="LastOutageFinish" type="xs:string" /> + <xs:element name="LineVoltage" type="xs:decimal" /> + <xs:element name="LoadPercent"> + <xs:simpleType> + <xs:restriction base="xs:decimal"> + <xs:minInclusive value="0" /> + <xs:maxInclusive value="100" /> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element name="BatteryVoltage" type="xs:decimal" /> + <xs:element name="BatteryChargePercent"> + <xs:simpleType> + <xs:restriction base="xs:decimal"> + <xs:minInclusive value="0" /> + <xs:maxInclusive value="100" /> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element name="TimeLeftMinutes" type="xs:decimal" /> + <xs:element name="Errors"> + <xs:complexType> + <xs:sequence> + <xs:element ref="Error" minOccurs="0" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="Error"> + <xs:complexType> + <xs:sequence> + <xs:element ref="Function" /> + <xs:element ref="Message" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="Function" type="xs:string" /> + <xs:element name="Message" type="xs:string" /> + <xs:element name="Plugins" /> + <xs:element name="refresh" type="xs:string" /> +</xs:schema> \ No newline at end of file Property changes on: phpsysinfo.xsd ___________________________________________________________________ Added: svn:mime-type + text/xml Added: svn:keywords + Id Added: svn:eol-style + LF Added: phpsysinfo.xslt =================================================================== --- phpsysinfo.xslt (rev 0) +++ phpsysinfo.xslt 2008-12-08 13:23:16 UTC (rev 46) @@ -0,0 +1,1195 @@ +<?xml version="1.0" encoding="UTF-8"?> + <!-- $Id$ --> +<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 STATIC</xsl:text> + </title> + <style type="text/css"> + <xsl:comment> + @import url("templates/phpsysinfo.css"); + </xsl:comment> + </style> + </head> + <body> + <xsl:for-each select="$XML"> + <xsl:for-each select="phpsysinfo"> + <div> + <xsl:for-each select="Vitals"> + <h1 id="title"> + <span> + <xsl:text>System Information: </xsl:text> + </span> + <xsl:for-each select="Hostname"> + <xsl:apply-templates /> + </xsl:for-each> + <span> + <xsl:text> (</xsl:text> + </span> + <xsl:for-each select="IPAddr"> + <xsl:apply-templates /> + </xsl:for-each> + <span> + <xsl:text>)</xsl:text> + </span> + </h1> + </xsl:for-each> + <div id="vitals"> + <xsl:for-each select="Vitals"> + <h2> + <span> + <xsl:text>System Vital</xsl:text> + </span> + </h2> + <table border="0" cellspacing="0" class="stripMe" id="vitalsTable" + width="100%"> + <tbody> + <tr> + <td style="width:160px; "> + <span> + <xsl:text>Canonical Hostname</xsl:text> + </span> + </td> + <td> + <xsl:for-each select="Hostname"> + <xsl:apply-templates /> + </xsl:for-each> + </td> + </tr> + <tr class="odd"> + <td style="width:160px; "> + <span> + <xsl:text>Listening IP</xsl:text> + </span> + </td> + <td> + <xsl:for-each select="IPAddr"> + <xsl:apply-templates /> + </xsl:for-each> + </td> + </tr> + <tr> + <td style="width:160px; "> + <span> + <xsl:text>Kernel Version</xsl:text> + </span> + </td> + <td> + <xsl:for-each select="Kernel"> + <xsl:apply-templates /> + </xsl:for-each> + </td> + </tr> + <tr class="odd"> + <td style="width:160px; "> + <span> + <xsl:text>Distro Name</xsl:text> + </span> + </td> + <td> + <xsl:for-each select="Distroicon"> + <img style="height:16px; width:16px; "> + <xsl:attribute name="src"> + <xsl:if + test="substring(string(concat('images/',.)), 2, 1) = ':'"> + <xsl:text>file:///</xsl:text> + </xsl:if> + <xsl:value-of + select="translate(string(concat('images/',.)), '\', '/')" /> + </xsl:attribute> + <xsl:attribute name="alt" /> + </img> + </xsl:for-each> + <span> + <xsl:text> </xsl:text> + </span> + <xsl:for-each select="Distro"> + <xsl:apply-templates /> + </xsl:for-each> + </td> + </tr> + <tr> + <td style="width:160px; "> + <span> + <xsl:text>Uptime</xsl:text> + </span> + </td> + <td> + <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> + </td> + </tr> + <tr class="odd"> + <td style="width:160px; "> + <span> + <xsl:text>Current Users</xsl:text> + </span> + </td> + <td> + <xsl:for-each select="Users"> + <xsl:apply-templates /> + </xsl:for-each> + </td> + </tr> + <tr> + <td style="width:160px; "> + <span> + <xsl:text>Load Averages</xsl:text> + </span> + </td> + <td> + <xsl:for-each select="LoadAvg"> + <xsl:apply-templates /> + </xsl:for-each> + <xsl:if test="count(CPULoad )>0"> + <div + style="float:left; width:{concat( CPULoad , 'px' )}; " + class="bar"> + <span> + <xsl:text> </xsl:text> + </span> + </div> + <div style="float:left; "> + <span> + <xsl:text> </xsl:text> + </span> + <xsl:for-each select="CPULoad"> + <xsl:apply-templates /> + </xsl:for-each> + <span> + <xsl:text>%</xsl:text> + </span> + </div> + </xsl:if> + </td> + </tr> + </tbody> + </table> + </xsl:for-each> + </div> + <div id="hardware"> + <xsl:for-each select="Hardware"> + <h2> + <span> + <xsl:text>Hardware Information</xsl:text> + </span> + </h2> + <xsl:for-each select="CPU"> + <table border="0" cellspacing="0" width="100%"> + <tbody> + <tr> + <td style="width:160px; "> + <span> + <xsl:text>Processors</xsl:text> + </span> + </td> + <td> + <xsl:for-each select="Number"> + <xsl:apply-templates /> + </xsl:for-each> + </td> + </tr> + <tr class="odd"> + <td style="width:160px; "> + <span> + <xsl:text>Model</xsl:text> + </span> + </td> + <td> + <xsl:for-each select="Model"> + <xsl:apply-templates /> + </xsl:for-each> + </td> + </tr> + <tr> + <td style="width:160px; "> + <span> + <xsl:text>CPU Speed</xsl:text> + </span> + </td> + <td> + <xsl:for-each select="Cpuspeed"> + <xsl:apply-templates /> + </xsl:for-each> + <span> + <xsl:text> Mhz</xsl:text> + </span> + </td> + </tr> + <tr class="odd"> + <td style="width:160px; "> + <span> + <xsl:text>Bus Speed</xsl:text> + </span> + </td> + <td> + <xsl:if test="count(Busspeed )>0"> + <xsl:for-each select="Busspeed"> + <xsl:apply-templates /> + </xsl:for-each> + <span> + <xsl:text> Mhz</xsl:text> + </span> + </xsl:if> + </td> + </tr> + <tr> + <td style="width:160px; "> + <span> + <xsl:text>Cache Size</xsl:text> + </span> + </td> + <td> + <xsl:if test="count( Cache )>0"> + <xsl:for-each select="Cache"> + <xsl:apply-templates /> + </xsl:for-each> + <span> + <xsl:text> KB</xsl:text> + </span> + </xsl:if> + </td> + </tr> + <tr class="odd"> + <td style="width:160px; "> + <span> + <xsl:text>System Bogomips</xsl:text> + </span> + </td> + <td> + <xsl:if test="count( Bogomips ) >0"> + <xsl:for-each select="Bogomips"> + <xsl:apply-templates /> + </xsl:for-each> + </xsl:if> + </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; " cellspacing="0" id="pciTable" + width="100%"> + <tbody> + <tr> + <td> + <ul style="margin-left:10px; "> + <xsl:for-each select="Device"> + <li> + <xsl:for-each select="Name"> + <xsl:apply-templates /> + </xsl:for-each> + </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; " cellspacing="0" class="odd" + id="ideTable" width="100%"> + <tbody> + <tr> + <td> + <ul style="margin-left:10px; "> + <xsl:for-each select="Device"> + <li> + <xsl:for-each select="Name"> + <xsl:apply-templates /> + </xsl:for-each> + <xsl:if test="count( Capacity )>0"> + <span> + <xsl:text> (</xsl:text> + </span> + <xsl:for-each select="Capacity"> + <xsl:apply-templates /> + </xsl:for-each> + <span> + <xsl:text> KB)</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 cellspacing="0" id="scsiTable" width="100%"> + <tbody> + <tr> + <td style="display:block; "> + <ul style="margin-left:10px; "> + <xsl:for-each select="Device"> + <li> + <xsl:for-each select="Name"> + <xsl:apply-templates /> + </xsl:for-each> + <xsl:if test="count( Capacity )>0"> + <span> + <xsl:text> (</xsl:text> + </span> + <xsl:for-each select="Capacity"> + <xsl:apply-templates /> + </xsl:for-each> + <span> + <xsl:text> KB)</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 cellspacing="0" class="odd" id="usbTable" + width="100%"> + <tbody> + <tr> + <td> + <ul style="margin-left:10px; "> + <xsl:for-each select="Device"> + <li> + <xsl:for-each select="Name"> + <xsl:apply-templates /> + </xsl:for-each> + </li> + </xsl:for-each> + </ul> + </td> + </tr> + </tbody> + </table> + </xsl:for-each> + </xsl:for-each> + </div> + <div id="memory"> + <xsl:for-each select="Memory"> + <h2> + <span> + <xsl:text>Memory Usage</xsl:text> + </span> + </h2> + <table border="0" cellspacing="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> + <tbody> + <tr class="odd"> + <td style="width:200px; "> + <span> + <xsl:text>Physical Memory</xsl:text> + </span> + </td> + <td style="width:285px; "> + <div + style="float:left; width:{concat( Percent , 'px' )}; " + class="bar"> + <span> + <xsl:text> </xsl:text> + </span> + </div> + <div style="float:left; "> + <span> + <xsl:text> </xsl:text> + </span> + <xsl:for-each select="Percent"> + <xsl:apply-templates /> + </xsl:for-each> + <span> + <xsl:text>%</xsl:text> + </span> + </div> + </td> + <td style="width:100px; " class="right"> + <xsl:for-each select="Free"> + <xsl:apply-templates /> + </xsl:for-each> + <span> + <xsl:text> KB</xsl:text> + </span> + </td> + <td style="width:100px; " class="right"> + <xsl:for-each select="Used"> + <xsl:apply-templates /> + </xsl:for-each> + <span> + <xsl:text> KB</xsl:text> + </span> + </td> + <td style="width:100px; " class="right"> + <xsl:for-each select="Total"> + <xsl:apply-templates /> + </xsl:for-each> + <span> + <xsl:text> KB</xsl:text> + </span> + </td> + </tr> + <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> </xsl:text> + </span> + </div> + <div style="float:left; "> + <span> + <xsl:text> </xsl:text> + </span> + <xsl:for-each select="AppPercent"> + <xsl:apply-templates /> + </xsl:for-each> + <span> + <xsl:text>%</xsl:text> + </span> + </div> + </td> + <td style="width:100px; " class="right" /> + <td style="width:100px; " class="right"> + <xsl:for-each select="App"> + <xsl:apply-templates /> + </xsl:for-each> + <span> + <xsl:text> KB</xsl:text> + </span> + </td> + <td style="width:100px; " class="right" /> + </tr> + <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> </xsl:text> + </span> + </div> + <div> + <span> + <xsl:text> </xsl:text> + </span> + <xsl:for-each select="BuffersPercent"> + <xsl:apply-templates /> + </xsl:for-each> + <span> + <xsl:text>%</xsl:text> + </span> + </div> + </td> + <td style="width:100px; " class="right" /> + <td style="width:100px; " class="right"> + <xsl:for-each select="Buffers"> + <xsl:apply-templates /> + </xsl:for-each> + <span> + <xsl:text> KB</xsl:text> + </span> + </td> + <td style="width:100px; " class="right" /> + </tr> + <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> </xsl:text> + </span> + </div> + <div style="float:left; "> + <span> + <xsl:text> </xsl:text> + </span> + <xsl:for-each select="CachedPercent"> + <xsl:apply-templates /> + </xsl:for-each> + <span> + <xsl:text>%</xsl:text> + </span> + </div> + </td> + <td style="width:100px; " class="right" /> + <td style="width:100px; " class="right"> + <xsl:for-each select="Cached"> + <xsl:apply-templates /> + </xsl:for-each> + <span> + <xsl:text> KB</xsl:text> + </span> + </td> + <td style="width:100px; " class="right" /> + </tr> + </tbody> + </table> + </xsl:for-each> + <xsl:for-each select="Swap"> + <table border="0" cellspacing="0" width="100%"> + <tbody> + <tr class="odd"> + <td style="width:200px; "> + <span> + <xsl:text>Disk Swap</xsl:text> + </span> + </td> + <td style="width:285px; "> + <div style="float:left; " class="bar"> + <span> + <xsl:text> </xsl:text> + </span> + </div> + <div style="float:left; "> + <span> + <xsl:text> </xsl:text> + </span> + <xsl:for-each select="Percent"> + <xsl:apply-templates /> + </xsl:for-each> + <span> + <xsl:text>%</xsl:text> + </span> + </div> + </td> + <td style="width:100px; " class="right"> + <xsl:for-each select="Free"> + <xsl:apply-templates /> + </xsl:for-each> + <span> + <xsl:text> KB</xsl:text> + </span> + </td> + <td style="width:100px; " class="right"> + <xsl:for-each select="Used"> + <xsl:apply-templates /> + </xsl:for-each> + <span> + <xsl:text> KB</xsl:text> + </span> + </td> + <td style="width:100px; " class="right"> + <xsl:for-each select="Total"> + <xsl:apply-templates /> + </xsl:for-each> + <span> + <xsl:text> KB</xsl:text> + </span> + </td> + </tr> + </tbody> + </table> + </xsl:for-each> + <xsl:for-each select="Swapdevices"> + <table border="0" cellspacing="0"> + <tbody> + <xsl:for-each select="Mount"> + <tr> + <td style="width:200px; "> + <span> + <xsl:text>- </xsl:text> + </span> + <xsl:for-each select="Device"> + <xsl:apply-templates /> + </xsl:for-each> + </td> + <td style="width:285px; "> + <div style="float:left; " class="bar"> + <span> + <xsl:text> </xsl:text> + </span> + </div> + <div style="float:left; "> + <span> + <xsl:text> </xsl:text> + </span> + <xsl:for-each select="Percent"> + <xsl:apply-templates /> + </xsl:for-each> + <span> + <xsl:text>%</xsl:text> + </span> + </div> + </td> + <td style="width:100px; " class="right" colspan="2"> + <xsl:for-each select="Free"> + <xsl:apply-templates /> + </xsl:for-each> + <span> + <xsl:text> KB</xsl:text> + </span> + </td> + <td style="width:100px; " class="right"> + <xsl:for-each select="Used"> + <xsl:apply-templates /> + </xsl:for-each> + <span> + <xsl:text> KB</xsl:text> + </span> + </td> + <td style="width:100px; " class="right"> + <xsl:for-each select="Size"> + <xsl:apply-templates /> + </xsl:for-each> + <span> + <xsl:text> KB</xsl:text> + </span> + </td> + </tr> + </xsl:for-each> + </tbody> + </table> + </xsl:for-each> + </div> + <div id="filesystem"> + <h2> + <span> + <xsl:text>Mounted Filesystems</xsl:text> + </span> + </h2> + <table cellspacing="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> + <xsl:for-each select="FileSystem"> + <xsl:for-each select="Mount"> + <tr> + <td style="width:100px; "> + <xsl:for-each select="MountPoint"> + <xsl:apply-templates /> + </xsl:for-each> + </td> + <td style="width:50px; "> + <xsl:for-each select="Type"> + <xsl:apply-templates /> + </xsl:for-each> + </td> + <td style="width:120px; "> + <xsl:for-each select="Device"> + <xsl:apply-templates /> + </xsl:for-each> + </td> + <td style="width:285px; "> + <div + style="float:left; width:{concat( Percent , 'px' )}; " + class="bar"> + <span> + <xsl:text> </xsl:text> + </span> + </div> + <div style="float:left; "> + <span> + <xsl:text> </xsl:text> + </span> + <xsl:for-each select="Percent"> + <xsl:apply-templates /> + </xsl:for-each> + <span> + <xsl:text>%</xsl:text> + </span> + <xsl:if test="count(Inodes )>0"> + <span> + <xsl:text> (</xsl:text> + </span> + <xsl:for-each select="Inodes"> + <span style="font-style:italic; "> + <xsl:apply-templates /> + </span> + </xsl:for-each> + <span> + <xsl:text>%)</xsl:text> + </span> + </xsl:if> + </div> + </td> + <td style="width:100px; " class="right"> + <xsl:for-each select="Free"> + <xsl:apply-templates/> + </xsl:for-each> + <span> + <xsl:text> KB</xsl:text> + </span> + </td> + <td style="width:100px; " class="right"> + <xsl:for-each select="Used"> + <xsl:apply-templates/> + </xsl:for-each> + <span> + <xsl:text> KB</xsl:text> + </span> + </td> + <td style="width:100px; " class="right"> + <xsl:for-each select="Size"> + <xsl:apply-templates/> + </xsl:for-each> + <span> + <xsl:text> KB</xsl:text> + </span> + </td> + </tr> + </xsl:for-each> + </xsl:for-each> + </tbody> + </table> + </div> + <div id="network"> + <h2> + <span> + <xsl:text>Network Usage</xsl:text> + </span> + </h2> + <table cellspacing="0" class="stripMe" id="networkTable"> + <thead> + <tr> + <th> + <span> + <xsl:text>Device</xsl:text> + </span> + </th> + <th class="right" width="60px"> + <span> + <xsl:text>Received</xsl:text> + </span> + </th> + <th class="right" width="60px"> + <span> + <xsl:text>Send</xsl:text> + </span> + </th> + <th class="right" width="60px"> + <span> + <xsl:text>Err/Drop</xsl:text> + </span> + </th> + </tr> + </thead> + <tbody> + <xsl:for-each select="Network"> + <xsl:for-each select="NetDevice"> + <tr> + <td> + <xsl:for-each select="Name"> + <xsl:apply-templates/> + </xsl:for-each> + </td> + <td class="right" width="60px"> + <span> + <xsl:value-of select="round(RxBytes div 1024)"/> + </span> + <span> + <xsl:text> KB</xsl:text> + </span> + </td> + <td class="right" width="60px"> + <span> + <xsl:text> </xsl:text> + </span> + <span> + <xsl:value-of select="round(TxBytes div 1024)"/> + </span> + <span> + <xsl:text> KB</xsl:text> + </span> + </td> + <td class="right" width="60px"> + <xsl:for-each select="Err"> + <xsl:apply-templates/> + </xsl:for-each> + <span> + <xsl:text>/</xsl:text> + </span> + <xsl:for-each select="Drops"> + <xsl:apply-templates/> + </xsl:for-each> + </td> + </tr> + </xsl:for-each> + </xsl:for-each> + </tbody> + </table> + </div> + <xsl:if test="count( MBinfo/Voltage ) > 0"> + <div id="voltage"> + <h2> + <span> + <xsl:text>Voltage</xsl:text> + </span> + </h2> + <table cellspacing="0" class="stripMe" id="voltageTable"> + <thead> + <tr> + <th> + <span> + <xsl:text>Label</xsl:text> + </span> + </th> + <th class="right"> + <span> + <xsl:text>Value</xsl:text> + </span> + </th> + <th class="right" width="60px"> + <span> + <xsl:text>Min</xsl:text> + </span> + </th> + <th class="right" width="60px"> + <span> + <xsl:text>Max</xsl:text> + </span> + </th> + </tr> + </thead> + <tbody> + <xsl:for-each select="MBinfo"> + <xsl:for-each select="Voltage"> + <xsl:for-each select="Item"> + <tr> + <td> + <xsl:for-each select="Label"> + <xsl:apply-templates/> + </xsl:for-each> + </td> + <td class="right"> + <xsl:for-each select="Value"> + <xsl:apply-templates/> + </xsl:for-each> + <span> + <xsl:text> V</xsl:text> + </span> + </td> + <td class="right" width="60px"> + <xsl:for-each select="Min"> + <xsl:apply-templates/> + </xsl:for-each> + <span> + <xsl:text> V</xsl:text> + </span> + </td> + <td class="right" width="60px"> + <xsl:for-each select="Max"> + <xsl:apply-templates/> + </xsl:for-each> + <span> + <xsl:text> V</xsl:text> + </span> + </td> + </tr> + </xsl:for-each> + </xsl:for-each> + </xsl:for-each> + </tbody> + </table> + </div> + </xsl:if> + <xsl:if test="(count( MBinfo/Temperature ) > 0) or (count( HDDTemp/Item ) > 0)"> + <div id="temp"> + <h2> + <span> + <xsl:text>Temperature</xsl:text> + </span> + </h2> + <table cellspacing="0" class="stripMe" id="tempTable"> + <thead> + <tr> + <th> + <span> + <xsl:text>Label</xsl:text> + </span> + </th> + <th class="right" width="60px"> + <span>... [truncated message content] |
From: <Big...@us...> - 2008-12-08 13:17:42
|
Revision: 45 http://phpsysinfo.svn.sourceforge.net/phpsysinfo/?rev=45&view=rev Author: BigMichi1 Date: 2008-12-08 13:17:33 +0000 (Mon, 08 Dec 2008) Log Message: ----------- import cvs Added Paths: ----------- index.php Added: index.php =================================================================== --- index.php (rev 0) +++ index.php 2008-12-08 13:17:33 UTC (rev 45) @@ -0,0 +1,312 @@ +<?php +/*************************************************************************** + * Copyright (C) 2008 by phpSysInfo - A PHP System Information Script * + * http://phpsysinfo.sourceforge.net/ * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ +// +// $Id$ +// +if (PHP_VERSION < 5.2) { + die("PHP 5.2 or greater is required!!!"); +} +define('APP_ROOT', dirname(__FILE__)); +require_once ('./includes/common_functions.php'); +checkForExtensions(); +$error = Error :: singleton(); +if (!is_readable('./config.php')) { + $error->addError('file_exists(config.php)', 'config.php does not exist or is not readable by the webserver in the phpsysinfo directory.'); +} else { + // get the config file + require_once ('./config.php'); +} +if ($error->ErrorsExist()) { + echo $error->ErrorsAsHTML(); + exit; +} +//redirection part +include ('./includes/redir.php'); +//checking config.php setting for template, if not supportet set phpsysinfo.css as default +$template = PSI_DEFAULT_TEMPLATE; +if (!file_exists('templates/' . $template)) { + $template = 'phpsysinfo.css'; +} +// checking config.php setting for language, if not supported set en as default +if (!defined('PSI_DEFAULT_LANG')) { + define('PSI_DEFAULT_LANG', 'en'); +} +$lang = PSI_DEFAULT_LANG . ".xml"; +if (!file_exists('language/' . $lang)) { + $lang = 'en.xml'; +} +$plugins = explode(",", PSI_PLUGINS); +echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"\n"; +echo " \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n"; +echo "<html xmlns=\"http://www.w3.org/1999/xhtml\">\n"; +echo " <head>\n"; +echo " <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n"; +echo " <meta http-equiv=\"Content-Style-Type\" content=\"text/css\" />\n"; +echo " <meta http-equiv=\"Content-Script-Type\" content=\"text/javascript\" />\n"; +foreach ($plugins as $plugin) { + $filename = "/plugins/" . $plugin . "/css/" . $plugin . ".css"; + if (file_exists(APP_ROOT . $filename)) { + echo " <link type=\"text/css\" rel=\"stylesheet\" href=\"." . $filename . "\" />\n"; + } +} +$dirlist = gdc('./templates/'); +sort($dirlist); +$tpl_option_list = ""; +foreach ($dirlist as $file) { + $tpl_ext = substr($file, strlen($file) - 4); + $tpl_name = substr($file, 0, strlen($file) - 4); + if ($tpl_ext == ".css") { + if ($tpl_name . ".css" == $template) { + $tpl_option_list .= " <option value=\"" . $tpl_name . "\" selected=\"selected\">" . $tpl_name . "</option>\n"; + echo " <link type=\"text/css\" rel=\"stylesheet\" href=\"./templates/" . $tpl_name . $tpl_ext . "\" title=\"" . $tpl_name . "\"/>\n"; + } else { + $tpl_option_list .= " <option value=\"" . $tpl_name . "\">" . $tpl_name . "</option>\n"; + echo " <link type=\"text/css\" rel=\"alternate stylesheet\" href=\"./templates/" . $tpl_name . $tpl_ext . "\" title=\"" . $tpl_name . "\"/>\n"; + } + } +} +echo " <link type=\"text/css\" rel=\"stylesheet\" href=\"./templates/plugin/nyroModal.full.css\" />\n"; +echo " <script type=\"text/JavaScript\" src=\"./js/jquery.pack.js\"></script>\n"; +echo " <script type=\"text/JavaScript\" src=\"./js/jquery.tablesorter.pack.js\"></script>\n"; +echo " <script type=\"text/JavaScript\" src=\"./js/jquery.mousewheel.pack.js\"></script>\n"; +echo " <script type=\"text/JavaScript\" src=\"./js/jquery.color.pack.js\"></script>\n"; +echo " <script type=\"text/JavaScript\" src=\"./js/jquery.nyroModal.pack.js\"></script>\n"; +echo " <script type=\"text/JavaScript\" src=\"./js/jquery.timers.pack.js\"></script>\n"; +echo " <script type=\"text/JavaScript\" src=\"./phpsysinfo.js\"></script>\n"; +foreach ($plugins as $plugin) { + $filename = "./plugins/" . $plugin . "/js/" . $plugin . ".js"; + if (file_exists($filename)) { + echo " <script type=\"text/JavaScript\" src=\"" . $filename . "\"></script>\n"; + } +} +echo " <title>Loading... please wait!</title>\n"; +echo " </head>\n"; +echo " <body>\n"; +echo " <div id=\"loader\">\n"; +echo " <h1>Loading... please wait!</h1>\n"; +echo " </div>\n"; +echo " <div id=\"errors\" style=\"display: none; width: 940px\">\n"; +echo " <div id=\"errorlist\">\n"; +echo " <h2>Oh, I'm sorry. Something seems to be wrong.</h2>\n"; +echo " </div>\n"; +echo " </div>\n"; +echo " <div id=\"container\" style=\"display: none;\">\n"; +echo " <h1>\n"; +echo " <a href=\"#errors\" class=\"nyroModal\">\n"; +echo " <img id=\"warn\" style=\"vertical-align: middle; display:none; border:0px;\" src=\"./gfx/attention.gif\" alt=\"warning\" />\n"; +echo " </a>\n"; +echo " <span id=\"title\">\n"; +echo " <span lang=\"001\">System information</span>\n"; +echo " : <span id=\"s_hostname_title\"></span>\n"; +echo " (<span id='s_ip_title'></span>)\n"; +echo " </span>\n"; +echo " </h1>\n"; +echo " <div id=\"select\">\n"; +echo " <span lang='044'>Template</span>\n"; +echo " <select id=\"template\" name=\"template\">\n"; +echo $tpl_option_list; +echo " </select>\n"; +echo " <span lang='045'>Language</span>\n"; +echo " <select id=\"lang\" name=\"lang\">\n"; +$dirlist = gdc('./language/'); +sort($dirlist); +foreach ($dirlist as $file) { + $lang_ext = substr($file, strlen($file) - 4); + $lang_name = substr($file, 0, strlen($file) - 4); + if ($lang_ext == ".xml") { + if ($lang_name . ".xml" == $lang) { + echo " <option value=\"" . $lang_name . "\" selected=\"selected\">" . $lang_name . "</option>\n"; + } else { + echo " <option value=\"" . $lang_name . "\">" . $lang_name . "</option>\n"; + } + } +} +echo " </select>\n"; +echo " </div>\n"; +echo " <div id=\"vitals\">\n"; +echo " <h2 lang=\"002\">System vitals</h2>\n"; +echo " <table class=\"stripeMe\" id=\"vitalsTable\" cellspacing=\"0\">\n"; +echo " <tr>\n"; +echo " <td lang=\"003\" style=\"width:160px;\">Hostname</td>\n"; +echo " <td><span id=\"s_hostname\"></span></td>\n"; +echo " </tr>\n"; +echo " <tr>\n"; +echo " <td lang=\"004\" style=\"width:160px;\">Listening IP</td>\n"; +echo " <td><span id=\"s_ip\"></span></td>\n"; +echo " </tr>\n"; +echo " <tr>\n"; +echo " <td lang=\"005\" style=\"width:160px;\">Kernel Version</td>\n"; +echo " <td><span id=\"s_kernel\"></span></td>\n"; +echo " </tr>\n"; +echo " <tr>\n"; +echo " <td lang=\"006\" style=\"width:160px;\">Distro Name</td>\n"; +echo " <td><span id=\"s_distro\"></span></td>\n"; +echo " </tr>\n"; +echo " <tr>\n"; +echo " <td lang=\"007\" style=\"width:160px;\">Uptime</td>\n"; +echo " <td><span id=\"s_uptime\"></span></td>\n"; +echo " </tr>\n"; +echo " <tr>\n"; +echo " <td lang=\"008\" style=\"width:160px;\">Current Users</td>\n"; +echo " <td><span id=\"s_users\"></span></td>\n"; +echo " </tr>\n"; +echo " <tr>\n"; +echo " <td lang=\"009\" style=\"width:160px;\">Load Averages</td>\n"; +echo " <td><span id=\"s_loadavg\"></span></td>\n"; +echo " </tr>\n"; +echo " </table>\n"; +echo " </div>\n"; +echo " <div id=\"hardware\">\n"; +echo " <h2 lang=\"010\">Hardware Information</h2>\n"; +echo " <table class=\"stripeMe\" id=\"cpuTable\" cellspacing=\"0\">\n"; +echo " <tr>\n"; +echo " <td lang=\"011\" style=\"width:160px\">Processors</td>\n"; +echo " <td><span id=\"s_num\"></span></td>\n"; +echo " </tr>\n"; +echo " <tr>\n"; +echo " <td lang=\"012\" style=\"width:160px\">Model</td>\n"; +echo " <td><span id=\"s_model\"></span></td>\n"; +echo " </tr>\n"; +echo " <tr>\n"; +echo " <td lang=\"013\" style=\"width:160px\">CPU Speed</td>\n"; +echo " <td><span id=\"s_speed\"></span></td>\n"; +echo " </tr>\n"; +echo " <tr>\n"; +echo " <td lang=\"014\" style=\"width:160px\">BUS Speed</td>\n"; +echo " <td><span id=\"s_bus\"></span></td>\n"; +echo " </tr>\n"; +echo " <tr>\n"; +echo " <td lang=\"015\" style=\"width:160px\">Cache Size</td>\n"; +echo " <td><span id=\"s_cache\"></span></td>\n"; +echo " </tr>\n"; +echo " <tr>\n"; +echo " <td lang=\"016\" style=\"width:160px\">Bogomips</td>\n"; +echo " <td><span id=\"s_bogo\"></span></td>\n"; +echo " </tr>\n"; +echo " </table>\n"; +echo " <h3 style=\"cursor: pointer\" id=\"sPci\"><img src=\"./gfx/bullet_toggle_plus.png\" alt=\"plus\" style=\"vertical-align:middle;\" /><span lang=\"017\">PCI devices</span></h3>\n"; +echo " <h3 style=\"cursor: pointer; display: none;\" id=\"hPci\"><img src=\"./gfx/bullet_toggle_minus.png\" alt=\"minus\" style=\"vertical-align:middle;\" /><span lang=\"017\">PCI devices</span></h3>\n"; +echo " <table id=\"pciTable\" cellspacing=\"0\" style=\"display: none;\"></table>\n"; +echo " <h3 class=\"odd\" style=\"cursor: pointer\" id=\"sIde\"><img src=\"./gfx/bullet_toggle_plus.png\" alt=\"plus\" style=\"vertical-align:middle;\" /><span lang=\"018\">IDE devices</span></h3>\n"; +echo " <h3 class=\"odd\" style=\"cursor: pointer; display: none;\" id=\"hIde\"><img src=\"./gfx/bullet_toggle_minus.png\" alt=\"minus\" style=\"vertical-align:middle;\" /><span lang=\"018\">IDE devices</span></h3>\n"; +echo " <table class=\"odd\" id=\"ideTable\" cellspacing=\"0\" style=\"display: none;\"></table>\n"; +echo " <h3 style=\"cursor: pointer\" id=\"sScsi\"><img src=\"./gfx/bullet_toggle_plus.png\" alt=\"plus\" style=\"vertical-align:middle;\" /><span lang=\"019\">SCSI devices</span></h3>\n"; +echo " <h3 style=\"cursor: pointer; display: none;\" id=\"hScsi\"><img src=\"./gfx/bullet_toggle_minus.png\" alt=\"minus\" style=\"vertical-align:middle;\" /><span lang=\"019\">SCSI device</span></h3>\n"; +echo " <table id=\"scsiTable\" cellspacing=\"0\" style=\"display: none;\"></table>\n"; +echo " <h3 class=\"odd\" style=\"cursor: pointer\" id=\"sUsb\"><img src=\"./gfx/bullet_toggle_plus.png\" alt=\"plus\" style=\"vertical-align:middle;\" /><span lang=\"020\">USB devices</span></h3>\n"; +echo " <h3 class=\"odd\" style=\"cursor: pointer; display: none;\" id=\"hUsb\"><img src=\"./gfx/bullet_toggle_minus.png\" alt=\"minus\" style=\"vertical-align:middle;\" /><span lang=\"020\">USB devices</span></h3>\n"; +echo " <table class=\"odd\" id=\"usbTable\" cellspacing=\"0\" style=\"display: none;\"></table>\n"; +echo " </div>\n"; +echo " <div id=\"memory\">\n"; +echo " <h2 lang=\"027\">Memory Usage</h2>\n"; +echo " <table class=\"stripeMe\" id=\"memoryTable\" cellspacing=\"0\">\n"; +echo " <thead>\n"; +echo " <tr>\n"; +echo " <th lang=\"034\" style=\"width:200px;\">Type</th>\n"; +echo " <th lang=\"033\" style=\"width:285px;\">Percent</th>\n"; +echo " <th class=\"right\" lang=\"035\" style=\"width:100px;\">Free</th>\n"; +echo " <th class=\"right\" lang=\"036\" style=\"width:100px;\">Used</th>\n"; +echo " <th class=\"right\" lang=\"037\" style=\"width:100px;\">Total</th>\n"; +echo " </tr>\n"; +echo " </thead>\n"; +echo " <tbody id=\"tbody_memory\">\n"; +echo " </tbody>\n"; +echo " </table>\n"; +echo " </div>\n"; +echo " <div id=\"filesystem\">\n"; +echo " <h2 lang=\"030\">Mounted Filesystems</h2>\n"; +echo " <table class=\"stripeMe\" id=\"filesystemTable\" cellspacing=\"0\">\n"; +echo " <thead>\n"; +echo " <tr>\n"; +echo " <th lang=\"031\" style=\"width:100px;\">Mount</th>\n"; +echo " <th lang=\"034\" style=\"width:50px;\">Type</th>\n"; +echo " <th lang=\"032\" style=\"width:120px;\">Partition</th>\n"; +echo " <th lang=\"033\"> Percent used</th>\n"; +echo " <th class=\"right\" lang=\"035\" style=\"width:100px;\">Free</th>\n"; +echo " <th class=\"right\" lang=\"036\" style=\"width:100px;\">Used</th>\n"; +echo " <th class=\"right\" lang=\"037\" style=\"width:100px;\">Total</th>\n"; +echo " </tr>\n"; +echo " </thead>\n"; +echo " <tbody>\n"; +echo " </tbody>\n"; +echo " <tfoot>\n"; +echo " <tr style=\"font-weight : bold\">\n"; +echo " <td> </td>\n"; +echo " <td> </td>\n"; +echo " <td lang='038'>Totals</td>\n"; +echo " <td><span id=\"s_fs_total\"></span></td>\n"; +echo " <td class=\"right\"><span id=\"s_fs_tfree\"></span></td>\n"; +echo " <td class=\"right\"><span id=\"s_fs_tused\"></span></td>\n"; +echo " <td class=\"right\"><span id=\"s_fs_tsize\"></span></td>\n"; +echo " </tr>\n"; +echo " </tfoot>\n"; +echo " </table>\n"; +echo " </div>\n"; +echo " <div id=\"network\">\n"; +echo " <h2 lang=\"021\">Network Usage</h2>\n"; +echo " <table class=\"stripeMe\" id=\"networkTable\" cellspacing=\"0\">\n"; +echo " <thead>\n"; +echo " <tr>\n"; +echo " <th lang=\"022\">Interface</th>\n"; +echo " <th class=\"right\" lang=\"023\" style=\"width:60px;\">Recieved</th>\n"; +echo " <th class=\"right\" lang=\"024\" style=\"width:60px;\">Transfered</th>\n"; +echo " <th class=\"right\" lang=\"025\" style=\"width:60px;\">Error/Drops</th>\n"; +echo " </tr>\n"; +echo " </thead>\n"; +echo " <tbody id=\"tbody_network\">\n"; +echo " </tbody>\n"; +echo " </table>\n"; +echo " </div>\n"; +echo " <div id=\"voltage\" style=\"display: none;\">\n"; +echo " <h2 lang=\"052\">Voltage</h2>\n"; +echo " <table class=\"stripeMe\" id=\"voltageTable\" cellspacing=\"0\">\n"; +echo " <tr><th lang=\"059\">Label</th><th class=\"right\" lang=\"052\">Voltage</th><th class=\"right\" lang=\"055\" style=\"width: 60px;\">Min</th><th class=\"right\" lang=\"056\" style=\"width: 60px;\">Max</th></tr>\n"; +echo " </table>\n"; +echo " </div>\n"; +echo " <div id=\"temp\" style=\"display: none;\">\n"; +echo " <h2 lang=\"051\">Temperature</h2>\n"; +echo " <table class=\"stripeMe\" id=\"tempTable\" cellspacing=\"0\">\n"; +echo " <tr><th lang=\"059\">Label</th><th class=\"right\" lang=\"054\" style=\"width: 60px;\">Value</th><th class=\"right\" lang=\"058\" style=\"width: 60px;\">Limit</th></tr>\n"; +echo " </table>\n"; +echo " </div>\n"; +echo " <div id=\"fan\" style=\"display: none;\">\n"; +echo " <h2 lang=\"053\">Fan</h2>\n"; +echo " <table class=\"stripeMe\" id=\"fanTable\" cellspacing=\"0\">\n"; +echo " <tr><th lang=\"059\">Label</th><th class=\"right\" lang=\"054\" style=\"width: 60px;\">Value</th><th class=\"right\" lang=\"055\" style=\"width: 60px;\">Min</th></tr>\n"; +echo " </table>\n"; +echo " </div>\n"; +echo " <div id=\"ups\" style=\"display: none;\">\n"; +echo " <h2 lang=\"068\">UPS information</h2>\n"; +echo " <table class=\"stripeMe\" id=\"upsTable\" cellspacing=\"0\">\n"; +echo " <tr><td></td><td style=\"width: 250px;\"></td></tr>\n"; +echo " </table>\n"; +echo " </div>\n"; +foreach ($plugins as $plugin) { + echo " <div id=\"plugin_" . $plugin . "\" style=\"display:none;float:left;margin:10px 0pt 0pt 10px;padding: 1px;\">\n"; + echo " </div>\n"; +} +echo " <div id=\"footer\">\n"; +echo " <span lang=\"047\">Generated by</span> <a href=\"http://phpsysinfo.sourceforge.net/\">phpSysInfo - <span id=\"version\"></span></a>\n"; +echo " </div>\n"; +echo " </div>\n"; +echo " </body>\n"; +echo "</html>\n"; +?> Property changes on: index.php ___________________________________________________________________ Added: svn:mime-type + text/x-php Added: svn:keywords + Id Added: svn:eol-style + LF This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Big...@us...> - 2008-12-08 12:48:55
|
Revision: 44 http://phpsysinfo.svn.sourceforge.net/phpsysinfo/?rev=44&view=rev Author: BigMichi1 Date: 2008-12-08 12:48:51 +0000 (Mon, 08 Dec 2008) Log Message: ----------- Added Paths: ----------- includes/os/ includes/os/class.Darwin.inc.php includes/os/class.DragonFly.inc.php includes/os/class.FreeBSD.inc.php includes/os/class.HP-UX.inc.php includes/os/class.Linux.inc.php includes/os/class.NetBSD.inc.php includes/os/class.OpenBSD.inc.php includes/os/class.SunOS.inc.php includes/os/class.WINNT.inc.php includes/os/class.bsd_common.inc.php includes/os/class.parser.inc.php Added: includes/os/class.Darwin.inc.php =================================================================== --- includes/os/class.Darwin.inc.php (rev 0) +++ includes/os/class.Darwin.inc.php 2008-12-08 12:48:51 UTC (rev 44) @@ -0,0 +1,191 @@ +<?php +/*************************************************************************** + * Copyright (C) 2008 by phpSysInfo - A PHP System Information Script * + * http://phpsysinfo.sourceforge.net/ * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ +// +// $Id$ +// +if (!defined('IN_PHPSYSINFO')) { + die("No Hacking"); +} +$error->addWarning("The Darwin version of phpSysInfo is work in progress, some things currently don't work"); +class sysinfo extends bsd_common implements psi_os_interface { + private $debug = PSI_DEBUG; + // Our contstructor + // this function is run on the initialization of this class + public function __construct() { + parent :: __construct(); + $this->set_cpuregexp1 = ("CPU: (.*) \((.*)-MHz (.*)\)"); + $this->set_cpuregexp2("/(.*) ([0-9]+) ([0-9]+) ([0-9]+) ([0-9]+)/"); + $this->set_scsiregexp1("^(.*): <(.*)> .*SCSI.*device"); + } + protected function grab_key($key) { + $s = ""; + if (execute_program('sysctl', $key, $s, $this->debug)) { + $s = ereg_replace($key . ': ', '', $s); + $s = ereg_replace($key . ' = ', '', $s); // fix Apple set keys + return $s; + } else { + return ''; + } + } + private function grab_ioreg($key) { + $s = ""; + if (execute_program('ioreg', '-cls "' . $key . '" | grep "' . $key . '"', $s, $this->debug)) { //ioreg -cls "$key" | grep "$key" + $s = ereg_replace('\|', '', $s); + $s = ereg_replace('\+\-\o', '', $s); + $s = ereg_replace('[ ]+', '', $s); + $s = ereg_replace('<[^>]+>', '', $s); // remove possible XML conflicts + return $s; + } else { + return ''; + } + } + protected function get_sys_ticks() { + $a = ""; + if (execute_program('sysctl', '-n kern.boottime', $a, $this->debug)) { + // get boottime (value in seconds) + $sys_ticks = time() - $a; + return $sys_ticks; + } else { + return 'N.A.'; + } + } + public function cpu_info() { + $results = array (); + $buf = ""; + // $results['model'] = $this->grab_key('hw.model'); // need to expand this somehow... + // $results['model'] = $this->grab_key('hw.machine'); + if (!execute_program('hostinfo', '| grep "Processor type"', $buf, $this->debug)) { + $buf = 'N.A.'; + } + $results['model'] = ereg_replace('Processor type: ', '', $buf); // get processor type + $results['cpus'] = $this->grab_key('hw.ncpu'); + $results['cpuspeed'] = round($this->grab_key('hw.cpufrequency') / 1000000); // return cpu speed - Mhz + $results['busspeed'] = round($this->grab_key('hw.busfrequency') / 1000000); // return bus speed - Mhz + $results['cache'] = round($this->grab_key('hw.l2cachesize') / 1024); // return l2 cache + if (($this->grab_key('hw.model') == "PowerMac3,6") && ($results['cpus'] == "2")) { + $results['model'] = 'Dual G4 - (PowerPC 7450)'; + } // is Dual G4 + if (($this->grab_key('hw.model') == "PowerMac7,2") && ($results['cpus'] == "2")) { + $results['model'] = 'Dual G5 - (PowerPC 970)'; + } // is Dual G5 + if (($this->grab_key('hw.model') == "PowerMac1,1") && ($results['cpus'] == "1")) { + $results['model'] = 'B&W G3 - (PowerPC 750)'; + } // is B&W G3 + return $results; + } + // get the pci device information out of ioreg + public function pci() { + $results = array (); + $s = $this->grab_ioreg('IOPCIDevice'); + $lines = split("\n", $s); + for ($i = 0, $max = sizeof($lines); $i < $max; $i++) { + $ar_buf = preg_split("/\s+/", $lines[$i], 19); + $results[$i] = $ar_buf[0]; + } + asort($results); + return array_values(array_unique($results)); + } + // get the ide device information out of ioreg + public function ide() { + $results = array (); + // ioreg | grep "Media <class IOMedia>" + $s = $this->grab_ioreg('IOATABlockStorageDevice'); + $lines = split("\n", $s); + $j = 0; + for ($i = 0, $max = sizeof($lines); $i < $max; $i++) { + $ar_buf = preg_split("/\/\//", $lines[$i], 19); + if (isset ($ar_buf[1]) && $ar_buf[1] == 'class IOMedia' && preg_match('/Media/', $ar_buf[0])) { + $results[$j++]['model'] = $ar_buf[0]; + } + } + asort($results); + return array_values(array_unique($results)); + } + public function memory() { + $pstat = ""; + $s = $this->grab_key('hw.memsize'); + $results['ram'] = array (); + $results['swap'] = array (); + $results['devswap'] = array (); + if (!execute_program('vm_stat', '', $pstat, $this->debug)) { + $pstat = ''; + } + $lines = split("\n", $pstat); + for ($i = 0, $max = sizeof($lines); $i < $max; $i++) { + $ar_buf = preg_split("/\s+/", $lines[$i], 19); + if ($i == 1) { + // calculate free memory from page sizes (each page = 4MB) + $results['ram']['free'] = $ar_buf[2] * 4 * 1024; + } + } + $results['ram']['total'] = $s; + $results['ram']['shared'] = 0; + $results['ram']['buffers'] = 0; + $results['ram']['used'] = $results['ram']['total'] - $results['ram']['free']; + $results['ram']['cached'] = 0; + $results['ram']['percent'] = round(($results['ram']['used'] * 100) / $results['ram']['total']); + // need to fix the swap info... + // meanwhile silence and / or disable the swap information + if (execute_program('swapinfo', '-k', $pstat, $this->debug)) { + $lines = split("\n", $pstat); + for ($i = 0, $max = sizeof($lines); $i < $max; $i++) { + $ar_buf = preg_split("/\s+/", $lines[$i], 6); + if ($i == 0) { + $results['swap']['total'] = 0; + $results['swap']['used'] = 0; + $results['swap']['free'] = 0; + $results['swap']['percent'] = 0; + } else { + $results['swap']['total'] = $results['swap']['total'] + $ar_buf[1] * 1024; + $results['swap']['used'] = $results['swap']['used'] + $ar_buf[2] * 1024; + $results['swap']['free'] = $results['swap']['free'] + $ar_buf[3] * 1024; + $results['swap']['percent'] = ceil(($results['swap']['used'] * 100) / (($results['swap']['total'] <= 0) ? 1 : $results['swap']['total'])); + } + } + } + return $results; + } + public function network() { + $netstat = ""; + if (execute_program('netstat', '-nbdi | cut -c1-24,42- | grep Link', $netstat, $this->debug)) { + $lines = split("\n", $netstat); + $results = array (); + for ($i = 0, $max = sizeof($lines); $i < $max; $i++) { + $ar_buf = preg_split("/\s+/", $lines[$i], 10); + if (!empty ($ar_buf[0])) { + $results[$ar_buf[0]] = array (); + $results[$ar_buf[0]]['rx_bytes'] = $ar_buf[5]; + $results[$ar_buf[0]]['tx_bytes'] = $ar_buf[8]; + $results[$ar_buf[0]]['errs'] = $ar_buf[4] + $ar_buf[7]; + $results[$ar_buf[0]]['drop'] = isset ($ar_buf[10]) ? $ar_buf[10] : 0; + } + } + return $results; + } else { + return array (); + } + } + public function distroicon() { + $result = 'Darwin.png'; + return ($result); + } +} +?> Property changes on: includes/os/class.Darwin.inc.php ___________________________________________________________________ Added: svn:mime-type + text/x-php Added: svn:keywords + Id Added: svn:eol-style + LF Added: includes/os/class.DragonFly.inc.php =================================================================== --- includes/os/class.DragonFly.inc.php (rev 0) +++ includes/os/class.DragonFly.inc.php 2008-12-08 12:48:51 UTC (rev 44) @@ -0,0 +1,95 @@ +<?php +/*************************************************************************** + * Copyright (C) 2008 by phpSysInfo - A PHP System Information Script * + * http://phpsysinfo.sourceforge.net/ * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ +// +// $Id$ +// +if (!defined('IN_PHPSYSINFO')) { + die("No Hacking"); +} +class sysinfo extends bsd_common implements psi_os_interface { + // Our contstructor + // this function is run on the initialization of this class + public function __construct() { + parent :: __construct(); + $this->set_cpuregexp1("^cpu(.*)\, (.*) MHz"); + // TODO : scsi needs to be verified + $this->set_scsiregexp1("^(.*) at scsibus.*: <(.*)> .*"); + $this->set_scsiregexp2("^(da[0-9]): (.*)MB "); + $this->set_pciregexp1("/(.*): <(.*)>(.*) (pci|legacypci)[0-9]$/"); + $this->set_pciregexp2("/(.*): <(.*)>.* at [0-9\.]+$/"); + } + protected function get_sys_ticks() { + $a = $this->grab_key('kern.boottime'); + preg_match("/sec = ([0-9]+)/", $a, $buf); + $sys_ticks = time() - $buf[1]; + return $sys_ticks; + } + public function loadavg($bar = false) { + // TODO : bar not implemented yet, so call everytime with false + return parent :: loadavg(false); + } + public function network() { + $netstat_b = ""; + $netstat_n = ""; + execute_program('netstat', '-nbdi | cut -c1-25,44- | grep "^[a-z]*[0-9][ \t].*Link"', $netstat_b); + execute_program('netstat', '-ndi | cut -c1-25,44- | grep "^[a-z]*[0-9][ \t].*Link"', $netstat_n); + $lines_b = split("\n", $netstat_b); + $lines_n = split("\n", $netstat_n); + $results = array (); + for ($i = 0, $max = sizeof($lines_b); $i < $max; $i++) { + $ar_buf_b = preg_split("/\s+/", $lines_b[$i]); + $ar_buf_n = preg_split("/\s+/", $lines_n[$i]); + if (!empty ($ar_buf_b[0]) && !empty ($ar_buf_n[3])) { + $results[$ar_buf_b[0]] = array (); + $results[$ar_buf_b[0]]['rx_bytes'] = $ar_buf_b[5]; + $results[$ar_buf_b[0]]['tx_bytes'] = $ar_buf_b[8]; + $results[$ar_buf_b[0]]['errs'] = $ar_buf_n[4] + $ar_buf_n[6]; + $results[$ar_buf_b[0]]['drop'] = $ar_buf_n[8]; + } + } + return $results; + } + // get the ide device information out of dmesg + public function ide() { + $results = array (); + $s = 0; + $dmesg = $this->read_dmesg(); + for ($i = 0, $max = count($dmesg); $i < $max; $i++) { + $buf = $dmesg[$i]; + if (preg_match('/^(.*): (.*) <(.*)> at (ata[0-9]\-(.*)) (.*)/', $buf, $ar_buf)) { + $results[$ar_buf[1]]['model'] = $ar_buf[3]; + if (preg_match("/^acd[0-9](.*)/", $ar_buf[1])) { + $results[$ar_buf[1]]['media'] = $ar_buf[2]; + } else { + $results[$ar_buf[1]]['media'] = 'Hard Disk'; + $results[$ar_buf[1]]['capacity'] = $ar_buf[2] * 1024; + } + } + } + asort($results); + return $results; + } + public function distroicon() { + $result = 'DragonFly.png'; + return ($result); + } +} +?> Property changes on: includes/os/class.DragonFly.inc.php ___________________________________________________________________ Added: svn:mime-type + text/x-php Added: svn:keywords + Id Added: svn:eol-style + LF Added: includes/os/class.FreeBSD.inc.php =================================================================== --- includes/os/class.FreeBSD.inc.php (rev 0) +++ includes/os/class.FreeBSD.inc.php 2008-12-08 12:48:51 UTC (rev 44) @@ -0,0 +1,87 @@ +<?php +/*************************************************************************** + * Copyright (C) 2008 by phpSysInfo - A PHP System Information Script * + * http://phpsysinfo.sourceforge.net/ * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ +// +// $Id$ +// +if (!defined('IN_PHPSYSINFO')) { + die("No Hacking"); +} +class sysinfo extends bsd_common implements psi_os_interface { + private $debug = PSI_DEBUG; + // Our contstructor + // this function is run on the initialization of this class + public function __construct() { + parent :: __construct(); + $this->set_cpuregexp1("CPU: (.*) \((.*)-MHz (.*)\)"); + $this->set_cpuregexp2("/(.*) ([0-9]+) ([0-9]+) ([0-9]+) ([0-9]+)/"); + $this->set_scsiregexp1("^(.*): <(.*)> .*SCSI.*device"); + $this->set_scsiregexp2("^(da[0-9]): (.*)MB "); + $this->set_pciregexp1("/(.*): <(.*)>(.*) pci[0-9]$/"); + $this->set_pciregexp2("/(.*): <(.*)>.* at [.0-9]+ irq/"); + } + protected function get_sys_ticks() { + $s = explode(' ', $this->grab_key('kern.boottime')); + $a = ereg_replace('{ ', '', $s[3]); + $sys_ticks = time() - $a; + return $sys_ticks; + } + public function network() { + $netstat = ""; + if (!execute_program('netstat', '-nibd | grep Link', $netstat, $this->debug)) { + $netstat = ''; + } + $lines = split("\n", $netstat); + $results = array (); + for ($i = 0, $max = sizeof($lines); $i < $max; $i++) { + $ar_buf = preg_split("/\s+/", $lines[$i]); + if (!empty ($ar_buf[0])) { + $results[$ar_buf[0]] = array (); + if (strlen($ar_buf[3]) < 15) { + $results[$ar_buf[0]]['rx_bytes'] = $ar_buf[5]; + $results[$ar_buf[0]]['tx_bytes'] = $ar_buf[8]; + $results[$ar_buf[0]]['errs'] = $ar_buf[4] + $ar_buf[7]; + $results[$ar_buf[0]]['drop'] = $ar_buf[10]; + } else { + $results[$ar_buf[0]]['rx_bytes'] = $ar_buf[6]; + $results[$ar_buf[0]]['tx_bytes'] = $ar_buf[9]; + $results[$ar_buf[0]]['errs'] = $ar_buf[5] + $ar_buf[8]; + $results[$ar_buf[0]]['drop'] = $ar_buf[11]; + } + } + } + return $results; + } + public function distroicon() { + $result = 'FreeBSD.png'; + return ($result); + } + private function memory_additional($results) { + $pagesize = $this->grab_key("hw.pagesize"); + $results['ram']['cached'] = $this->grab_key("vm.stats.vm.v_cache_count") * $pagesize; + $results['ram']['cached_percent'] = round($results['ram']['cached'] * 100 / $results['ram']['total']); + $results['ram']['app'] = $this->grab_key("vm.stats.vm.v_active_count") * $pagesize; + $results['ram']['app_percent'] = round($results['ram']['app'] * 100 / $results['ram']['total']); + $results['ram']['buffers'] = $results['ram']['used'] - $results['ram']['app'] - $results['ram']['cached']; + $results['ram']['buffers_percent'] = round($results['ram']['buffers'] * 100 / $results['ram']['total']); + return $results; + } +} +?> Property changes on: includes/os/class.FreeBSD.inc.php ___________________________________________________________________ Added: svn:mime-type + text/x-php Added: svn:keywords + Id Added: svn:eol-style + LF Added: includes/os/class.HP-UX.inc.php =================================================================== --- includes/os/class.HP-UX.inc.php (rev 0) +++ includes/os/class.HP-UX.inc.php 2008-12-08 12:48:51 UTC (rev 44) @@ -0,0 +1,409 @@ +<?php +/*************************************************************************** + * Copyright (C) 2008 by phpSysInfo - A PHP System Information Script * + * http://phpsysinfo.sourceforge.net/ * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ +// +// $Id$ +// +class sysinfo implements psi_os_interface { + // get our apache SERVER_NAME or vhost + public function vhostname() { + if (!($result = getenv('SERVER_NAME'))) { + $result = 'N.A.'; + } + return $result; + } + // get the IP address of our vhost name + public function vip_addr() { + return gethostbyname($this->vhostname()); + } + // get our canonical hostname + public function chostname() { + $ret = ""; + if (execute_program('hostname', '', $ret)) { + return $ret; + } else { + return 'N.A.'; + } + } + // get the IP address of our canonical hostname + public function ip_addr() { + if (!($result = getenv('SERVER_ADDR'))) { + $result = gethostbyname($this->chostname()); + } + return $result; + } + public function kernel() { + $ret = ""; + if (execute_program('uname', '-srvm', $ret)) { + return $ret; + } else { + return 'N.A.'; + } + } + public function uptime() { + $buf = ""; + $result = 0; + $ar_buf = array (); + if (execute_program('uptime', '', $buf)) { + if (preg_match("/up (\d+) days,\s*(\d+):(\d+),/", $buf, $ar_buf)) { + $min = $ar_buf[3]; + $hours = $ar_buf[2]; + $days = $ar_buf[1]; + $result = $days * 86400 + $hours * 3600 + $min * 60; + } + return $result; + } else { + return 'N.A.'; + } + } + public function users() { + $ret = ""; + if (execute_program('who', '-q', $ret)) { + $who = split('=', $ret); + $result = $who[1]; + return $result; + } else { + return 'N.A.'; + } + } + public function loadavg($bar = false) { + $buf = ""; + $ar_buf = array (); + if (execute_program('uptime', '', $buf)) { + if (preg_match("/average: (.*), (.*), (.*)$/", $buf, $ar_buf)) { + $results['avg'] = array ( + $ar_buf[1], + $ar_buf[2], + $ar_buf[3] + ); + } else { + $results['avg'] = array ( + 'N.A.', + 'N.A.', + 'N.A.' + ); + } + return $results; + } else { + return 'N.A.'; + } + } + public function cpu_info() { + $results = array (); + $ar_buf = array (); + $bufr = ""; + if (rfts('/proc/cpuinfo', $bufr)) { + $bufe = explode("\n", $bufr); + foreach ($bufe as $buf) { + list ($key, $value) = preg_split('/\s+:\s+/', trim($buf), 2); + // All of the tags here are highly architecture dependant. + // the only way I could reconstruct them for machines I don't + // have is to browse the kernel source. So if your arch isn't + // supported, tell me you want it written in. + switch ($key) { + case 'model name' : + $results['model'] = $value; + break; + case 'cpu MHz' : + $results['cpuspeed'] = sprintf('%.2f', $value); + break; + case 'cycle frequency [Hz]' : // For Alpha arch - 2.2.x + $results['cpuspeed'] = sprintf('%.2f', $value / 1000000); + break; + case 'clock' : // For PPC arch (damn borked POS) + $results['cpuspeed'] = sprintf('%.2f', $value); + break; + case 'cpu' : // For PPC arch (damn borked POS) + $results['model'] = $value; + break; + case 'revision' : // For PPC arch (damn borked POS) + $results['model'] .= ' ( rev: ' . $value . ')'; + break; + case 'cpu model' : // For Alpha arch - 2.2.x + $results['model'] .= ' (' . $value . ')'; + break; + case 'cache size' : + $results['cache'] = $value; + break; + case 'bogomips' : + $results['bogomips'] += $value; + break; + case 'BogoMIPS' : // For alpha arch - 2.2.x + $results['bogomips'] += $value; + break; + case 'BogoMips' : // For sparc arch + $results['bogomips'] += $value; + break; + case 'cpus detected' : // For Alpha arch - 2.2.x + $results['cpus'] += $value; + break; + case 'system type' : // Alpha arch - 2.2.x + $results['model'] .= ', ' . $value . ' '; + break; + case 'platform string' : // Alpha arch - 2.2.x + $results['model'] .= ' (' . $value . ')'; + break; + case 'processor' : + $results['cpus'] += 1; + break; + } + } + } + $keys = array_keys($results); + $keys2be = array ( + 'model', + 'cpuspeed', + 'cache', + 'bogomips', + 'cpus' + ); + while ($ar_buf = each($keys2be)) { + if (!in_array($ar_buf[1], $keys)) { + $results[$ar_buf[1]] = 'N.A.'; + } + } + return $results; + } + public function pci() { + $bufr = ""; + $results = array (); + if (rfts('/proc/pci', $bufr)) { + $bufe = explode("\n", $bufr); + foreach ($bufe as $buf) { + if (preg_match('/Bus/', $buf)) { + $device = true; + continue; + } + if ($device) { + list ($key, $value) = split(': ', $buf, 2); + if (!preg_match('/bridge/i', $key) && !preg_match('/USB/i', $key)) { + $results[] = preg_replace('/\([^\)]+\)\.$/', '', trim($value)); + } + $device = false; + } + } + } + asort($results); + return $results; + } + public function ide() { + $buf = ""; + $results = array (); + $bufd = gdc('/proc/ide'); + foreach ($bufd as $file) { + if (preg_match('/^hd/', $file)) { + $results[$file] = array (); + // Check if device is CD-ROM (CD-ROM capacity shows as 1024 GB) + if (rfts("/proc/ide/" . $file . "/media", $buf, 1)) { + $results[$file]['media'] = trim($buf); + if ($results[$file]['media'] == 'disk') { + $results[$file]['media'] = 'Hard Disk'; + } + if ($results[$file]['media'] == 'cdrom') { + $results[$file]['media'] = 'CD-ROM'; + } + } + if (rfts("/proc/ide/" . $file . "/model", $buf, 1)) { + $results[$file]['model'] = trim($buf); + if (preg_match('/WDC/', $results[$file]['model'])) { + $results[$file]['manufacture'] = 'Western Digital'; + } + elseif (preg_match('/IBM/', $results[$file]['model'])) { + $results[$file]['manufacture'] = 'IBM'; + } + elseif (preg_match('/FUJITSU/', $results[$file]['model'])) { + $results[$file]['manufacture'] = 'Fujitsu'; + } else { + $results[$file]['manufacture'] = 'Unknown'; + } + } + if (rfts("/proc/ide/" . $file . "/capacity", $buf, 1)) { + $results[$file]['capacity'] = trim($buf); + if ($results[$file]['media'] == 'CD-ROM') { + unset ($results[$file]['capacity']); + } + } + } + } + asort($results); + return $results; + } + public function scsi() { + $bufr = ""; + $results = array (); + $dev_vendor = ''; + $dev_model = ''; + $dev_rev = ''; + $dev_type = ''; + $s = 1; + if (rfts('/proc/scsi/scsi', $bufr)) { + $bufe = explode("\n", $bufr); + foreach ($bufe as $buf) { + if (preg_match('/Vendor/', $buf)) { + preg_match('/Vendor: (.*) Model: (.*) Rev: (.*)/i', $buf, $dev); + list ($key, $value) = split(': ', $buf, 2); + $dev_str = $value; + $get_type = 1; + continue; + } + if ($get_type) { + preg_match('/Type:\s+(\S+)/i', $buf, $dev_type); + $results[$s]['model'] = "$dev[1] $dev[2] ($dev_type[1])"; + $results[$s]['media'] = "Hard Disk"; + $s++; + $get_type = 0; + } + } + } + asort($results); + return $results; + } + public function usb() { + $bufr = ""; + $results = array (); + $devstring = 0; + $devnum = -1; + if (rfts('/proc/bus/usb/devices', $bufr)) { + $bufe = explode("\n", $bufr); + foreach ($bufe as $buf) { + if (preg_match('/^T/', $buf)) { + $devnum += 1; + } + if (preg_match('/^S/', $buf)) { + $devstring = 1; + } + if ($devstring) { + list ($key, $value) = split(': ', $buf, 2); + list ($key, $value2) = split('=', $value, 2); + $results[$devnum] .= " " . trim($value2); + $devstring = 0; + } + } + } + return $results; + } + public function network() { + $netstat = ""; + if (execute_program('netstat', '-ni | tail -n +2', $netstat)) { + $lines = split("\n", $netstat); + $results = array (); + for ($i = 0, $max = sizeof($lines); $i < $max; $i++) { + $ar_buf = preg_split("/\s+/", $lines[$i]); + if (!empty ($ar_buf[0]) && !empty ($ar_buf[3])) { + $results[$ar_buf[0]] = array (); + $results[$ar_buf[0]]['rx_bytes'] = $ar_buf[4]; + $results[$ar_buf[0]]['tx_bytes'] = $ar_buf[6]; + $results[$ar_buf[0]]['errs'] = $ar_buf[5] + $ar_buf[7]; + $results[$ar_buf[0]]['drop'] = $ar_buf[8]; + } + } + return $results; + } else { + return array (); + } + } + public function memory() { + $bufr = ""; + $results['swap'] = array (); + $results['devswap'] = array (); + if (rfts('/proc/meminfo', $bufr)) { + $bufe = explode("\n", $bufr); + foreach ($bufe as $buf) { + if (preg_match('/Mem:\s+(.*)$/', $buf, $ar_buf)) { + $ar_buf = preg_split('/\s+/', $ar_buf[1], 6); + $results['ram']['total'] = $ar_buf[0]; + $results['ram']['used'] = $ar_buf[1]; + $results['ram']['free'] = $ar_buf[2]; + $results['ram']['shared'] = $ar_buf[3]; + $results['ram']['buffers'] = $ar_buf[4]; + $results['ram']['cached'] = $ar_buf[5]; + // I don't like this since buffers and cache really aren't + // 'used' per say, but I get too many emails about it. + $results['ram']['percent'] = round(($results['ram']['used'] * 100) / $results['ram']['total']); + } + if (preg_match('/Swap:\s+(.*)$/', $buf, $ar_buf)) { + $ar_buf = preg_split('/\s+/', $ar_buf[1], 3); + $results['swap']['total'] = $ar_buf[0]; + $results['swap']['used'] = $ar_buf[1]; + $results['swap']['free'] = $ar_buf[2]; + $results['swap']['percent'] = ceil(($ar_buf[1] * 100) / (($ar_buf[0] <= 0) ? 1 : $ar_buf[0])); + // Get info on individual swap files + $swaps = ""; + if (rfts('/proc/swaps', $swaps)) { + $swapdevs = split("\n", $swaps); + for ($i = 1, $max = (sizeof($swapdevs) - 1); $i < $max; $i++) { + $ar_buf = preg_split('/\s+/', $swapdevs[$i], 6); + $results['devswap'][$i -1] = array (); + $results['devswap'][$i -1]['dev'] = $ar_buf[0]; + $results['devswap'][$i -1]['total'] = $ar_buf[2] * 1024; + $results['devswap'][$i -1]['used'] = $ar_buf[3] * 1024; + $results['devswap'][$i -1]['free'] = ($results['devswap'][$i -1]['total'] - $results['devswap'][$i -1]['used']); + $results['devswap'][$i -1]['percent'] = round(($ar_buf[3] * 100) / $ar_buf[2]); + } + break; + } + } + } + } + return $results; + } + public function filesystems() { + $df = ""; + if (execute_program('df', '-kP', $df)) { + $mounts = split("\n", $df); + } else { + $mounts = array (); + } + $fstype = array (); + $s = ""; + if (execute_program('mount', '-v', $s)) { + $lines = explode("\n", $s); + } else { + $lines = array (); + } + $i = 0; + while (list (, $line) = each($lines)) { + $a = split(' ', $line); + $fsdev[$a[0]] = $a[4]; + } + for ($i = 1, $j = 0, $max = sizeof($mounts); $i < $max; $i++) { + $ar_buf = preg_split("/\s+/", $mounts[$i], 6); + $results[$j] = array (); + $results[$j]['disk'] = $ar_buf[0]; + $results[$j]['size'] = $ar_buf[1] * 1024; + $results[$j]['used'] = $ar_buf[2] * 1024; + $results[$j]['free'] = $ar_buf[3] * 1024; + $results[$j]['percent'] = $ar_buf[4]; + $results[$j]['mount'] = $ar_buf[5]; + ($fstype[$ar_buf[5]]) ? $results[$j]['fstype'] = $fstype[$ar_buf[5]] : $results[$j]['fstype'] = $fsdev[$ar_buf[0]]; + $j++; + } + return $results; + } + public function distro() { + $result = 'HP-UX'; + return ($result); + } + public function distroicon() { + $result = 'unknown.png'; + return ($result); + } +} +?> Property changes on: includes/os/class.HP-UX.inc.php ___________________________________________________________________ Added: svn:mime-type + text/x-php Added: svn:keywords + Id Added: svn:eol-style + LF Added: includes/os/class.Linux.inc.php =================================================================== --- includes/os/class.Linux.inc.php (rev 0) +++ includes/os/class.Linux.inc.php 2008-12-08 12:48:51 UTC (rev 44) @@ -0,0 +1,551 @@ +<?php +/*************************************************************************** + * Copyright (C) 2008 by phpSysInfo - A PHP System Information Script * + * http://phpsysinfo.sourceforge.net/ * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ +// +// $Id$ +// +if (!defined('IN_PHPSYSINFO')) { + die("No Hacking"); +} +class sysinfo implements psi_os_interface { + private $inifile = "distros.ini"; + private $icon = "unknown.png"; + private $distro = "unknown"; + private $parser; + private $debug = PSI_DEBUG; + // get the distro name and icon when create the sysinfo object + public function __construct() { + $distro_info = ""; + $buf = ""; + $this->parser = new parser(); + $this->parser->add_df_param('-P'); + $list = @ parse_ini_file(APP_ROOT . "/" . $this->inifile, true); + if (!$list) { + return; + } + // We have the '2> /dev/null' because Ubuntu gives an error on this command which causes the distro to be unknown + if (execute_program('lsb_release', '-a 2> /dev/null', $distro_info, $this->debug)) { + $distro_tmp = split("\n", $distro_info); + foreach ($distro_tmp as $info) { + $info_tmp = split(':', $info, 2); + $distro[$info_tmp[0]] = trim($info_tmp[1]); + } + if (!isset ($list[$distro['Distributor ID']])) { + return; + } + $this->icon = isset ($list[$distro['Distributor ID']]["Image"]) ? $list[$distro['Distributor ID']]["Image"] : $this->icon; + $this->distro = $distro['Description']; + } else { // Fall back in case 'lsb_release' does not exist ;) + foreach ($list as $section => $distribution) { + if (!isset ($distribution["Files"])) { + continue; + } else { + foreach (explode(";", $distribution["Files"]) as $filename) { + if (file_exists($filename)) { + rfts($filename, $buf); + $this->icon = isset ($distribution["Image"]) ? $distribution["Image"] : $this->icon; + $this->distro = isset ($distribution["Name"]) ? $distribution["Name"] . " " . trim($buf) : trim($buf); + break 2; + } + } + } + } + } + } + // get our apache SERVER_NAME or vhost + public function vhostname() { + if (!($result = getenv('SERVER_NAME'))) { + $result = 'N.A.'; + } + return $result; + } + // get the IP address of our vhost name + public function vip_addr() { + return gethostbyname($this->vhostname()); + } + // get our canonical hostname + public function chostname() { + $result = ""; + if (rfts('/proc/sys/kernel/hostname', $result, 1)) { + $result = trim($result); + $ip = gethostbyname($result); + if ($ip != $result) { + $result = gethostbyaddr($ip); + } else { + $result = 'Unknown'; + } + } else { + $result = "N.A."; + } + return $result; + } + // get the IP address of our canonical hostname + public function ip_addr() { + if (!($result = getenv('SERVER_ADDR'))) { + $result = gethostbyname($this->chostname()); + } + return $result; + } + public function kernel() { + $strBuf = ""; + if (execute_program('uname', '-r', $strBuf, $this->debug)) { + $result = trim($strBuf); + if (execute_program('uname', '-v', $strBuf, $this->debug)) { + if (preg_match('/SMP/', $strBuf)) { + $result .= ' (SMP)'; + } + } + if (execute_program('uname', '-m', $strBuf, $this->debug)) { + $result .= ' ' . trim($strBuf); + } + } else { + if (rfts('/proc/version', $strBuf, 1)) { + if (preg_match('/version (.*?) /', $strBuf, $ar_buf)) { + $result = $ar_buf[1]; + if (preg_match('/SMP/', $strBuf)) { + $result .= ' (SMP)'; + } + } else { + $result = "N.A."; + } + } else { + $result = "N.A."; + } + } + return $result; + } + public function uptime() { + $buf = ""; + rfts('/proc/uptime', $buf, 1); + $ar_buf = split(' ', $buf); + $result = trim($ar_buf[0]); + return $result; + } + public function users() { + $strResult = 0; + $strBuf = ""; + if (execute_program('who', '-q', $strBuf, $this->debug)) { + $arrWho = split('=', $strBuf); + $strResult = $arrWho[1]; + } + return $strResult; + } + public function loadavg($bar = false) { + $buf = ""; + if (rfts('/proc/loadavg', $buf)) { + $results['avg'] = preg_split("/\s/", $buf, 4); + // don't need the extra values, only first three + unset ($results['avg'][3]); + } else { + $results['avg'] = array ( + 'N.A.', + 'N.A.', + 'N.A.' + ); + } + if ($bar) { + if (rfts('/proc/stat', $buf, 1)) { + $ab = 0; + $ac = 0; + $ad = 0; + $ae = 0; + sscanf($buf, "%*s %Ld %Ld %Ld %Ld", $ab, $ac, $ad, $ae); + // Find out the CPU load + // user + sys = load + // total = total + $load = $ab + $ac + $ad; // cpu.user + cpu.sys + $total = $ab + $ac + $ad + $ae; // cpu.total + // we need a second value, wait 1 second befor getting (< 1 second no good value will occour) + sleep(1); + rfts('/proc/stat', $buf, 1); + sscanf($buf, "%*s %Ld %Ld %Ld %Ld", $ab, $ac, $ad, $ae); + $load2 = $ab + $ac + $ad; + $total2 = $ab + $ac + $ad + $ae; + $results['cpupercent'] = (100 * ($load2 - $load)) / ($total2 - $total); + } + } + return $results; + } + public function cpu_info() { + $bufr = ""; + $results = array ( + "cpus" => 0 + ); + if (rfts('/proc/cpuinfo', $bufr)) { + $bufe = explode("\n", $bufr); + $results = array ( + 'cpus' => 0, + 'bogomips' => 0 + ); + $ar_buf = array (); + foreach ($bufe as $buf) { + $arrBuff = preg_split('/\s+:\s+/', trim($buf)); + if (count($arrBuff) == 2) { + $key = $arrBuff[0]; + $value = $arrBuff[1]; + // All of the tags here are highly architecture dependant. + // the only way I could reconstruct them for machines I don't + // have is to browse the kernel source. So if your arch isn't + // supported, tell me you want it written in. + switch ($key) { + case 'model name' : + $results['model'] = $value; + break; + case 'cpu MHz' : + $results['cpuspeed'] = sprintf('%.2f', $value); + break; + case 'cycle frequency [Hz]' : // For Alpha arch - 2.2.x + $results['cpuspeed'] = sprintf('%.2f', $value / 1000000); + break; + case 'clock' : // For PPC arch (damn borked POS) + $results['cpuspeed'] = sprintf('%.2f', $value); + break; + case 'cpu' : // For PPC arch (damn borked POS) + $results['model'] = $value; + break; + case 'L2 cache' : // More for PPC + $results['cache'] = $value; + break; + case 'revision' : // For PPC arch (damn borked POS) + $results['model'] .= ' ( rev: ' . $value . ')'; + break; + case 'cpu model' : // For Alpha arch - 2.2.x + $results['model'] .= ' (' . $value . ')'; + break; + case 'cache size' : + $value = preg_replace("/[a-zA-Z]/", "", $value); + $results['cache'] = $value; + break; + case 'bogomips' : + $results['bogomips'] = $value; + break; + case 'BogoMIPS' : // For alpha arch - 2.2.x + $results['bogomips'] += $value; + break; + case 'BogoMips' : // For sparc arch + $results['bogomips'] += $value; + break; + case 'cpus detected' : // For Alpha arch - 2.2.x + $results['cpus'] += $value; + break; + case 'system type' : // Alpha arch - 2.2.x + $results['model'] .= ', ' . $value . ' '; + break; + case 'platform string' : // Alpha arch - 2.2.x + $results['model'] .= ' (' . $value . ')'; + break; + case 'processor' : + $results['cpus'] += 1; + break; + case 'Cpu0ClkTck' : // Linux sparc64 + $results['cpuspeed'] = sprintf('%.2f', hexdec($value) / 1000000); + break; + case 'Cpu0Bogo' : // Linux sparc64 & sparc32 + $results['bogomips'] = $value; + break; + case 'ncpus probed' : // Linux sparc64 & sparc32 + $results['cpus'] = $value; + break; + } + } + } + // sparc64 specific code follows + // This adds the ability to display the cache that a CPU has + // Originally made by Sven Blumenstein <ba...@ge...> in 2004 + // Modified by Tom Weustink <fre...@gm...> in 2004 + $sparclist = array ( + 'SUNW,UltraSPARC@0,0', + 'SUNW,UltraSPARC-II@0,0', + 'SUNW,UltraSPARC@1c,0', + 'SUNW,UltraSPARC-IIi@1c,0', + 'SUNW,UltraSPARC-II@1c,0', + 'SUNW,UltraSPARC-IIe@0,0' + ); + foreach ($sparclist as $name) { + if (rfts('/proc/openprom/' . $name . '/ecache-size', $buf, 1, 32, false)) { + $results['cache'] = base_convert($buf, 16, 10) / 1024 . ' KB'; + } + } + // sparc64 specific code ends + // XScale detection code + if ($results['cpus'] == 0) { + foreach ($bufe as $buf) { + $fields = preg_split('/\s*:\s*/', trim($buf), 2); + if (sizeof($fields) == 2) { + list ($key, $value) = $fields; + switch ($key) { + case 'Processor' : + $results['cpus'] += 1; + $results['model'] = $value; + break; + case 'BogoMIPS' : //BogoMIPS are not BogoMIPS on this CPU, it's the speed, no BogoMIPS available + $results['cpuspeed'] = $value; + break; + case 'I size' : + $results['cache'] = $value; + break; + case 'D size' : + $results['cache'] += $value; + break; + } + } + } + $results['cache'] = $results['cache'] / 1024; + } + } + $keys = array_keys($results); + $keys2be = array ( + 'model', + 'cpuspeed', + 'cpus' + ); + while ($ar_buf = each($keys2be)) { + if (!in_array($ar_buf[1], $keys)) { + $results[$ar_buf[1]] = '0'; + } + } + if (rfts('/proc/acpi/thermal_zone/THRM/temperature', $buf, 1, 4096, false)) { + $results['temp'] = substr($buf, 25, 2); + } + return $results; + } + public function pci() { + $strBuf = ""; + $arrResults = array (); + $booDevice = false; + if (!$arrResults = $this->parser->parse_lspci()) { + if (rfts('/proc/pci', $strBuf, 0, 4096, false)) { + $arrBuf = explode("\n", $strBuf); + foreach ($arrBuf as $strLine) { + if (preg_match('/Bus/', $strLine)) { + $booDevice = true; + continue; + } + if ($booDevice) { + list ($strKey, $strValue) = split(': ', $strLine, 2); + if (!preg_match('/bridge/i', $strKey) && !preg_match('/USB/i ', $strKey)) { + $arrResults[] = preg_replace('/\([^\)]+\)\.$/', '', trim($strValue)); + } + $booDevice = false; + } + } + asort($arrResults); + } + } + return $arrResults; + } + public function ide() { + $results = array (); + $buf = ""; + $bufd = gdc('/proc/ide', false); + foreach ($bufd as $file) { + if (preg_match('/^hd/', $file)) { + $results[$file] = array (); + if (rfts("/proc/ide/" . $file . "/media", $buf, 1)) { + $results[$file]['media'] = trim($buf); + if ($results[$file]['media'] == 'disk') { + $results[$file]['media'] = 'Hard Disk'; + if (rfts("/proc/ide/" . $file . "/capacity", $buf, 1, 4096, false) || rfts("/sys/block/" . $file . "/size", $buf, 1, 4096, false)) { + $results[$file]['capacity'] = trim($buf) * 512 / 1024; + } + } + elseif ($results[$file]['media'] == 'cdrom') { + $results[$file]['media'] = 'CD-ROM'; + unset ($results[$file]['capacity']); + } + } else { + unset ($results[$file]); + } + if (rfts("/proc/ide/" . $file . "/model", $buf, 1)) { + $results[$file]['model'] = trim($buf); + if (preg_match('/WDC/', $results[$file]['model'])) { + $results[$file]['manufacture'] = 'Western Digital'; + } + elseif (preg_match('/IBM/', $results[$file]['model'])) { + $results[$file]['manufacture'] = 'IBM'; + } + elseif (preg_match('/FUJITSU/', $results[$file]['model'])) { + $results[$file]['manufacture'] = 'Fujitsu'; + } else { + $results[$file]['manufacture'] = 'Unknown'; + } + } + } + } + asort($results); + return $results; + } + public function scsi() { + $bufr = ""; + $results = array (); + $dev_vendor = ''; + $dev_model = ''; + $dev_rev = ''; + $dev_type = ''; + $s = 1; + $get_type = 0; + if (execute_program('lsscsi', '-c', $bufr, $this->debug) || rfts('/proc/scsi/scsi', $bufr, 0, 4096, $this->debug)) { + $bufe = explode("\n", $bufr); + foreach ($bufe as $buf) { + if (preg_match('/Vendor/', $buf)) { + preg_match('/Vendor: (.*) Model: (.*) Rev: (.*)/i', $buf, $dev); + list ($key, $value) = split(': ', $buf, 2); + $dev_str = $value; + $get_type = true; + continue; + } + if ($get_type) { + preg_match('/Type:\s+(\S+)/i', $buf, $dev_type); + $results[$s]['model'] = "$dev[1] $dev[2] ($dev_type[1])"; + $results[$s]['media'] = "Hard Disk"; + $s++; + $get_type = false; + } + } + } + asort($results); + return $results; + } + public function usb() { + $bufr = ""; + $results = array (); + $devnum = -1; + if (!execute_program('lsusb', '', $bufr, $this->debug)) { + if (rfts('/proc/bus/usb/devices', $bufr, 0, 4096, false)) { + $bufe = explode("\n", $bufr); + foreach ($bufe as $buf) { + if (preg_match('/^T/', $buf)) { + $devnum += 1; + $results[$devnum] = ""; + } + elseif (preg_match('/^S:/', $buf)) { + list ($key, $value) = split(': ', $buf, 2); + list ($key, $value2) = split('=', $value, 2); + if (trim($key) != "SerialNumber") { + $results[$devnum] .= " " . trim($value2); + $devstring = 0; + } + } + } + } + } else { + $bufe = explode("\n", $bufr); + foreach ($bufe as $buf) { + $device = preg_split("/ /", $buf, 7); + if (isset ($device[6]) && trim($device[6]) != "") { + $results[$devnum++] = trim($device[6]); + } + } + } + return $results; + } + public function network() { + $results = array (); + $bufr = ""; + if (rfts('/proc/net/dev', $bufr)) { + $bufe = explode("\n", $bufr); + foreach ($bufe as $buf) { + if (preg_match('/:/', $buf)) { + list ($dev_name, $stats_list) = preg_split('/:/', $buf, 2); + $dev_name = trim($dev_name); + $stats = preg_split('/\s+/', trim($stats_list)); + $results[$dev_name] = array (); + $results[$dev_name]['rx_bytes'] = $stats[0]; + $results[$dev_name]['tx_bytes'] = $stats[8]; + $results[$dev_name]['errs'] = $stats[2] + $stats[10]; + $results[$dev_name]['drop'] = $stats[3] + $stats[11]; + } + } + } + return $results; + } + public function memory() { + $bufr = ""; + $results['ram'] = array ( + 'total' => 0, + 'free' => 0, + 'used' => 0, + 'percent' => 0 + ); + $results['swap'] = array ( + 'total' => 0, + 'free' => 0, + 'used' => 0, + 'percent' => 0 + ); + $results['devswap'] = array (); + if (rfts('/proc/meminfo', $bufr)) { + $bufe = explode("\n", $bufr); + foreach ($bufe as $buf) { + if (preg_match('/^MemTotal:\s+(.*)\s*kB/i', $buf, $ar_buf)) { + $results['ram']['total'] = $ar_buf[1] * 1024; + } else + if (preg_match('/^MemFree:\s+(.*)\s*kB/i', $buf, $ar_buf)) { + $results['ram']['free'] = $ar_buf[1] * 1024; + } else + if (preg_match('/^Cached:\s+(.*)\s*kB/i', $buf, $ar_buf)) { + $results['ram']['cached'] = $ar_buf[1] * 1204; + } else + if (preg_match('/^Buffers:\s+(.*)\s*kB/i', $buf, $ar_buf)) { + $results['ram']['buffers'] = $ar_buf[1] * 1024; + } + } + $results['ram']['used'] = $results['ram']['total'] - $results['ram']['free']; + $results['ram']['percent'] = round(($results['ram']['used'] * 100) / $results['ram']['total']); + // values for splitting memory usage + if (isset ($results['ram']['cached']) && isset ($results['ram']['buffers'])) { + $results['ram']['app'] = $results['ram']['used'] - $results['ram']['cached'] - $results['ram']['buffers']; + $results['ram']['app_percent'] = round(($results['ram']['app'] * 100) / $results['ram']['total']); + $results['ram']['buffers_percent'] = round(($results['ram']['buffers'] * 100) / $results['ram']['total']); + $results['ram']['cached_percent'] = round(($results['ram']['cached'] * 100) / $results['ram']['total']); + } + $bufr = ""; + if (rfts('/proc/swaps', $bufr)) { + $swaps = explode("\n", $bufr); + for ($i = 1; $i < (sizeof($swaps)); $i++) { + if (trim($swaps[$i]) != "") { + $ar_buf = preg_split('/\s+/', $swaps[$i], 6); + $results['devswap'][$i -1] = array (); + $results['devswap'][$i -1]['dev'] = $ar_buf[0]; + $results['devswap'][$i -1]['total'] = $ar_buf[2] * 1024; + $results['devswap'][$i -1]['used'] = $ar_buf[3] * 1024; + $results['devswap'][$i -1]['free'] = ($results['devswap'][$i -1]['total'] - $results['devswap'][$i -1]['used']); + $results['devswap'][$i -1]['percent'] = round(($ar_buf[3] * 100) / $ar_buf[2]); + $results['swap']['total'] += $ar_buf[2] * 1024; + $results['swap']['used'] += $ar_buf[3] * 1024; + $results['swap']['free'] = $results['swap']['total'] - $results['swap']['used']; + $results['swap']['percent'] = ceil(($results['swap']['used'] * 100) / (($results['swap']['total'] <= 0) ? 1 : $results['swap']['total'])); + } + } + } + } + return $results; + } + public function filesystems() { + return $this->parser->parse_filesystems(); + } + public function distro() { + return $this->distro; + } + public function distroicon() { + return $this->icon; + } +} +?> Property changes on: includes/os/class.Linux.inc.php ___________________________________________________________________ Added: svn:mime-type + text/x-php Added: svn:keywords + Id Added: svn:eol-style + LF Added: includes/os/class.NetBSD.inc.php =================================================================== --- includes/os/class.NetBSD.inc.php (rev 0) +++ includes/os/class.NetBSD.inc.php 2008-12-08 12:48:51 UTC (rev 44) @@ -0,0 +1,96 @@ +<?php +/*************************************************************************** + * Copyright (C) 2008 by phpSysInfo - A PHP System Information Script * + * http://phpsysinfo.sourceforge.net/ * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ +// +// $Id$ +// +if (!defined('IN_PHPSYSINFO')) { + die("No Hacking"); +} +class sysinfo extends bsd_common implements psi_os_interface { + // Our contstructor + // this function is run on the initialization of this class + public function __construct() { + parent :: __construct(); + $this->set_cpuregexp1("^cpu(.*)\, (.*) MHz"); + $this->set_cpuregexp2("/user = (.*), nice = (.*), sys = (.*), intr = (.*), idle = (.*)/"); + $this->set_scsiregexp1("^(.*) at scsibus.*: <(.*)> .*"); + $this->set_scsiregexp2("^(da[0-9]): (.*)MB "); + $this->set_pciregexp1("/(.*) at pci[0-9] dev [0-9]* function [0-9]*: (.*)$/"); + $this->set_pciregexp2("/\"(.*)\" (.*).* at [.0-9]+ irq/"); + } + protected function get_sys_ticks() { + $a = $this->grab_key('kern.boottime'); + $sys_ticks = time() - $a; + return $sys_ticks; + } + public function network() { + $netstat_b = ""; + $netstat_n = ""; + execute_program('netstat', '-nbdi | cut -c1-25,44- | grep "^[a-z]*[0-9][ \t].*Link"', $netstat_b); + execute_program('netstat', '-ndi | cut -c1-25,44- | grep "^[a-z]*[0-9][ \t].*Link"', $netstat_n); + $lines_b = split("\n", $netstat_b); + $lines_n = split("\n", $netstat_n); + $results = array (); + for ($i = 0, $max = sizeof($lines_b); $i < $max; $i++) { + $ar_buf_b = preg_split("/\s+/", $lines_b[$i]); + $ar_buf_n = preg_split("/\s+/", $lines_n[$i]); + if (!empty ($ar_buf_b[0]) && !empty ($ar_buf_n[3])) { + $results[$ar_buf_b[0]] = array (); + $results[$ar_buf_b[0]]['rx_bytes'] = $ar_buf_b[3]; + $results[$ar_buf_b[0]]['tx_bytes'] = $ar_buf_b[4]; + $results[$ar_buf_b[0]]['errs'] = $ar_buf_n[4] + $ar_buf_n[6]; + $results[$ar_buf_b[0]]['drop'] = $ar_buf_n[8]; + } + } + return $results; + } + // get the ide device information out of dmesg + public function ide() { + $results = array (); + $s = 0; + $dmesg = $this->read_dmesg(); + for ($i = 0, $max = count($dmesg); $i < $max; $i++) { + $buf = $dmesg[$i]; + if (preg_match('/^(.*) at (pciide|wdc|atabus|atapibus)[0-9] (.*): <(.*)>/', $buf, $ar_buf)) { + $s = $ar_buf[1]; + $results[$s]['model'] = $ar_buf[4]; + $results[$s]['media'] = 'Hard Disk'; + // now loop again and find the capacity + for ($j = 0, $max1 = count($dmesg); $j < $max1; $j++) { + $buf_n = $dmesg[$j]; + if (preg_match("/^($s): (.*), (.*), (.*)MB, .*$/", $buf_n, $ar_buf_n)) { + $results[$s]['capacity'] = $ar_buf_n[4] * 2048 * 1.049; + } + elseif (preg_match("/^($s): (.*) MB, (.*), (.*), .*$/", $buf_n, $ar_buf_n)) { + $results[$s]['capacity'] = $ar_buf_n[2] * 2048; + } + } + } + } + asort($results); + return $results; + } + public function distroicon() { + $result = 'NetBSD.png'; + return ($result); + } +} +?> Property changes on: includes/os/class.NetBSD.inc.php ___________________________________________________________________ Added: svn:mime-type + text/x-php Added: svn:keywords + Id Added: svn:eol-style + LF Added: includes/os/class.OpenBSD.inc.php =================================================================== --- includes/os/class.OpenBSD.inc.php (rev 0) +++ includes/os/class.OpenBSD.inc.php 2008-12-08 12:48:51 UTC (rev 44) @@ -0,0 +1,102 @@ +<?php +/*************************************************************************** + * Copyright (C) 2008 by phpSysInfo - A PHP System Information Script * + * http://phpsysinfo.sourceforge.net/ * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ +// +// $Id$ +// +if (!defined('IN_PHPSYSINFO')) { + die("No Hacking"); +} +class sysinfo extends bsd_common implements psi_os_interface { + private $debug = PSI_DEBUG; + // Our contstructor + // this function is run on the initialization of this class + public function __construct() { + parent :: __construct(); + $this->set_cpuregexp1("^cpu(.*) (.*) MHz"); + $this->set_cpuregexp2("/(.*),(.*),(.*),(.*),(.*)/"); + $this->set_scsiregexp1("^(.*) at scsibus.*: <(.*)> .*"); + $this->set_scsiregexp2("^(da[0-9]): (.*)MB "); + $this->set_pciregexp1("/(.*) at pci[0-9] .* \"(.*)\"/"); + $this->set_pciregexp2("/\"(.*)\" (.*).* at [.0-9]+ irq/"); + } + protected function get_sys_ticks() { + $a = $this->grab_key('kern.boottime'); + $sys_ticks = time() - $a; + return $sys_ticks; + } + public function network() { + $netstat_b = ""; + $netstat_n = ""; + execute_program('netstat', '-nbdi | cut -c1-25,44- | grep Link | grep -v \'* \'', $netstat_b, $this->debug); + execute_program('netstat', '-ndi | cut -c1-25,44- | grep Link | grep -v \'* \'', $netstat_n, $this->debug); + $lines_b = split("\n", $netstat_b); + $lines_n = split("\n", $netstat_n); + $results = array (); + for ($i = 0, $max = sizeof($lines_b); $i < $max; $i++) { + $ar_buf_b = preg_split("/\s+/", $lines_b[$i]); + $ar_buf_n = preg_split("/\s+/", $lines_n[$i]); + if (!empty ($ar_buf_b[0]) && !empty ($ar_buf_n[3])) { + $results[$ar_buf_b[0]] = array (); + $results[$ar_buf_b[0]]['rx_bytes'] = $ar_buf_b[3]; + $results[$ar_buf_b[0]]['tx_bytes'] = $ar_buf_b[4]; + $results[$ar_buf_b[0]]['errs'] = $ar_buf_n[4] + $ar_buf_n[6]; + $results[$ar_buf_b[0]]['drop'] = $ar_buf_n[8]; + } + } + return $results; + } + // get the ide device information out of dmesg + public function ide() { + $results = array (); + $s = 0; + $dmesg = $this->read_dmesg(); + for ($i = 0, $max = count($dmesg); $i < $max; $i++) { + $buf = $dmesg[$i]; + if (preg_match('/^(.*) at pciide[0-9] (.*): <(.*)>/', $buf, $ar_buf)) { + $s = $ar_buf[1]; + $results[$s]['model'] = $ar_buf[3]; + $results[$s]['media'] = 'Hard Disk'; + // now loop again and find the capacity + for ($j = 0, $max1 = count($dmesg); $j < $max1; $j++) { + $buf_n = $dmesg[$j]; + if (preg_match("/^($s): (.*), (.*), (.*)MB, .*$/", $buf_n, $ar_buf_n)) { + $results[$s]['capacity'] = $ar_buf_n[4] * 2048 * 1.049; + ; + } + } + } + } + asort($results); + return $results; + } + public function cpu_info() { + $results = array (); + $results['model'] = $this->grab_key('hw.model'); + $results['cpus'] = $this->grab_key('hw.ncpu'); + $results['cpuspeed'] = $this->grab_key('hw.cpuspeed'); + return $results; + } + public function distroicon() { + $result = 'OpenBSD.png'; + return ($result); + } +} +?> Property changes on: includes/os/class.OpenBSD.inc.php ___________________________________________________________________ Added: svn:mime-type + text/x-php Added: svn:keywords + Id Added: svn:eol-style + LF Added: includes/os/class.SunOS.inc.php =================================================================== --- includes/os/class.SunOS.inc.php (rev 0) +++ includes/os/class.SunOS.inc.php 2008-12-08 12:48:51 UTC (rev 44) @@ -0,0 +1,225 @@ +<?php +/*************************************************************************** + * Copyright (C) 2008 by phpSysInfo - A PHP System Information Script * + * http://phpsysinfo.sourceforge.net/ * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Fre... [truncated message content] |
From: <Big...@us...> - 2008-12-08 12:07:21
|
Revision: 43 http://phpsysinfo.svn.sourceforge.net/phpsysinfo/?rev=43&view=rev Author: BigMichi1 Date: 2008-12-08 11:47:13 +0000 (Mon, 08 Dec 2008) Log Message: ----------- import cvs Added Paths: ----------- includes/mb/ includes/mb/class.coretemp.inc.php includes/mb/class.hddtemp.inc.php includes/mb/class.healthd.inc.php includes/mb/class.hwsensors.inc.php includes/mb/class.ipmi.inc.php includes/mb/class.lmsensors.inc.php includes/mb/class.mbm5.inc.php includes/mb/class.mbmon.inc.php Added: includes/mb/class.coretemp.inc.php =================================================================== --- includes/mb/class.coretemp.inc.php (rev 0) +++ includes/mb/class.coretemp.inc.php 2008-12-08 11:47:13 UTC (rev 43) @@ -0,0 +1,48 @@ +<?php +/*************************************************************************** + * Copyright (C) 2008 by phpSysInfo - A PHP System Information Script * + * http://phpsysinfo.sourceforge.net/ * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ +// +// $Id$ +// +// This class was created by William Johansson ( radar at radhuset dot org ) +class mbinfo { + function temperature() { + $results = array (); + $smp = 1; + execute_program('sysctl', '-n kern.smp.cpus', $smp); + for ($i = 0; $i < $smp; $i++) { + $temp = 0; + if (execute_program('sysctl', '-n dev.cpu.' . $i . '.temperature', $temp)) { + $results[$i]['label'] = "CPU " . ($i +1); + $results[$i]['value'] = $temp; + $results[$i]['limit'] = '70.0'; + $results[$i]['percent'] = $results[$i]['value'] * 100 / $results[$i]['limit']; + } + } + return $results; + } + function fans() { + return null; + } + function voltage() { + return null; + } +} +?> Property changes on: includes/mb/class.coretemp.inc.php ___________________________________________________________________ Added: svn:mime-type + text/x-php Added: svn:keywords + Id Added: svn:eol-style + LF Added: includes/mb/class.hddtemp.inc.php =================================================================== --- includes/mb/class.hddtemp.inc.php (rev 0) +++ includes/mb/class.hddtemp.inc.php 2008-12-08 11:47:13 UTC (rev 43) @@ -0,0 +1,131 @@ +<?php +/*************************************************************************** + * Copyright (C) 2008 by phpSysInfo - A PHP System Information Script * + * http://phpsysinfo.sourceforge.net/ * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ +// +// $Id$ +// +class hddtemp { + private $debug = PSI_DEBUG; + + public function __construct() { + $this->error = Error :: Singleton(); + } + + public function temperature() { + $ar_buf = array (); + $results = array (); + switch (PSI_HDD_TEMP) { + case "tcp" : + // Timo van Roermund: connect to the hddtemp daemon, use a 5 second timeout. + $fp = @ fsockopen('localhost', 7634, $errno, $errstr, 5); + // if connected, read the output of the hddtemp daemon + if ($fp) { + // read output of the daemon + $lines = ''; + while (!feof($fp)) { + $lines .= fread($fp, 1024); + } + // close the connection + fclose($fp); + } else { + if ($this->debug) { + $this->error->addError("HDDTemp error", "HDDTemp error: " . $errno . ", " . $errstr); + } + } + $lines = str_replace("||", "|\n|", $lines); + $ar_buf = explode("\n", $lines); + break; + case "suid" : + $strDrives = ""; + $strContent = ""; + $hddtemp_value = ""; + if (rfts("/proc/diskstats", $strContent, 0, 4096, false)) { + $arrContent = explode("\n", $strContent); + foreach ($arrContent as $strLine) { + preg_match("/^\s(.*)\s([a-z]*)\s(.*)/", $strLine, $arrSplit); + if (!empty ($arrSplit[2])) { + $strDrive = '/dev/' . $arrSplit[2]; + if (file_exists($strDrive)) { + $strDrives = $strDrives . $strDrive . ' '; + } + } + } + } else { + if (rfts("/proc/partitions", $strContent, 0, 4096, false)) { + $arrContent = explode("\n", $strContent); + foreach ($arrContent as $strLine) { + if (!preg_match("/^\s(.*)\s([\/a-z0-9]*(\/disc))\s(.*)/", $strLine, $arrSplit)) { + preg_match("/^\s(.*)\s([a-z]*)\s(.*)/", $strLine, $arrSplit); + } + if (!empty ($arrSplit[2])) { + $strDrive = '/dev/' . $arrSplit[2]; + if (file_exists($strDrive)) { + $strDrives = $strDrives . $strDrive . ' '; + } + } + } + } + } + if (trim($strDrives) == "") { + return array (); + } + if (execute_program("hddtemp", $strDrives, $hddtemp_value)) { + $hddtemp_value = explode("\n", $hddtemp_value); + foreach ($hddtemp_value as $line) { + $temp = preg_split("/:\s/", $line, 3); + if (count($temp) == 3 && preg_match("/^[0-9]/", $temp[2])) { + preg_match("/^([0-9]*)(.*)/", $temp[2], $ar_temp); + $temp[2] = trim($ar_temp[1]); + $temp[3] = trim($ar_temp[2]); + array_push($ar_buf, "|" . implode("|", $temp) . "|"); + } + } + } else { + return array (); + } + break; + default : + if ($this->debug) { + $this->error->addError("HDDTemp error", "Bad hddtemp configuration in config.php"); + } + } + // Timo van Roermund: parse the info from the hddtemp daemon. + $i = 0; + foreach ($ar_buf as $line) { + $data = array (); + if (ereg("\|(.*)\|(.*)\|(.*)\|(.*)\|", $line, $data)) { + if (trim($data[3]) != "ERR") { + // get the info we need + $results[$i]['label'] = $data[1]; + if (is_numeric($data[3])) { + $results[$i]['value'] = $data[3]; + } else { + $results[$i]['value'] = 0; + } + //extra processing because of a bug in some versions of hddtemp + $results[$i]['model'] = trim(str_replace("\x10\x80", "", $data[2])); + $i++; + } + } + } + return $results; + } +} +?> Property changes on: includes/mb/class.hddtemp.inc.php ___________________________________________________________________ Added: svn:mime-type + text/x-php Added: svn:keywords + Id Added: svn:eol-style + LF Added: includes/mb/class.healthd.inc.php =================================================================== --- includes/mb/class.healthd.inc.php (rev 0) +++ includes/mb/class.healthd.inc.php 2008-12-08 11:47:13 UTC (rev 43) @@ -0,0 +1,103 @@ +<?php +/*************************************************************************** + * Copyright (C) 2008 by phpSysInfo - A PHP System Information Script * + * http://phpsysinfo.sourceforge.net/ * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ +// +// $Id$ +// +class mbinfo { + private $lines; + public function temperature() { + $ar_buf = array (); + $results = array (); + if (!isset ($this->lines)) { + execute_program('healthdc', '-t', $this->lines); + } + $ar_buf = preg_split("/\t+/", $this->lines); + $results[0]['label'] = 'temp1'; + $results[0]['value'] = $ar_buf[1]; + $results[0]['limit'] = '70.0'; + $results[0]['percent'] = $results[0]['value'] * 100 / $results[0]['limit']; + $results[1]['label'] = 'temp2'; + $results[1]['value'] = $ar_buf[2]; + $results[1]['limit'] = '70.0'; + $results[1]['percent'] = $results[1]['value'] * 100 / $results[1]['limit']; + $results[2]['label'] = 'temp3'; + $results[2]['value'] = $ar_buf[3]; + $results[2]['limit'] = '70.0'; + $results[2]['percent'] = $results[2]['value'] * 100 / $results[2]['limit']; + return $results; + } + public function fans() { + $ar_buf = array (); + $results = array (); + if (!isset ($this->lines)) { + execute_program('healthdc', '-t', $this->lines); + } + $ar_buf = preg_split("/\t+/", $this->lines); + $results[0]['label'] = 'fan1'; + $results[0]['value'] = $ar_buf[4]; + $results[0]['min'] = '3000'; + $results[1]['label'] = 'fan2'; + $results[1]['value'] = $ar_buf[5]; + $results[1]['min'] = '3000'; + $results[2]['label'] = 'fan3'; + $results[2]['value'] = $ar_buf[6]; + $results[2]['min'] = '3000'; + return $results; + } + public function voltage() { + $ar_buf = array (); + $results = array (); + if (!isset ($this->lines)) { + execute_program('healthdc', '-t', $this->lines); + } + $ar_buf = preg_split("/\t+/", $this->lines); + $results[0]['label'] = 'Vcore1'; + $results[0]['value'] = $ar_buf[7]; + $results[0]['min'] = '0.00'; + $results[0]['max'] = '0.00'; + $results[1]['label'] = 'Vcore2'; + $results[1]['value'] = $ar_buf[8]; + $results[1]['min'] = '0.00'; + $results[1]['max'] = '0.00'; + $results[2]['label'] = '3volt'; + $results[2]['value'] = $ar_buf[9]; + $results[2]['min'] = '0.00'; + $results[2]['max'] = '0.00'; + $results[3]['label'] = '+5Volt'; + $results[3]['value'] = $ar_buf[10]; + $results[3]['min'] = '0.00'; + $results[3]['max'] = '0.00'; + $results[4]['label'] = '+12Volt'; + $results[4]['value'] = $ar_buf[11]; + $results[4]['min'] = '0.00'; + $results[4]['max'] = '0.00'; + $results[5]['label'] = '-12Volt'; + $results[5]['value'] = $ar_buf[12]; + $results[5]['min'] = '0.00'; + $results[5]['max'] = '0.00'; + $results[6]['label'] = '-5Volt'; + $results[6]['value'] = $ar_buf[13]; + $results[6]['min'] = '0.00'; + $results[6]['max'] = '0.00'; + return $results; + } +} +?> Property changes on: includes/mb/class.healthd.inc.php ___________________________________________________________________ Added: svn:mime-type + text/x-php Added: svn:keywords + Id Added: svn:eol-style + LF Added: includes/mb/class.hwsensors.inc.php =================================================================== --- includes/mb/class.hwsensors.inc.php (rev 0) +++ includes/mb/class.hwsensors.inc.php 2008-12-08 11:47:13 UTC (rev 43) @@ -0,0 +1,80 @@ +<?php +/*************************************************************************** + * Copyright (C) 2008 by phpSysInfo - A PHP System Information Script * + * http://phpsysinfo.sourceforge.net/ * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ +// +// $Id$ +// +class mbinfo { + private $lines; + function __construct() { + if (execute_program('sysctl', '-w hw.sensors', $this->lines)) { + $this->lines = explode("\n", $this->lines); + } else { + $this->lines = array (); + } + } + public function temperature() { + $ar_buf = array (); + $results = array (); + $j = 0; + foreach ($this->lines as $line) { + $ar_buf = preg_split("/[\s,]+/", $line); + if (isset ($ar_buf[3]) && $ar_buf[2] == 'temp') { + $results[$j]['label'] = $ar_buf[1]; + $results[$j]['value'] = $ar_buf[3]; + $results[$j]['limit'] = '70.0'; + $results[$j]['percent'] = $results[$j]['value'] * 100 / $results[$j]['limit']; + $j++; + } + } + return $results; + } + public function fans() { + $ar_buf = array (); + $results = array (); + $j = 0; + foreach ($this->lines as $line) { + $ar_buf = preg_split("/[\s,]+/", $line); + if (isset ($ar_buf[3]) && $ar_buf[2] == 'fanrpm') { + $results[$j]['label'] = $ar_buf[1]; + $results[$j]['value'] = $ar_buf[3]; + $j++; + } + } + return $results; + } + public function voltage() { + $ar_buf = array (); + $results = array (); + $j = 0; + foreach ($this->lines as $line) { + $ar_buf = preg_split("/[\s,]+/", $line); + if (isset ($ar_buf[3]) && $ar_buf[2] == 'volts_dc') { + $results[$j]['label'] = $ar_buf[1]; + $results[$j]['value'] = $ar_buf[3]; + $results[$j]['min'] = '0.00'; + $results[$j]['max'] = '0.00'; + $j++; + } + } + return $results; + } +} +?> Property changes on: includes/mb/class.hwsensors.inc.php ___________________________________________________________________ Added: svn:mime-type + text/x-php Added: svn:keywords + Id Added: svn:eol-style + LF Added: includes/mb/class.ipmi.inc.php =================================================================== --- includes/mb/class.ipmi.inc.php (rev 0) +++ includes/mb/class.ipmi.inc.php 2008-12-08 11:47:13 UTC (rev 43) @@ -0,0 +1,77 @@ +<?php +/*************************************************************************** + * Copyright (C) 2008 by phpSysInfo - A PHP System Information Script * + * http://phpsysinfo.sourceforge.net/ * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ +// +// $Id$ +// +class mbinfo implements psi_sensor_interface { + private $lines = array (); + private $error; + public function __construct() { + $this->error = Error :: Singleton(); + switch (strtolower(PSI_SENSOR_ACCESS)) { + case 'tcp' : + $this->error->addError('__construct', 'Tcp not implemented for ipmi!!!'); + break; + case 'file' : + $lines = ""; + execute_program('ipmitool', 'sensor', $lines); + $this->lines = explode("\n", $lines); + break; + default : + $this->error->addError('__construct()', 'Wrong value set in config.php for PSI_SENSOR_ACCESS!!!'); + break; + } + } + public function temperature() { + $result = array (); + $i = 0; + foreach ($this->lines as $line) { + $buffer = preg_split("/[ ]+\|[ ]+/", $line); + if ($buffer[2] == "degrees C" && $buffer[5] != "na") { + $result[$i]['label'] = $buffer[0]; + $result[$i]['value'] = $buffer[1]; + $result[$i]['limit'] = $buffer[8]; + $i++; + } + } + return $result; + } + public function fans() { + $result = array (); + return $result; + } + public function voltage() { + $result = array (); + $i = 0; + foreach ($this->lines as $line) { + $buffer = preg_split("/[ ]+\|[ ]+/", $line); + if ($buffer[2] == "Volts" && $buffer[5] != "na") { + $result[$i]['label'] = $buffer[0]; + $result[$i]['value'] = $buffer[1]; + $result[$i]['min'] = $buffer[5]; + $result[$i]['max'] = $buffer[8]; + $i++; + } + } + return $result; + } +} +?> Property changes on: includes/mb/class.ipmi.inc.php ___________________________________________________________________ Added: svn:mime-type + text/x-php Added: svn:keywords + Id Added: svn:eol-style + LF Added: includes/mb/class.lmsensors.inc.php =================================================================== --- includes/mb/class.lmsensors.inc.php (rev 0) +++ includes/mb/class.lmsensors.inc.php 2008-12-08 11:47:13 UTC (rev 43) @@ -0,0 +1,173 @@ +<?php +/*************************************************************************** + * Copyright (C) 2008 by phpSysInfo - A PHP System Information Script * + * http://phpsysinfo.sourceforge.net/ * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ +// +// $Id$ +// +class mbinfo { + private $lines; + function __construct() { + $lines = ""; + if (execute_program("sensors", "", $lines)) { + // Martijn Stolk: Dirty fix for misinterpreted output of sensors, + // where info could come on next line when the label is too long. + $lines = str_replace(":\n", ":", $lines); + $lines = str_replace("\n\n", "\n", $lines); + $this->lines = explode("\n", $lines); + } else { + $this->lines = array (); + } + } + public function temperature() { + $ar_buf = array (); + $results = array (); + $sensors_value = $this->lines; + foreach ($sensors_value as $line) { + $data = array (); + if (ereg("(.*):(.*)\((.*)=(.*),(.*)=(.*)\)(.*)", $line, $data)); + elseif (ereg("(.*):(.*)\((.*)=(.*)\)(.*)", $line, $data)); + else + (ereg("(.*):(.*)", $line, $data)); + if (count($data) > 1) { + $temp = substr(trim($data[2]), -1); + switch ($temp) { + case "C" : + case "F" : + array_push($ar_buf, $line); + } + } + } + $i = 0; + foreach ($ar_buf as $line) { + unset ($data); + if (ereg("(.*):(.*).C[ ]*\((.*)=(.*).C,(.*)=(.*).C\)(.*)\)", $line, $data)); + elseif (ereg("(.*):(.*).C[ ]*\((.*)=(.*).C,(.*)=(.*).C\)(.*)", $line, $data)); + elseif (ereg("(.*):(.*).C[ ]*\((.*)=(.*).C\)(.*)", $line, $data)); + else + (ereg("(.*):(.*).C", $line, $data)); + foreach ($data as $key => $value) { + if (preg_match("/^\+?([0-9\.]+).?$/", trim($value), $newvalue)) { + $data[$key] = trim($newvalue[1]); + } else { + $data[$key] = trim($value); + } + } + $results[$i]['label'] = $data[1]; + $results[$i]['value'] = $data[2]; + if (isset ($data[6]) && $data[2] > $data[6]) { + $results[$i]['limit'] = "75"; + $results[$i]['perce'] = "75"; + } else { + $results[$i]['limit'] = isset ($data[4]) ? $data[4] : "75"; + $results[$i]['perce'] = isset ($data[6]) ? $data[6] : "75"; + } + if ($results[$i]['limit'] < $results[$i]['perce']) { + $results[$i]['limit'] = $results[$i]['perce']; + } + $i++; + } + asort($results); + return array_values($results); + } + public function fans() { + $ar_buf = array (); + $results = array (); + $sensors_value = $this->lines; + foreach ($sensors_value as $line) { + $data = array (); + if (ereg("(.*):(.*)\((.*)=(.*),(.*)=(.*)\)(.*)", $line, $data)); + elseif (ereg("(.*):(.*)\((.*)=(.*)\)(.*)", $line, $data)); + else + ereg("(.*):(.*)", $line, $data); + if (count($data) > 1) { + $temp = explode(" ", trim($data[2])); + if (count($temp) == 1) + $temp = explode("\xb0", trim($data[2])); + if (isset ($temp[1])) { + switch ($temp[1]) { + case "RPM" : + array_push($ar_buf, $line); + } + } + } + } + $i = 0; + foreach ($ar_buf as $line) { + unset ($data); + if (ereg("(.*):(.*) RPM \((.*)=(.*) RPM,(.*)=(.*)\)(.*)\)", $line, $data)); + elseif (ereg("(.*):(.*) RPM \((.*)=(.*) RPM,(.*)=(.*)\)(.*)", $line, $data)); + elseif (ereg("(.*):(.*) RPM \((.*)=(.*) RPM\)(.*)", $line, $data)); + else + ereg("(.*):(.*) RPM", $line, $data); + $results[$i]['label'] = trim($data[1]); + $results[$i]['value'] = trim($data[2]); + $results[$i]['min'] = isset ($data[4]) ? trim($data[4]) : 0; + $i++; + } + asort($results); + return array_values($results); + } + public function voltage() { + $ar_buf = array (); + $results = array (); + $sensors_value = $this->lines; + foreach ($sensors_value as $line) { + $data = array (); + if (ereg("(.*):(.*)\((.*)=(.*),(.*)=(.*)\)(.*)", $line, $data)); + else + ereg("(.*):(.*)", $line, $data); + if (count($data) > 1) { + $temp = explode(" ", trim($data[2])); + if (count($temp) == 1) + $temp = explode("\xb0", trim($data[2])); + if (isset ($temp[1])) { + switch ($temp[1]) { + case "V" : + array_push($ar_buf, $line); + } + } + } + } + $i = 0; + foreach ($ar_buf as $line) { + unset ($data); + if (ereg("(.*):(.*) V \((.*)=(.*) V,(.*)=(.*) V\)(.*)\)", $line, $data)); + elseif (ereg("(.*):(.*) V \((.*)=(.*) V,(.*)=(.*) V\)(.*)", $line, $data)); + else + ereg("(.*):(.*) V$", $line, $data); + foreach ($data as $key => $value) { + if (preg_match("/^\+?([0-9\.]+)$/", trim($value), $newvalue)) { + $data[$key] = trim($newvalue[1]); + } else { + $data[$key] = trim($value); + } + } + if (isset ($data[1])) { + $results[$i]['label'] = $data[1]; + $results[$i]['value'] = $data[2]; + $results[$i]['min'] = isset ($data[4]) ? $data[4] : 0; + $results[$i]['max'] = isset ($data[6]) ? $data[6] : 0; + $i++; + } + } + return $results; + } +} +?> Property changes on: includes/mb/class.lmsensors.inc.php ___________________________________________________________________ Added: svn:mime-type + text/x-php Added: svn:keywords + Id Added: svn:eol-style + LF Added: includes/mb/class.mbm5.inc.php =================================================================== --- includes/mb/class.mbm5.inc.php (rev 0) +++ includes/mb/class.mbm5.inc.php 2008-12-08 11:47:13 UTC (rev 43) @@ -0,0 +1,86 @@ +<?php +/*************************************************************************** + * Copyright (C) 2008 by phpSysInfo - A PHP System Information Script * + * http://phpsysinfo.sourceforge.net/ * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ +// +// $Id$ +// +class mbinfo { + private $buf_label; + private $buf_value; + function __construct() { + $buffer = ""; + rfts(APP_ROOT . "/data/MBM5.csv", $buffer); + if (strpos($buffer, ";") === false) { + $delim = ","; + } else { + $delim = ";"; + } + $buffer = split("\n", $buffer); + $this->buf_label = split($delim, substr($buffer[0], 0, -2)); + $this->buf_value = split($delim, substr($buffer[1], 0, -2)); + } + public function temperature() { + $results = array (); + $intCount = 0; + for ($intPosi = 3; $intPosi < 6; $intPosi++) { + if ($this->buf_value[$intPosi] == 0) { + continue; + } + $results[$intCount]['label'] = $this->buf_label[$intPosi]; + preg_match("/([0-9\.])*/", str_replace(",", ".", $this->buf_value[$intPosi]), $hits); + $results[$intCount]['value'] = $hits[0]; + $results[$intCount]['limit'] = '70.0'; + $intCount++; + } + return $results; + } + public function fans() { + $results = array (); + $intCount = 0; + for ($intPosi = 13; $intPosi < 16; $intPosi++) { + if (!isset ($this->buf_value[$intPosi])) { + continue; + } + $results[$intCount]['label'] = $this->buf_label[$intPosi]; + preg_match("/([0-9\.])*/", str_replace(",", ".", $this->buf_value[$intPosi]), $hits); + $results[$intCount]['value'] = $hits[0]; + $results[$intCount]['min'] = '3000'; + $intCount++; + } + return $results; + } + public function voltage() { + $results = array (); + $intCount = 0; + for ($intPosi = 6; $intPosi < 13; $intPosi++) { + if ($this->buf_value[$intPosi] == 0) { + continue; + } + $results[$intCount]['label'] = $this->buf_label[$intPosi]; + preg_match("/([0-9\.])*/", str_replace(",", ".", $this->buf_value[$intPosi]), $hits); + $results[$intCount]['value'] = $hits[0]; + $results[$intCount]['min'] = '0.00'; + $results[$intCount]['max'] = '0.00'; + $intCount++; + } + return $results; + } +} +?> Property changes on: includes/mb/class.mbm5.inc.php ___________________________________________________________________ Added: svn:mime-type + text/x-php Added: svn:keywords + Id Added: svn:eol-style + LF Added: includes/mb/class.mbmon.inc.php =================================================================== --- includes/mb/class.mbmon.inc.php (rev 0) +++ includes/mb/class.mbmon.inc.php 2008-12-08 11:47:13 UTC (rev 43) @@ -0,0 +1,103 @@ +<?php +/*************************************************************************** + * Copyright (C) 2008 by phpSysInfo - A PHP System Information Script * + * http://phpsysinfo.sourceforge.net/ * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ +// +// $Id$ +// +class mbinfo implements psi_sensor_interface { + private $lines = array (); + public function __construct() { + $this->error = Error :: Singleton(); + switch (strtolower(PSI_SENSOR_ACCESS)) { + case 'tcp' : + $fp = fsockopen("localhost", 411, $errno, $errstr, 5); + if ($fp) { + $lines = ""; + while (!feof($fp)) { + $lines .= fread($fp, 1024); + } + $this->lines = explode("\n", $lines); + } else { + $this->error->addError("fsockopen()", $errno . " " . $errstr); + } + break; + case 'file' : + execute_program('mbmon', '-c 1 -r', $lines); + $this->lines = explode("\n", $lines); + break; + default : + $this->error->addError('__construct()', 'Wrong value set in config.php for PSI_SENSOR_ACCESS!!!'); + break; + } + } + public function temperature() { + $results = array (); + $i = 0; + foreach ($this->lines as $line) { + if (preg_match('/^(TEMP\d*)\s*:\s*(.*)$/D', $line, $data)) { + if ($data[2] <> '0') { + $results[$i]['label'] = $data[1]; + $results[$i]['limit'] = '70.0'; + if ($data[2] > 250) { + $results[$i]['value'] = 0; + $results[$i]['percent'] = 0; + } else { + $results[$i]['value'] = $data[2]; + $results[$i]['percent'] = $results[$i]['value'] * 100 / $results[$i]['limit']; + } + $i++; + } + } + } + return $results; + } + public function fans() { + $results = array (); + $i = 0; + foreach ($this->lines as $line) { + if (preg_match('/^(FAN\d*)\s*:\s*(.*)$/D', $line, $data)) { + if ($data[2] <> '0') { + $results[$i]['label'] = $data[1]; + $results[$i]['value'] = $data[2]; + $results[$i]['min'] = '3000'; + $i++; + } + } + } + return $results; + } + public function voltage() { + $results = array (); + $i = 0; + foreach ($this->lines as $line) { + if (preg_match('/^(V.*)\s*:\s*(.*)$/D', $line, $data)) { + if ($data[2] <> '+0.00') { + $results[$i]['label'] = $data[1]; + $results[$i]['value'] = $data[2]; + $results[$i]['min'] = '0.00'; + $results[$i]['max'] = '0.00'; + $i++; + } + } + } + return $results; + } +} +?> Property changes on: includes/mb/class.mbmon.inc.php ___________________________________________________________________ Added: svn:mime-type + text/x-php Added: svn:keywords + Id Added: svn:eol-style + LF This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Big...@us...> - 2008-12-08 11:09:09
|
Revision: 42 http://phpsysinfo.svn.sourceforge.net/phpsysinfo/?rev=42&view=rev Author: BigMichi1 Date: 2008-12-08 11:09:07 +0000 (Mon, 08 Dec 2008) Log Message: ----------- import cvs Added Paths: ----------- includes/class.Error.inc.php includes/class.psi_plugin.inc.php includes/common_functions.php includes/interfaces/ includes/interfaces/class.psi_os_interface.inc.php includes/interfaces/class.psi_plugin_interface.inc.php includes/interfaces/class.psi_sensor_interface.inc.php includes/redir.php includes/ups/ includes/ups/class.apcupsd.inc.php includes/xml.class.php Added: includes/class.Error.inc.php =================================================================== --- includes/class.Error.inc.php (rev 0) +++ includes/class.Error.inc.php 2008-12-08 11:09:07 UTC (rev 42) @@ -0,0 +1,264 @@ +<?php +/*************************************************************************** + * Copyright (C) 2008 by phpSysInfo - A PHP System Information Script * + * http://phpsysinfo.sourceforge.net/ * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ +// +// $Id$ +// +class Error { + /** + * holds the instance of this class + * + * @access private + * @static + * @var object + */ + private static $instance; + /** + * holds the error messages + * + * @access private + * @var array + */ + private $arrErrorList; + /** + * current number ob errors + * + * @access private + * @var integer + */ + private $errors; + /** + * initalize some used vars + * + * @access private + */ + private function __construct() { + $this->errors = 0; + $this->arrErrorList = array (); + } + /** + * Singleton function + * + * @access public + * @return object instance of the class + */ + public static function singleton() { + if (!isset (self :: $instance)) { + $c = __CLASS__; + self :: $instance = new $c; + } + return self :: $instance; + } + /** + * triggers an error when somebody tries to clone the object + * + * @access public + */ + public function __clone() { + trigger_error("Can't be cloned", E_USER_ERROR); + } + /** + * adds an error to the internal list + * + * @access public + * @param string Command, which cause the Error + * @param string additional Message, to describe the Error + * + */ + public function addError($strCommand, $strMessage) { + $index = count($this->arrErrorList) + 1; + $this->arrErrorList[$index]['command'] = $strCommand; + $this->arrErrorList[$index]['message'] = $this->trace($strMessage); + $this->errors++; + } + /** + * adds a waraning to the internal list + * + * @access public + * @param string Warning message to display + * + */ + public function addWarning($strMessage) { + $index = count($this->arrErrorList) + 1; + $this->arrErrorList[$index]['command'] = "WARN"; + $this->arrErrorList[$index]['message'] = $strMessage; + } + /** + * converts the internal error and warning list in a html table + * + * @access public + * @return string contains a HTML table which can be used to echo out the errors + * + */ + public function ErrorsAsHTML() { + $strHTMLString = ""; + $strWARNString = ""; + $strHTMLhead = "<table width=\"100%\" border=\"0\">\n" . "\t<tr>\n" . "\t\t<td><font size=\"-1\"><b>Command</b></font></td>\n" . "\t\t<td><font size=\"-1\"><b>Message</b></font></td>\n" . "\t</tr>\n"; + $strHTMLfoot = "</table>\n"; + if ($this->errors > 0) { + foreach ($this->arrErrorList as $arrLine) { + if ($arrLine['command'] == "WARN") { + $strWARNString .= "<font size=\"-1\"><b>WARNING: " . str_replace("\n", "<br/>", htmlspecialchars($arrLine['message'])) . "</b></font><br/>\n"; + } else { + $strHTMLString .= "\t<tr>\n" . "\t\t<td><font size=\"-1\">" . htmlspecialchars($arrLine['command']) . "</font></td>\n" . "\t\t<td><font size=\"-1\">" . str_replace("\n", "<br/>", $arrLine['message']) . "</font></td>\n" . "\t</tr>\n"; + } + } + } + if (!empty ($strHTMLString)) { + $strHTMLString = $strWARNString . $strHTMLhead . $strHTMLString . $strHTMLfoot; + } else { + $strHTMLString = $strWARNString; + } + return $strHTMLString; + } + /** + * converts the internal error and warning list to a XML file + * + * @access public + * @return XML data containing the errors + * + */ + public function ErrorsAsXML() { + $xml = simplexml_load_string("<?xml version='1.0'?>\n<phpsysinfo></phpsysinfo>"); + $generation = $xml->addChild('Generation'); + $generation->addAttribute('version', PSI_VERSION); + $generation->addAttribute('timestamp', time()); + if ($this->errors > 0) { + foreach ($this->arrErrorList as $arrLine) { + $error = $xml->addChild('Error'); + $error->addChild('Function', $arrLine['command']); + $error->addChild('Message', $arrLine['message']); + } + } + return $xml->asXML(); + } + /** + * add the errors to an existing xml document + * + * @access public + * @param SimpleXMLObject reference existing simplexmlobject to which errors are added if present + * + */ + public function ErrorsAddToXML(& $xml) { + if ($this->errors > 0) { + $xmlerr = $xml->addChild('Errors'); + foreach ($this->arrErrorList as $arrLine) { + $error = $xmlerr->addChild('Error'); + $error->addChild('Function', utf8_encode(trim(htmlspecialchars($arrLine['command'])))); + $error->addChild('Message', utf8_encode(trim(htmlspecialchars($arrLine['message'])))); + } + } + } + /** + * check if errors exists + * + * @access public + * @return boolean true if are errors logged, false if not + * + */ + public function ErrorsExist() { + if ($this->errors > 0) { + return true; + } else { + return false; + } + } + /** + * generate a function backtrace for error diagnostic, function is genearally based on code submitted in the php reference page + * + * @param string additional message to display + * @return string formatted string of the backtrace + */ + private function trace($strMessage) { + $arrTrace = array_reverse(debug_backtrace()); + $strFunc = ''; + $strBacktrace = htmlspecialchars($strMessage) . "\n\n"; + foreach ($arrTrace as $val) { + // avoid the last line, which says the error is from the error class + if ($val == $arrTrace[count($arrTrace) - 1]) { + break; + } + $strBacktrace .= str_replace(APP_ROOT, ".", $val['file']) . ' on line ' . $val['line']; + if ($strFunc) { + $strBacktrace .= ' in function ' . $strFunc; + } + if ($val['function'] == 'include' || $val['function'] == 'require' || $val['function'] == 'include_once' || $val['function'] == 'require_once') { + $strFunc = ''; + } else { + $strFunc = $val['function'] . '('; + if (isset ($val['args'][0])) { + $strFunc .= ' '; + $strComma = ''; + foreach ($val['args'] as $val) { + $strFunc .= $strComma . $this->print_var($val); + $strComma = ', '; + } + $strFunc .= ' '; + } + $strFunc .= ')'; + } + $strBacktrace .= "\n"; + } + return $strBacktrace; + } + /** + * convert some special vars into better readable output + * + * @param mixed value, which should be formatted + * @return string formatted string + */ + private function print_var($var) { + if (is_string($var)) { + return ('"' . str_replace(array ( + "\x00", + "\x0a", + "\x0d", + "\x1a", + "\x09" + ), array ( + '\0', + '\n', + '\r', + '\Z', + '\t' + ), $var) . '"'); + } + elseif (is_bool($var)) { + if ($var) { + return ('true'); + } else { + return ('false'); + } + } + elseif (is_array($var)) { + $strResult = 'array( '; + $strComma = ''; + foreach ($var as $key => $val) { + $strResult .= $strComma . $this->print_var($key) . ' => ' . $this->print_var($val); + $strComma = ', '; + } + $strResult .= ' )'; + return ($strResult); + } + // anything else, just let php try to print it + return (var_export($var, true)); + } +} +?> Property changes on: includes/class.Error.inc.php ___________________________________________________________________ Added: svn:mime-type + text/x-php Added: svn:keywords + Id Added: svn:eol-style + LF Added: includes/class.psi_plugin.inc.php =================================================================== --- includes/class.psi_plugin.inc.php (rev 0) +++ includes/class.psi_plugin.inc.php 2008-12-08 11:09:07 UTC (rev 42) @@ -0,0 +1,58 @@ +<?php +/*************************************************************************** + * Copyright (C) 2008 by phpSysInfo - A PHP System Information Script * + * http://phpsysinfo.sourceforge.net/ * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ +// +// $Id$ +// +abstract class psi_plugin implements psi_plugin_interface { + private $plugin_name = ""; + private $plugin_base = ""; + protected $plugin_config = array (); + protected $global_error = ""; + + public function __construct($plugin_name = "") { + if (trim($plugin_name) != "") { + $this->global_error = Error :: Singleton(); + $this->plugin_name = $plugin_name; + $this->plugin_base = "./plugins/" . $this->plugin_name . "/"; + $this->checkfiles(); + $this->getconfig(); + } else { + $this->global_error->addError("__construct()", "Parent constructor called without Plugin-Name!"); + } + } + + private function getconfig() { + $filename = $this->plugin_base . $this->plugin_name . ".ini"; + if (file_exists($filename)) { + $this->plugin_config = parse_ini_file($filename, true); + } + } + + private function checkfiles() { + if (!file_exists($this->plugin_base . "js/" . $this->plugin_name . ".js")) { + $this->global_error->addError("file_exists(" . $this->plugin_base . "js/" . $this->plugin_name . ".js)", "JS-File for Plugin '" . $this->plugin_name . "' is missing!"); + } + if (!file_exists($this->plugin_base . "lang/en.xml")) { + $this->global_error->addError("file_exists(" . $this->plugin_base . "lang/en.xml)", "At least an english translation must exist for the plugin!"); + } + } +} +?> Property changes on: includes/class.psi_plugin.inc.php ___________________________________________________________________ Added: svn:mime-type + text/x-php Added: svn:keywords + Id Added: svn:eol-style + LF Added: includes/common_functions.php =================================================================== --- includes/common_functions.php (rev 0) +++ includes/common_functions.php 2008-12-08 11:09:07 UTC (rev 42) @@ -0,0 +1,254 @@ +<?php +/*************************************************************************** + * Copyright (C) 2008 by phpSysInfo - A PHP System Information Script * + * http://phpsysinfo.sourceforge.net/ * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ +// +// $Id$ +// +// Version number +define('PSI_VERSION', '3.0-rc6'); + +// usefull during development +// error_reporting(E_ALL|E_NOTICE|E_STRICT); +// Find a system program. Do path checking +function find_program($strProgram) { + global $addpaths; + $arrPath = array ( + '/bin', + '/sbin', + '/usr/bin', + '/usr/sbin', + '/usr/local/bin', + '/usr/local/sbin' + ); + if (PSI_ADD_PATHS !== false) { + $addpaths = explode(',', PSI_ADD_PATHS); + $arrPath = array_merge($arrPath, $addpaths); + } + if (function_exists("is_executable")) { + foreach ($arrPath as $strPath) { + $strProgrammpath = $strPath . "/" . $strProgram; + if (is_executable($strProgrammpath)) { + return $strProgrammpath; + } + } + } else { + return strpos($strProgram, '.exe'); + } +} + +// Execute a system program. return a trim()'d result. +// does very crude pipe checking. you need ' | ' for it to work +// ie $program = execute_program('netstat', '-anp | grep LIST'); +// NOT $program = execute_program('netstat', '-anp|grep LIST'); +function execute_program($strProgramname, $strArgs = '', & $strBuffer, $booErrorRep = true) { + $error = Error :: singleton(); + $strBuffer = ''; + $strError = ''; + $pipes = array(); + $strProgram = find_program($strProgramname); + if (!$strProgram) { + if ($booErrorRep) { + $error->addError('find_program(' . $strProgramname . ')', 'program not found on the machine'); + } + return false; + } + // see if we've gotten a |, if we have we need to do patch checking on the cmd + if ($strArgs) { + $arrArgs = split(' ', $strArgs); + for ($i = 0; $i < count($arrArgs); $i++) { + if ($arrArgs[$i] == '|') { + $strCmd = $arrArgs[$i +1]; + $strNewcmd = find_program($strCmd); + $strArgs = ereg_replace("\| " . $strCmd, "| " . $strNewcmd, $strArgs); + } + } + } + // no proc_open() below php 4.3 + $descriptorspec = array ( + 0 => array ( + "pipe", + "r" + ), // stdin is a pipe that the child will read from + 1 => array ( + "pipe", + "w" + ), // stdout is a pipe that the child will write to + 2 => array ( + "pipe", + "w" + ) // stderr is a pipe that the child will write to + + ); + $process = proc_open($strProgram . " " . $strArgs, $descriptorspec, $pipes); + if (is_resource($process)) { + while (!feof($pipes[1])) { + $strBuffer .= fgets($pipes[1], 1024); + } + fclose($pipes[1]); + while (!feof($pipes[2])) { + $strError .= fgets($pipes[2], 1024); + } + fclose($pipes[2]); + } + $return_value = proc_close($process); + $strError = trim($strError); + $strBuffer = trim($strBuffer); + if (!empty ($strError) && $return_value <> 0) { + if ($booErrorRep) { + $error->addError($strProgram, $strError . "\nReturn value: " . $return_value); + } + return false; + } + if (!empty ($strError)) { + if ($booErrorRep) { + $error->addError($strProgram, $strError . "\nReturn value: " . $return_value); + } + return true; + } + return true; +} + +// find duplicate entrys and count them, show this value befor the duplicated name +function finddups($arrInput) { + $arrResult = array (); + if (is_array($arrInput)) { + $arrBuffer = array_count_values($arrInput); + foreach ($arrBuffer as $strKey => $intValue) { + if ($intValue > 1) { + $arrResult[] = "(" . $intValue . "x) " . $strKey; + } else { + $arrResult[] = $strKey; + } + } + } + return $arrResult; +} + +function rfts($strFileName, & $strRet, $intLines = 0, $intBytes = 4096, $booErrorRep = true) { + $error = Error :: singleton(); + $strFile = ""; + $intCurLine = 1; + if (file_exists($strFileName)) { + if ($fd = fopen($strFileName, 'r')) { + while (!feof($fd)) { + $strFile .= fgets($fd, $intBytes); + if ($intLines <= $intCurLine && $intLines != 0) { + break; + } else { + $intCurLine++; + } + } + fclose($fd); + $strRet = $strFile; + } else { + if ($booErrorRep) { + $error->addError('fopen(' . $strFileName . ')', 'file can not read by phpsysinfo'); + } + return false; + } + } else { + if ($booErrorRep) { + $error->addError('file_exists(' . $strFileName . ')', 'the file does not exist on your machine'); + } + return false; + } + return true; +} + +function gdc($strPath, $booErrorRep = true) { + $error = Error :: singleton(); + $arrDirectoryContent = array (); + if (is_dir($strPath)) { + if ($handle = opendir($strPath)) { + while (($strFile = readdir($handle)) !== false) { + if ($strFile != "." && $strFile != ".." && $strFile != "CVS") { + $arrDirectoryContent[] = $strFile; + } + } + closedir($handle); + } else { + if ($booErrorRep) { + $error->addError('opendir(' . $strPath . ')', 'directory can not be read by phpsysinfo'); + } + } + } else { + if ($booErrorRep) { + $error->addError('is_dir(' . $strPath . ')', 'directory does not exist on your machine'); + } + } + return $arrDirectoryContent; +} + +function __autoload($class_name) { + $dirs = array ( + '/plugins/' . $class_name . '/', + '/includes/', + '/includes/interfaces/', + '/includes/os/' + ); + foreach ($dirs as $dir) { + if (file_exists(APP_ROOT . $dir . 'class.' . $class_name . '.inc.php')) { + require_once (APP_ROOT . $dir . 'class.' . $class_name . '.inc.php'); + return; + } + } +} + +/** + * Check for the SimpleXML fuction. + * + * We need that extension for almost everything, + * even our error class needs this to output the errors. + * Because of that this function willreturn a hard coded + * XML string (with headers) if the SimpleXML extension isn't loaded. + * Then it will terminate the script. + * See bug #1787137 + * + * @access public + * + */ +function checkForExtensions() { + $extensions = array ( + 'simplexml', + 'pcre', + 'xml', + 'xsl' + ); + $text = ""; + $error = false; + $text .= "<?xml version='1.0'?>\n"; + $text .= "<phpsysinfo>\n"; + $text .= " <Error>\n"; + foreach ($extensions as $extension) { + if (!extension_loaded($extension)) { + $text .= " <Function>checkForExtensions</Function>\n"; + $text .= " <Message>phpSysInfo requires the " . $extension . " extension to php in order to work properly.</Message>\n"; + $error = true; + } + } + $text .= " </Error>\n"; + $text .= "</phpsysinfo>"; + if ($error) { + header("Content-Type: text/xml\n\n"); + echo $text; + die(); + } +} +?> Property changes on: includes/common_functions.php ___________________________________________________________________ Added: svn:mime-type + text/x-php Added: svn:keywords + Id Added: svn:eol-style + LF Added: includes/interfaces/class.psi_os_interface.inc.php =================================================================== --- includes/interfaces/class.psi_os_interface.inc.php (rev 0) +++ includes/interfaces/class.psi_os_interface.inc.php 2008-12-08 11:09:07 UTC (rev 42) @@ -0,0 +1,44 @@ +<?php +/*************************************************************************** + * Copyright (C) 2008 by phpSysInfo - A PHP System Information Script * + * http://phpsysinfo.sourceforge.net/ * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ +// +// $Id$ +// +interface psi_os_interface { + public function vhostname(); + public function vip_addr(); + public function chostname(); + public function ip_addr(); + public function kernel(); + public function uptime(); + public function users(); + public function loadavg($bar = false); + public function cpu_info(); + public function pci(); + public function ide(); + public function scsi(); + public function usb(); + public function network(); + public function memory(); + public function filesystems(); + public function distro(); + public function distroicon(); +} +?> Property changes on: includes/interfaces/class.psi_os_interface.inc.php ___________________________________________________________________ Added: svn:mime-type + text/x-php Added: svn:keywords + Id Added: svn:eol-style + LF Added: includes/interfaces/class.psi_plugin_interface.inc.php =================================================================== --- includes/interfaces/class.psi_plugin_interface.inc.php (rev 0) +++ includes/interfaces/class.psi_plugin_interface.inc.php 2008-12-08 11:09:07 UTC (rev 42) @@ -0,0 +1,28 @@ +<?php +/*************************************************************************** + * Copyright (C) 2008 by phpSysInfo - A PHP System Information Script * + * http://phpsysinfo.sourceforge.net/ * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ +// +// $Id$ +// +interface psi_plugin_interface { + public function execute(); + public function xml(); +} +?> Property changes on: includes/interfaces/class.psi_plugin_interface.inc.php ___________________________________________________________________ Added: svn:mime-type + text/x-php Added: svn:keywords + Id Added: svn:eol-style + LF Added: includes/interfaces/class.psi_sensor_interface.inc.php =================================================================== --- includes/interfaces/class.psi_sensor_interface.inc.php (rev 0) +++ includes/interfaces/class.psi_sensor_interface.inc.php 2008-12-08 11:09:07 UTC (rev 42) @@ -0,0 +1,29 @@ +<?php +/*************************************************************************** + * Copyright (C) 2008 by phpSysInfo - A PHP System Information Script * + * http://phpsysinfo.sourceforge.net/ * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ +// +// $Id$ +// +interface psi_sensor_interface { + public function temperature(); + public function voltage(); + public function fans(); +} +?> Property changes on: includes/interfaces/class.psi_sensor_interface.inc.php ___________________________________________________________________ Added: svn:mime-type + text/x-php Added: svn:keywords + Id Added: svn:eol-style + LF Added: includes/redir.php =================================================================== --- includes/redir.php (rev 0) +++ includes/redir.php 2008-12-08 11:09:07 UTC (rev 42) @@ -0,0 +1,84 @@ +<?php +/*************************************************************************** + * Copyright (C) 2008 by phpSysInfo - A PHP System Information Script * + * http://phpsysinfo.sourceforge.net/ * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ +// +// $Id$ +// +$display = isset ($_GET['disp']) ? $_GET['disp'] : ""; +switch ($display) { + case "static" : + define('PSI_INTERNAL_XML', false); + require_once ("./xml.php"); + $xmlfile = $xml->getXML(); + $xslfile = "phpsysinfo.xslt"; + $xml = new DOMDocument(); + $xml->loadXML($xmlfile); + $xsl = new DOMDocument(); + $xsl->load($xslfile); + $proc = new XSLTProcessor; + $proc->importStyleSheet($xsl); + echo $proc->transformToXML($xml); + die(); + break; + case "dynamic" : + break; + default : + echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"; + echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n"; + echo "<html xmlns=\"http://www.w3.org/1999/xhtml\">\n"; + echo " <head>\n"; + echo " <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n"; + echo " <meta http-equiv=\"Content-Script-Type\" content=\"text/javascript\" />\n"; + echo " <meta http-equiv=\"Content-Style-Type\" content=\"text/css\" />\n"; + echo " <link type=\"text/css\" rel=\"stylesheet\" href=\"./templates/two.css\" />\n"; + echo " <title>Redirection</title>\n"; + echo " <noscript>\n"; + echo " <meta http-equiv=\"refresh\" content=\"2; URL=index.php?disp=static\" />\n"; + echo " </noscript>\n"; + echo " <script type=\"text/JavaScript\" language=\"JavaScript\">\n"; + echo " <!--\n"; + echo " var sTargetURL = \"index.php?disp=dynamic\";\n"; + echo " function doRedirect() {\n"; + echo " setTimeout( \"window.location.href = sTargetURL\", 2*1000 );\n"; + echo " }\n"; + echo " //-->\n"; + echo " </script>\n"; + echo " <script type=\"text/JavaScript\" language=\"JavaScript1.1\">\n"; + echo " <!--\n"; + echo " function doRedirect() {\n"; + echo " window.location.replace( sTargetURL );\n"; + echo " }\n"; + echo " doRedirect();\n"; + echo " //-->\n"; + echo " </script>\n"; + echo " </head>\n"; + echo " <body onload=\"doRedirect()\">\n"; + echo " <h1>REDIRECTING ... </h1>\n"; + echo " <div style=\"position:absolute;top:150px;text-align:center;width:95%;\">\n"; + echo " <p style=\"margin:12pt;\">Loading <a href=\"index.php?disp=static\">redirection target</a></p>\n"; + echo " <p style=\"margin:12pt;\">In approx. 2 seconds the redirection target page should load.<br/>\n"; + echo " If it doesn't please select the link above.</p>\n"; + echo " <p style=\"margin:12pt;\">Generated by <a href=\"http://phpsysinfo.sourceforge.net/\">phpSysInfo - " . PSI_VERSION . "</a></p>\n"; + echo " </div>\n"; + echo " </body>\n"; + echo "</html>\n"; + die(); +} +?> Property changes on: includes/redir.php ___________________________________________________________________ Added: svn:mime-type + text/x-php Added: svn:keywords + Id Added: svn:eol-style + LF Added: includes/ups/class.apcupsd.inc.php =================================================================== --- includes/ups/class.apcupsd.inc.php (rev 0) +++ includes/ups/class.apcupsd.inc.php 2008-12-08 11:09:07 UTC (rev 42) @@ -0,0 +1,120 @@ +<?php +/*************************************************************************** + * Copyright (C) 2008 by phpSysInfo - A PHP System Information Script * + * http://phpsysinfo.sourceforge.net/ * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ +// +// $Id$ +// +// This class was created by Artem Volk ( artvolk at mail dot ru ) +class upsinfo { + private $output = array(); + public function __construct() { + $upses = explode(',', PSI_UPSINFO_APCUPSD_UPS_LIST); + $temp = ''; + for ($i = 0; $i < count($upses); $i++) { + execute_program('apcaccess', 'status ' . trim($upses[$i]), $temp); + if (isset ($temp) && !empty ($temp)) { + $this->output[$i] = $temp; + } + } + } + public function info() { + if (isset ($this->output) && count($this->output) > 0) { + $results = Array (); + for ($i = 0; $i < count($this->output); $i++) { + // General info + if (preg_match('/^UPSNAME\s*:\s*(.*)$/m', $this->output[$i], $data)) { + $results[$i]['name'] = trim($data[1]); + } else { + $results[$i]['name'] = ''; + } + if (preg_match('/^MODEL\s*:\s*(.*)$/m', $this->output[$i], $data)) { + $results[$i]['model'] = trim($data[1]); + } else { + $results[$i]['model'] = ''; + } + if (preg_match('/^UPSMODE\s*:\s*(.*)$/m', $this->output[$i], $data)) { + $results[$i]['mode'] = trim($data[1]); + } else { + $results[$i]['mode'] = ''; + } + if (preg_match('/^STARTTIME\s*:\s*(.*)$/m', $this->output[$i], $data)) { + $results[$i]['start_time'] = trim($data[1]); + } else { + $results[$i]['start_time'] = ''; + } + if (preg_match('/^STATUS\s*:\s*(.*)$/m', $this->output[$i], $data)) { + $results[$i]['status'] = trim($data[1]); + } else { + $results[$i]['status'] = ''; + } + if (preg_match('/^ITEMP\s*:\s*(.*)$/m', $this->output[$i], $data)) { + $results[$i]['temperature'] = trim($data[1]); + } else { + $results[$i]['temperature'] = ''; + } + // Outages + if (preg_match('/^NUMXFERS\s*:\s*(.*)$/m', $this->output[$i], $data)) { + $results[$i]['outages_count'] = trim($data[1]); + } else { + $results[$i]['outages_count'] = ''; + } + if (preg_match('/^LASTXFER\s*:\s*(.*)$/m', $this->output[$i], $data)) { + $results[$i]['last_outage'] = trim($data[1]); + } else { + $results[$i]['last_outage'] = ''; + } + if (preg_match('/^XOFFBATT\s*:\s*(.*)$/m', $this->output[$i], $data)) { + $results[$i]['last_outage_finish'] = trim($data[1]); + } else { + $results[$i]['last_outage_finish'] = ''; + } + // Line + if (preg_match('/^LINEV\s*:\s*(\d*\.\d*)(.*)$/m', $this->output[$i], $data)) { + $results[$i]['line_voltage'] = trim($data[1]); + } else { + $results[$i]['line_voltage'] = ''; + } + if (preg_match('/^LOADPCT\s*:\s*(\d*\.\d*)(.*)$/m', $this->output[$i], $data)) { + $results[$i]['load_percent'] = trim($data[1]); + } else { + $results[$i]['load_percent'] = ''; + } + // Battery + if (preg_match('/^BATTV\s*:\s*(\d*\.\d*)(.*)$/m', $this->output[$i], $data)) { + $results[$i]['battery_voltage'] = trim($data[1]); + } else { + $results[$i]['battery_voltage'] = ''; + } + if (preg_match('/^BCHARGE\s*:\s*(\d*\.\d*)(.*)$/m', $this->output[$i], $data)) { + $results[$i]['battery_charge_percent'] = trim($data[1]); + } else { + $results[$i]['battery_charge_percent'] = ''; + } + if (preg_match('/^TIMELEFT\s*:\s*(\d*\.\d*)(.*)$/m', $this->output[$i], $data)) { + $results[$i]['time_left_minutes'] = trim($data[1]); + } else { + $results[$i]['time_left_minutes'] = ''; + } + } + return $results; + } + } +} +?> Property changes on: includes/ups/class.apcupsd.inc.php ___________________________________________________________________ Added: svn:mime-type + text/x-php Added: svn:keywords + Id Added: svn:eol-style + LF Added: includes/xml.class.php =================================================================== --- includes/xml.class.php (rev 0) +++ includes/xml.class.php 2008-12-08 11:09:07 UTC (rev 42) @@ -0,0 +1,362 @@ +<?php +/*************************************************************************** + * Copyright (C) 2008 by phpSysInfo - A PHP System Information Script * + * http://phpsysinfo.sourceforge.net/ * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * +***************************************************************************/ +// +// $Id$ +// +class xml { + private $sysinfo; + private $mbinfo; + private $hddtemp; + private $upsinfo; + private $xml; + private $errors; + private $plugins; + private $plugin_request = false; + private $complete_request = false; + public function __construct($pluginname = "", $complete = false) { + ($pluginname == "") ? $this->plugin_request = false : $this->plugin_request = true; + ($complete) ? $this->complete_request = true : $this->complete_request = false; + $this->errors = Error :: singleton(); + if (!$this->plugin_request || $this->complete_request) { + $this->sysinfo = new sysinfo(); + if (PSI_MBINFO) { + $this->mbinfo = new mbinfo; + } + if (PSI_HDDTEMP) { + $this->hddtemp = new hddtemp; + } + if (PSI_UPSINFO) { + $this->upsinfo = new upsinfo; + } + } + $this->xml = simplexml_load_string("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<phpsysinfo xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"phpsysinfo.xsd\"></phpsysinfo>"); + $generation = $this->xml->addChild('Generation'); + $generation->addAttribute('version', PSI_VERSION); + $generation->addAttribute('timestamp', time()); + $options = $this->xml->addChild('Options'); + $options->addChild('tempFormat', PSI_TEMP_FORMAT); + $options->addChild('byteFormat', PSI_BYTE_FORMAT); + $options->addChild('refresh', PSI_REFRESH ? PSI_REFRESH : 'false'); + $plug = $options->addChild('Used_Plugins'); + if ((!$this->plugin_request || $this->complete_request) && PSI_PLUGINS !== false) { + $this->plugins = explode(",", PSI_PLUGINS); + foreach ($this->plugins as $plugin) { + $plug->addChild('Plugin', $plugin); + } + } else { + $this->plugins = array ( + $pluginname + ); + } + } + private function buildVitals() { + $strLoadavg = ''; + $arrBuf = $this->sysinfo->loadavg(PSI_LOAD_BAR); + foreach ($arrBuf['avg'] as $strValue) { + $strLoadavg .= $strValue . ' '; + } + $vitals = $this->xml->addChild('Vitals'); + if (PSI_USE_VHOST === true) { + $vitals->addChild('Hostname', utf8_encode(trim(htmlspecialchars($this->sysinfo->vhostname())))); + $vitals->addChild('IPAddr', $this->sysinfo->vip_addr()); + } else { + $vitals->addChild('Hostname', utf8_encode(trim(htmlspecialchars($this->sysinfo->chostname())))); + $vitals->addChild('IPAddr', $this->sysinfo->ip_addr()); + } + $vitals->addChild('Kernel', utf8_encode(trim(htmlspecialchars($this->sysinfo->kernel())))); + $vitals->addChild('Distro', utf8_encode(trim(htmlspecialchars($this->sysinfo->distro())))); + $vitals->addChild('Distroicon', utf8_encode(trim(htmlspecialchars($this->sysinfo->distroicon())))); + $vitals->addChild('Uptime', $this->sysinfo->uptime()); + $vitals->addChild('Users', $this->sysinfo->users()); + $vitals->addChild('LoadAvg', $strLoadavg); + if (isset ($arrBuf['cpupercent'])) { + $vitals->addChild('CPULoad', round($arrBuf['cpupercent'], 2)); + } + } + private function buildNetwork() { + $arrNet = $this->sysinfo->network(); + $network = $this->xml->addChild('Network'); + $hideDevices = explode(',', PSI_HIDE_NETWORK_INTERFACE); + foreach ($arrNet as $strDev => $arrStats) { + if (!in_array($strDev, $hideDevices)) { + $device = $network->addChild('NetDevice'); + $device->addChild('Name', utf8_encode(trim(htmlspecialchars($strDev)))); + $device->addChild('RxBytes', $arrStats['rx_bytes']); + $device->addChild('TxBytes', $arrStats['tx_bytes']); + $device->addChild('Err', $arrStats['errs']); + $device->addChild('Drops', $arrStats['drop']); + } + } + } + private function buildHardware() { + $hardware = $this->xml->addChild('Hardware'); + $cpu = $hardware->addChild('CPU'); + $pci = $hardware->addChild('PCI'); + $ide = $hardware->addChild('IDE'); + $scsi = $hardware->addChild('SCSI'); + $usb = $hardware->addChild('USB'); + $arrSys = $this->sysinfo->cpu_info(); + $arrBuf = finddups($this->sysinfo->pci()); + if (count($arrBuf)) { + for ($i = 0, $max = sizeof($arrBuf); $i < $max; $i++) { + if ($arrBuf[$i]) { + $tmp = $pci->addChild('Device'); + $tmp->addChild('Name', utf8_encode(trim(htmlspecialchars($arrBuf[$i])))); + } + } + } + $arrBuf = $this->sysinfo->ide(); + if (count($arrBuf)) { + foreach ($arrBuf as $strKey => $arrValue) { + $tmp = $ide->addChild('Device'); + $tmp->addChild('Name', $strKey . ': ' . utf8_encode(trim(htmlspecialchars($arrValue['model'])))); + if (isset ($arrValue['capacity'])) { + $tmp->addChild('Capacity', $arrValue['capacity']); + } + } + } + $arrBuf = $this->sysinfo->scsi(); + if (count($arrBuf)) { + foreach ($arrBuf as $strKey => $arrValue) { + $tmp = $scsi->addChild('Device'); + if ($strKey >= '0' && $strKey <= '9') { + $tmp->addChild('Name', utf8_encode(trim(htmlspecialchars($arrValue['model'])))); + } else { + $tmp->addChild('Name', $strKey . ': ' . utf8_encode(trim(htmlspecialchars($arrValue['model'])))); + } + if (isset ($arrrValue['capacity'])) { + $tmp->addChild('Capacity', $arrValue['capacity']); + } + } + } + $arrBuf = finddups($this->sysinfo->usb()); + if (count($arrBuf)) { + for ($i = 0, $max = sizeof($arrBuf); $i < $max; $i++) { + if (trim($arrBuf[$i]) != "") { + $tmp = $usb->addChild('Device'); + $tmp->addChild('Name', utf8_encode(trim(htmlspecialchars($arrBuf[$i])))); + } + } + } + $cpu->addChild('Number', $arrSys['cpus']); + $cpu->addChild('Model', utf8_encode(trim(htmlspecialchars($arrSys['model'])))); + if (isset ($arrSys['temp'])) { + $cpu->addChild('Cputemp', $arrSys['temp']); + } + $cpu->addChild('Cpuspeed', $arrSys['cpuspeed']); + if (isset ($arrSys['busspeed'])) { + $cpu->addChild('Busspeed', $arrSys['busspeed']); + } + if (isset ($arrSys['cache'])) { + $cpu->addChild('Cache', $arrSys['cache']); + } + if (isset ($arrSys['bogomips'])) { + $cpu->addChild('Bogomips', $arrSys['bogomips']); + } + } + private function buildMemory() { + $arrMem = $this->sysinfo->memory(); + $i = 0; + $memory = $this->xml->addChild('Memory'); + $memory->addChild('Free', $arrMem['ram']['free']); + $memory->addChild('Used', $arrMem['ram']['used']); + $memory->addChild('Total', $arrMem['ram']['total']); + $memory->addChild('Percent', $arrMem['ram']['percent']); + if (isset ($arrMem['ram']['app'])) { + $memory->addChild('App', $arrMem['ram']['app']); + $memory->addChild('AppPercent', $arrMem['ram']['app_percent']); + $memory->addChild('Buffers', $arrMem['ram']['buffers']); + $memory->addChild('BuffersPercent', $arrMem['ram']['buffers_percent']); + $memory->addChild('Cached', $arrMem['ram']['cached']); + $memory->addChild('CachedPercent', $arrMem['ram']['cached_percent']); + } + $swap = $this->xml->addChild('Swap'); + if (count($arrMem['devswap']) > 0) { + $swap->addChild('Free', $arrMem['swap']['free']); + $swap->addChild('Used', $arrMem['swap']['used']); + $swap->addChild('Total', $arrMem['swap']['total']); + $swap->addChild('Percent', $arrMem['swap']['percent']); + } + $swapDev = $this->xml->addChild('Swapdevices'); + foreach ($arrMem['devswap'] as $arrDevice) { + $swapMount = $swapDev->addChild('Mount'); + $swapMount->addChild('MountPointID', $i++); + $swapMount->addChild('Type', 'Swap'); + $dev = $swapMount->addChild('Device'); + $dev->addChild('Name', utf8_encode(trim(htmlspecialchars($arrDevice['dev'])))); + $swapMount->addChild('Percent', $arrDevice['percent']); + $swapMount->addChild('Free', $arrDevice['free']); + $swapMount->addChild('Used', $arrDevice['used']); + $swapMount->addChild('Size', $arrDevice['total']); + } + } + private function buildFilesystems() { + $hideMounts = array (); + $hideFstypes = array (); + $hideDisks = array (); + if (PSI_HIDE_MOUNTS != "") { + $hideMounts = explode(',', PSI_HIDE_MOUNTS); + } + if (PSI_HIDE_FS_TYPES != "") { + $hideFstypes = explode(',', PSI_HIDE_FS_TYPES); + } + if (PSI_HIDE_DISKS != "") { + $hideDisks = explode(',', PSI_HIDE_DISKS); + } + $arrFs = $this->sysinfo->filesystems(); + $fs = $this->xml->addChild('FileSystem'); + for ($i = 0, $max = sizeof($arrFs); $i < $max; $i++) { + if (!in_array($arrFs[$i]['mount'], $hideMounts, true) && !in_array($arrFs[$i]['fstype'], $hideFstypes, true) && !in_array($arrFs[$i]['disk'], $hideDisks, true)) { + $mount = $fs->addChild('Mount'); + $mount->addchild('MountPointID', $i); + if (PSI_SHOW_MOUNT_POINT === true) { + $mount->addchild('MountPoint', utf8_encode(trim(htmlspecialchars($arrFs[$i]['mount'])))); + } + $mount->addchild('Type', $arrFs[$i]['fstype']); + $dev = $mount->addchild('Device'); + $dev->addChild('Name', utf8_encode(trim(htmlspecialchars($arrFs[$i]['disk'])))); + $mount->addchild('Percent', $arrFs[$i]['percent']); + $mount->addchild('Free', $arrFs[$i]['free']); + $mount->addchild('Used', $arrFs[$i]['used']); + $mount->addchild('Size', $arrFs[$i]['size']); + if (isset ($arrFs[$i]['options'])) { + $mount->addchild('MountOptions', $arrFs[$i]['options']); + } + if (isset ($arrFs[$i]['inodes'])) { + $mount->addchild('Inodes', $arrFs[$i]['inodes']); + } + } + } + } + private function buildMbinfo() { + $mbinfo = $this->xml->addChild('MBinfo'); + $arrBuff = $this->mbinfo->temperature(); + if (sizeof($arrBuff) > 0) { + $temp = $mbinfo->addChild('Temperature'); + foreach ($arrBuff as $arrValue) { + $item = $temp->addChild('Item'); + $item->addChild('Label', utf8_encode(trim(htmlspecialchars($arrValue['label'])))); + $item->addChild('Value', $arrValue['value']); + $item->addChild('Limit', $arrValue['limit']); + } + } + $arrBuff = $this->mbinfo->fans(); + if (sizeof($arrBuff) > 0) { + $fan = $mbinfo->addChild('Fans'); + foreach ($arrBuff as $arrValue) { + $item = $fan->addChild('Item'); + $item->addChild('Label', utf8_encode(trim(htmlspecialchars($arrValue['label'])))); + $item->addChild('Value', $arrValue['value']); + $item->addChild('Min', $arrValue['min']); + } + } + $arrBuff = $this->mbinfo->voltage(); + if (sizeof($arrBuff) > 0) { + $volt = $mbinfo->addChild('Voltage'); + foreach ($arrBuff as $arrValue) { + $item = $volt->addChild('Item'); + $item->addChild('Label', utf8_encode(trim(htmlspecialchars($arrValue['label'])))); + $item->addChild('Value', $arrValue['value']); + $item->addChild('Min', $arrValue['min']); + $item->addChild('Max', $arrValue['max']); + } + } + } + private function buildHddtemp() { + $arrBuf = $this->hddtemp->temperature(); + $hddtemp = $this->xml->addChild('HDDTemp'); + for ($i = 0, $max = sizeof($arrBuf); $i < $max; $i++) { + $item = $hddtemp->addChild('Item'); + $item->addChild('Label', utf8_encode(trim(htmlspecialchars($arrBuf[$i]['label'])))); + $item->addChild('Value', $arrBuf[$i]['value']); + $item->addChild('Model', utf8_encode(trim(htmlspecialchars($arrBuf[$i]['model'])))); + } + } + private function buildUpsinfo() { + $arrBuf = $this->upsinfo->info(); + if (isset ($arrBuf) && !empty ($arrBuf)) { + $upsinfo = $this->xml->addChild('UPSinfo'); + for ($i = 0, $max = sizeof($arrBuf); $i < $max; $i++) { + $item = $upsinfo->addChild('Ups'); + $item->addChild('Name', utf8_encode(trim(htmlspecialchars($arrBuf[$i]['name'])))); + $item->addChild('Model', utf8_encode(trim(htmlspecialchars($arrBuf[$i]['model'])))); + $item->addChild('Mode', utf8_encode(trim(htmlspecialchars($arrBuf[$i]['mode'])))); + $item->addChild('StartTime', utf8_encode(trim(htmlspecialchars($arrBuf[$i]['start_time'])))); + $item->addChild('Status', utf8_encode(trim(htmlspecialchars($arrBuf[$i]['status'])))); + $item->addChild('UPSTemperature', utf8_encode(trim(htmlspecialchars($arrBuf[$i]['temperature'])))); + $item->addChild('OutagesCount', $arrBuf[$i]['outages_count']); + $item->addChild('LastOutage', utf8_encode(trim(htmlspecialchars($arrBuf[$i]['last_outage'])))); + $item->addChild('LastOutageFinish', utf8_encode(trim(htmlspecialchars($arrBuf[$i]['last_outage_finish'])))); + $item->addChild('LineVoltage', $arrBuf[$i]['line_voltage']); + $item->addChild('LoadPercent', $arrBuf[$i]['load_percent']); + $item->addChild('BatteryVoltage', $arrBuf[$i]['battery_voltage']); + $item->addChild('BatteryChargePercent', $arrBuf[$i]['battery_charge_percent']); + $item->addChild('TimeLeftMinutes', $arrBuf[$i]['time_left_minutes']); + } + } + } + public function buildXml() { + if (!$this->plugin_request || $this->complete_request) { + $this->buildVitals(); + $this->buildNetwork(); + $this->buildHardware(); + $this->buildMemory(); + $this->buildFilesystems(); + if (PSI_MBINFO) { + $this->buildMbinfo(); + } + if (PSI_HDDTEMP) { + $this->buildHddtemp(); + } + if (PSI_UPSINFO) { + $this->buildUpsinfo(); + } + } + $this->buildPlugins(); + $this->errors->ErrorsAddToXML($this->xml); + } + public function printXml() { + header("Content-Type: text/xml\n\n"); + echo $this->xml->asXML(); + } + public function getXml() { + return $this->xml->asXML(); + } + private function buildPlugins() { + $pluginroot = $this->xml->addChild("Plugins"); + if ($this->plugin_request || $this->complete_request) { + if (defined('PSI_PLUGINS')) { + foreach ($this->plugins as $plugin) { + $object = new $plugin (); + $object->execute(); + $this->combinexml($pluginroot, $object->xml()); + } + } + } + } + private function combinexml(SimpleXMLElement $parent, SimpleXMLElement $new_child) { + $node1 = dom_import_simplexml($parent); + $dom_sxe = dom_import_simplexml($new_child); + $node2 = $node1->ownerDocument->importNode($dom_sxe, true); + $node1->appendChild($node2); + } +} +?> Property changes on: includes/xml.class.php ___________________________________________________________________ Added: svn:mime-type + text/x-php Added: svn:keywords + Id Added: svn:eol-style + LF This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Big...@us...> - 2008-12-08 11:05:49
|
Revision: 41 http://phpsysinfo.svn.sourceforge.net/phpsysinfo/?rev=41&view=rev Author: BigMichi1 Date: 2008-12-08 11:05:45 +0000 (Mon, 08 Dec 2008) Log Message: ----------- import cvs Added Paths: ----------- includes/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Big...@us...> - 2008-12-08 10:57:27
|
Revision: 40 http://phpsysinfo.svn.sourceforge.net/phpsysinfo/?rev=40&view=rev Author: BigMichi1 Date: 2008-12-08 10:57:25 +0000 (Mon, 08 Dec 2008) Log Message: ----------- import cvs Added Paths: ----------- xml.php Added: xml.php =================================================================== --- xml.php (rev 0) +++ xml.php 2008-12-08 10:57:25 UTC (rev 40) @@ -0,0 +1,120 @@ +<?php +/*************************************************************************** + * Copyright (C) 2008 by phpSysInfo - A PHP System Information Script * + * http://phpsysinfo.sourceforge.net/ * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ +// +// $Id$ +// +define('APP_ROOT', dirname(__FILE__)); +define('IN_PHPSYSINFO', true); +if (!defined('PSI_INTERNAL_XML')) { + define('PSI_INTERNAL_XML', true); +} +require_once (APP_ROOT . '/includes/common_functions.php'); // Set of common functions used through out the app + +/** + * Check for the SimpleXML fuction. We need this for almost everything. + * Even our error class needs this to output the errors. + * Because of that this check uses a custom error function that will + * return a hard coded XML file (with headers). + */ +checkForExtensions(); +$error = Error :: singleton(); +if (!file_exists(APP_ROOT . '/config.php')) { + $error->addError('file_exists(config.php)', 'config.php does not exist in the phpsysinfo directory.'); +} else { + // get the config file + require_once (APP_ROOT . '/config.php'); +} +$plugin = (isset ($_GET['plugin'])) ? basename(htmlspecialchars($_GET['plugin'])) : ""; +if ($plugin == "complete") { + $plugin_request = false; + $completexml = true; +} +elseif ($plugin != "") { + $plugins = explode(",", PSI_PLUGINS); + if (in_array($plugin, $plugins)) { + $plugin_request = true; + $completexml = false; + } else { + $plugin_request = false; + $completexml = false; + } +} else { + $plugin_request = false; + $completexml = false; +} +if (!$plugin_request) { + // Figure out which OS we are running on, and detect support + if (file_exists(APP_ROOT . '/includes/os/class.' . PHP_OS . '.inc.php')) { + require_once (APP_ROOT . '/includes/os/class.' . PHP_OS . '.inc.php'); + } else { + $error->addError('include(class.' . PHP_OS . '.php.inc)', PHP_OS . ' is not currently supported'); + } + if (!extension_loaded('pcre')) { + $error->addError('extension_loaded(pcre)', 'phpsysinfo requires the pcre module for php to work'); + } + if (PSI_SENSOR_PROGRAM !== false) { + if (!file_exists(APP_ROOT . '/includes/mb/class.' . PSI_SENSOR_PROGRAM . '.inc.php')) { + define('PSI_MBINFO', false); + $error->addError('include(class.' . htmlspecialchars(PSI_SENSOR_PROGRAM, ENT_QUOTES) . '.inc.php)', 'specified sensor program is not supported'); + } else { + require_once (APP_ROOT . '/includes/mb/class.' . PSI_SENSOR_PROGRAM . '.inc.php'); + define('PSI_MBINFO', true); + } + } else { + define('PSI_MBINFO', false); + } + if (PSI_HDD_TEMP !== false) { + if (PSI_HDD_TEMP != "tcp" && PSI_HDD_TEMP != "suid") { + $error->addError('include(class.hddtemp.inc.php)', 'bad configuration in config.php for PSI_HDD_TEMP'); + define('PSI_HDDTEMP', false); + } else { + require_once (APP_ROOT . '/includes/mb/class.hddtemp.inc.php'); + define('PSI_HDDTEMP', true); + } + } else { + define('PSI_HDDTEMP', false); + } + if (PSI_UPS_PROGRAM !== false) { + $ups_program = basename(PSI_UPS_PROGRAM); + if (!file_exists(APP_ROOT . '/includes/ups/class.' . $ups_program . '.inc.php')) { + define('PSI_UPSINFO', false); + $error->addError('include(class.' . htmlspecialchars($ups_program, ENT_QUOTES) . '.inc.php)', 'specified UPS program is not supported'); + } else { + require_once (APP_ROOT . '/includes/ups/class.' . $ups_program . '.inc.php'); + define('PSI_UPSINFO', true); + define('PSI_UPSINFO_APCUPSD_UPS_LIST', PSI_APCUPSD_UPS_LIST); + } + } else { + define('PSI_UPSINFO', false); + } + if ($error->ErrorsExist()) { + header("Content-Type: text/xml\n\n"); + echo $error->ErrorsAsXML(); + exit; + } +} +// Create the XML file +require_once (APP_ROOT . '/includes/xml.class.php'); +($plugin_request) ? $xml = new xml($plugin, $completexml) : $xml = new xml("", $completexml); +$xml->buildXml(); +if (PSI_INTERNAL_XML) { + $xml->printXml(); +} \ No newline at end of file Property changes on: xml.php ___________________________________________________________________ Added: svn:mime-type + text/x-php Added: svn:keywords + Id Added: svn:eol-style + LF This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Big...@us...> - 2008-12-08 10:22:20
|
Revision: 39 http://phpsysinfo.svn.sourceforge.net/phpsysinfo/?rev=39&view=rev Author: BigMichi1 Date: 2008-12-08 10:22:17 +0000 (Mon, 08 Dec 2008) Log Message: ----------- Added Paths: ----------- templates/ templates/aqua/ templates/aqua/aq_background.gif templates/aqua.css templates/clean.css templates/jstyle_blue.css templates/jstyle_green.css templates/phpsysinfo.css templates/plugin/ templates/plugin/nyroModal.full.css templates/two/ templates/two/gradient.png templates/two.css Added: templates/aqua/aq_background.gif =================================================================== (Binary files differ) Property changes on: templates/aqua/aq_background.gif ___________________________________________________________________ Added: svn:mime-type + image/gif Added: templates/aqua.css =================================================================== --- templates/aqua.css (rev 0) +++ templates/aqua.css 2008-12-08 10:22:17 UTC (rev 39) @@ -0,0 +1,165 @@ +/* +$Id* +*/ +a { + text-decoration: none; + color: #c03000; +} + +a:hover { + text-decoration: underline; +} + +* { + margin: 0; + padding: 0; +} + +html { + height: 100%; + background: url("aqua/aq_background.gif"); +} + +body { + position: relative; + width: 940px; + min-height: 100%; + overflow: auto; + margin: 0 auto; + padding: 20px 20px 0 20px; + font: 62.5% arial, tahoma, helvetica, sans-serif; + color: #000; +} + +h1 { + margin: 0 10px; + padding: 10px 10px; + border-top: 1px solid #2971a7; + border-bottom: 1px solid #2971a7; + font-size: 2em; + font-weight: normal; + color: #fff; + background: #569FD6; +} + +#select { + position: absolute; + top: 30px; + right: 40px; + width: 370px; + text-align: right; +} + +#select select { + width: 100px; +} + +#vitals,#network,#memory,#filesystem,#hardware,#temp,#voltage,#fan,#ups + { + float: left; + width: 451px; + margin: 10px 0 0 8px; + padding: 1px; + border: 2px solid #2971a7; + background: #fff; +} + +h2 { + padding: 5px 10px; + font-family: "trebuchet ms"; + font-size: 1.2em; + font-weight: bold; + letter-spacing: 0.0em; + text-transform: uppercase; + color: #fff; +} + +table { + width: 100%; + font-size: 1.2em; +} + +th,td,h3 { + padding: 4px 10px 2px 10px; + line-height: 1.6; + text-align: left; + vertical-align: top; +} + +h3 { + font-size: 120%; +} + +.odd { + background: #E4EBF3; +} + +.even { + background: #E4EBF3; +} + +#filesystemTable .odd { + background: #fff; +} + +#footer { + clear: both; + color: #000; + margin: 12px; + padding: 13px 25px; + line-height: 18px; +} + +h1 { + background: #2971a7; +} + +h2 { + background: #2971a7; + text-align: center; +} + +#memory,#filesystem { + width: 915px; +} + +.bar { + background: #2971a7; +} + +p { + padding: 4px 10px 2px 10px; + line-height: 1.6; + text-align: left; + vertical-align: top; +} + +#filesystemTable thead tr .header { + background-image: url("../gfx/bg.gif"); + background-position: right center; + background-repeat: no-repeat; + cursor: pointer; +} + +table tfoot td { + color: #2E2E2E; +} + +#filesystemTable thead tr .headerSortUp { + background-image: url("../gfx/asc.gif"); + color: #c03000; +} + +#filesystemTable thead tr .headerSortDown { + background-image: url("../gfx/desc.gif"); + color: #c03000; +} + +.right { + text-align: right; + padding-right: 20px; +} + +#pciTable,#ideTable,#scsiTable,#usbTable { + padding: 0px 30px; +} \ No newline at end of file Property changes on: templates/aqua.css ___________________________________________________________________ Added: svn:mime-type + text/css Added: svn:keywords + Id Added: svn:eol-style + LF Added: templates/clean.css =================================================================== --- templates/clean.css (rev 0) +++ templates/clean.css 2008-12-08 10:22:17 UTC (rev 39) @@ -0,0 +1,140 @@ +/* +$Id$ +*/ +a { + text-decoration: none; + color: #c03000; +} + +a:hover { + text-decoration: underline; +} + +* { + margin: 0; + padding: 0; +} + +html { + font-size: 100%; + height: 100%; + color: #333; +} + +body { + font-family: Helvetica, Arial, "Lucida Grande", Verdana, sans-serif; + font-size: .71em; + position: relative; + width: 940px; + min-height: 100%; + overflow: auto; + margin: 0 auto; + padding: 20px 20px 0 20px; +} + +h1 { + margin: 0 10px; + padding: 10px 10px; + text-align: center; + font-family: Helvetica, Arial, "Lucida Grande", Verdana, sans-serif; + font-size: 130%; + line-height: 1.5em; + color: #224970; +} + +#select { + text-align: right; +} + +#select select { + width: 100px; + font-family: Helvetica, Arial, "Lucida Grande", Verdana, sans-serif; +} + +#vitals,#network,#memory,#filesystem,#hardware,#temp,#voltage,#fan,#ups + { + float: left; + width: 451px; + margin: 10px 0 0 10px; + color: #000; +} + +h2 { + font-family: Helvetica, Arial, "Lucida Grande", Verdana, sans-serif; + font-size: 120%; + padding: 3px 10px; + text-transform: uppercase; + line-height: 1.5em; + color: #224970; + text-align: left; +} + +table { + width: 100%; + border-top: solid 2px #DADADA; + border-bottom: solid 2px #DADADA; + background-color: #F2F2FF; +} + +th,td,h3 { + padding: 4px 10px 2px 10px; + line-height: 1.6; + text-align: left; + vertical-align: top; + font-size: 100%; +} + +#footer { + clear: both; + color: #000; + margin: 12px; + padding: 13px 25px; + line-height: 18px; + font-size: 80%; + text-align: center; +} + +#memory,#filesystem { + width: 915px; +} + +.bar { + background-color: #2F659B; +} + +p { + padding: 4px 10px 2px 10px; + line-height: 1.6; + text-align: left; + vertical-align: top; +} + +table th { + color: #333300; +} + +#filesystemTable thead tr .header { + background-image: url("../gfx/bg.gif"); + background-position: right center; + background-repeat: no-repeat; + cursor: pointer; +} + +#filesystemTable thead tr .headerSortUp { + background-image: url("../gfx/asc.gif"); + color: #c03000; +} + +#filesystemTable thead tr .headerSortDown { + background-image: url("../gfx/desc.gif"); + color: #c03000; +} + +.right { + text-align: right; + padding-right: 20px; +} + +#pciTable,#ideTable,#scsiTable,#usbTable { + padding: 0px 30px; +} \ No newline at end of file Property changes on: templates/clean.css ___________________________________________________________________ Added: svn:mime-type + text/css Added: svn:keywords + Id Added: svn:eol-style + LF Added: templates/jstyle_blue.css =================================================================== --- templates/jstyle_blue.css (rev 0) +++ templates/jstyle_blue.css 2008-12-08 10:22:17 UTC (rev 39) @@ -0,0 +1,148 @@ +/* +$Id$ +*/ +a { + text-decoration: none; + color: #c03000; +} + +a:hover { + text-decoration: underline; +} + +* { + margin: 0; + padding: 0; +} + +html { + font-size: 100%; + height: 100%; + background-color: #f3f1e9; + color: #666666; +} + +body { + font-family: Verdana, "Bitstream Vera Sans"; + font-size: .75em; + position: relative; + width: 940px; + min-height: 100%; + overflow: auto; + margin: 0 auto; + padding: 20px 20px 0 20px; +} + +h1 { + margin: 0 10px; + padding: 10px 10px; + text-align: center; + color: #fff; + font-family: Georgia, serif; + font-weight: normal; + font-size: 150%; + line-height: 1.5em; + color: #326ea1; +} + +#select { + text-align: right; +} + +#select select { + width: 100px; +} + +#vitals,#network,#memory,#filesystem,#hardware,#temp,#voltage,#fan,#ups + { + float: left; + width: 451px; + margin: 10px 0 0 10px; + padding: 1px; +} + +h2 { + font-family: Georgia, serif; + font-weight: bold; + font-size: 130%; + padding: 3px 10px; + text-transform: uppercase; + line-height: 1.5em; + color: #326ea1; + border-bottom: 2px solid #326ea1; +} + +table { + width: 100%; +} + +th,td,h3 { + padding: 4px 10px 2px 10px; + line-height: 1.6; + text-align: left; + vertical-align: top; + font-size: 100%; +} + +.odd { + background: #EBE8DA; +} + +.even { + background: #EBE8DA; +} + +#filesystemTable .odd { + background: #f3f1e9; +} + +#footer { + clear: both; + color: #5C5C5C; + margin: 12px; + padding: 13px 25px; + line-height: 18px; + font-size: 80%; + text-align: center; +} + +#memory,#filesystem { + width: 915px; +} + +.bar { + background-color: #326edf; +} + +p { + padding: 4px 10px 2px 10px; + line-height: 1.6; + text-align: left; + vertical-align: top; +} + +#filesystemTable thead tr .header { + background-image: url("../gfx/bg.gif"); + background-position: right center; + background-repeat: no-repeat; + cursor: pointer; +} + +#filesystemTable thead tr .headerSortUp { + background-image: url("../gfx/asc.gif"); + color: #c03000; +} + +#filesystemTable thead tr .headerSortDown { + background-image: url("../gfx/desc.gif"); + color: #c03000; +} + +.right { + text-align: right; + padding-right: 20px; +} + +#pciTable,#ideTable,#scsiTable,#usbTable { + padding: 0px 30px; +} \ No newline at end of file Property changes on: templates/jstyle_blue.css ___________________________________________________________________ Added: svn:mime-type + text/css Added: svn:keywords + Id Added: svn:eol-style + LF Added: templates/jstyle_green.css =================================================================== --- templates/jstyle_green.css (rev 0) +++ templates/jstyle_green.css 2008-12-08 10:22:17 UTC (rev 39) @@ -0,0 +1,148 @@ +/* +$Id +*/ +a { + text-decoration: none; + color: #c03000; +} + +a:hover { + text-decoration: underline; +} + +* { + margin: 0; + padding: 0; +} + +html { + font-size: 100%; + height: 100%; + background-color: #f3f1e9; + color: #666666; +} + +body { + font-family: Verdana, "Bitstream Vera Sans"; + font-size: .75em; + position: relative; + width: 940px; + min-height: 100%; + overflow: auto; + margin: 0 auto; + padding: 20px 20px 0 20px; +} + +h1 { + margin: 0 10px; + padding: 10px 10px; + text-align: center; + color: #fff; + font-family: Georgia, serif; + font-weight: normal; + font-size: 150%; + line-height: 1.5em; + color: #693; +} + +#select { + text-align: right; +} + +#select select { + width: 100px; +} + +#vitals,#network,#memory,#filesystem,#hardware,#temp,#voltage,#fan,#ups + { + float: left; + width: 451px; + margin: 10px 0 0 10px; + padding: 1px; +} + +h2 { + font-family: Georgia, serif; + font-weight: bold; + font-size: 130%; + padding: 3px 10px; + text-transform: uppercase; + line-height: 1.5em; + color: #693; + border-bottom: 2px solid #693; +} + +table { + width: 100%; +} + +th,td,h3 { + padding: 4px 10px 2px 10px; + line-height: 1.6; + text-align: left; + vertical-align: top; + font-size: 100%; +} + +.odd { + background: #EBE8DA; +} + +.even { + background: #EBE8DA; +} + +#filesystemTable .odd { + background: #f3f1e9; +} + +#footer { + clear: both; + color: #5C5C5C; + margin: 12px; + padding: 13px 25px; + line-height: 18px; + font-size: 80%; + text-align: center; +} + +#memory,#filesystem { + width: 915px; +} + +.bar { + background-color: #C1DC70; +} + +p { + padding: 4px 10px 2px 10px; + line-height: 1.6; + text-align: left; + vertical-align: top; +} + +#filesystemTable thead tr .header { + background-image: url("../gfx/bg.gif"); + background-position: right center; + background-repeat: no-repeat; + cursor: pointer; +} + +#filesystemTable thead tr .headerSortUp { + background-image: url("../gfx/asc.gif"); + color: #c03000; +} + +#filesystemTable thead tr .headerSortDown { + background-image: url("../gfx/desc.gif"); + color: #c03000; +} + +.right { + text-align: right; + padding-right: 20px; +} + +#pciTable,#ideTable,#scsiTable,#usbTable { + padding: 0px 30px; +} \ No newline at end of file Property changes on: templates/jstyle_green.css ___________________________________________________________________ Added: svn:mime-type + text/css Added: svn:keywords + Id Added: svn:eol-style + LF Added: templates/phpsysinfo.css =================================================================== --- templates/phpsysinfo.css (rev 0) +++ templates/phpsysinfo.css 2008-12-08 10:22:17 UTC (rev 39) @@ -0,0 +1,139 @@ +/* +$Id$ +*/ +a { + text-decoration: none; + color: #c03000; +} + +a:hover { + text-decoration: underline; +} + +* { + margin: 0; + padding: 0; +} + +html { + height: 100%; + background: url("../gfx/html.gif"); +} + +body { + position: relative; + width: 940px; + min-height: 100%; + overflow: auto; + margin: 0 auto; + padding: 20px 20px 0 20px; + font: 62.5% arial, tahoma, helvetica, sans-serif; + color: #000; + background: #fff url("../gfx/body.gif") repeat-y; +} + +h1 { + margin: 0 10px; + padding: 10px 10px; + border-top: 1px solid #8A6E5A; + border-bottom: 1px solid #8A6E5A; + font-size: 2em; + font-weight: normal; + color: #fff; + background: #8A6E5A; +} + +#select { + position: absolute; + top: 30px; + right: 40px; + width: 370px; + text-align: right; +} + +#select select { + width: 100px; +} + +#vitals,#network,#memory,#filesystem,#hardware,#temp,#voltage,#fan,#ups + { + float: left; + width: 451px; + margin: 10px 0 0 10px; + padding: 1px; + border: 1px solid #5A7E8A; +} + +h2 { + padding: 5px 10px; + font-family: "trebuchet ms"; + font-size: 1.2em; + font-weight: bold; + letter-spacing: 0.0em; + text-transform: uppercase; + color: #fff; + background: #5A7E8A; +} + +table { + width: 100%; + font-size: 1.2em; +} + +th,td,h3 { + padding: 4px 10px 2px 10px; + line-height: 1.6; + text-align: left; + vertical-align: top; +} + +.odd { + background: #d6d6d6; +} + +#footer { + clear: both; + color: #c9c9c9; + margin: 12px; + padding: 13px 25px; + line-height: 18px; +} + +#memory,#filesystem { + width: 915px; +} + +.bar { + background: #C1DC70 url("../gfx/html.gif"); +} + +p { + padding: 4px 10px 2px 10px; + line-height: 1.6; + text-align: left; + vertical-align: top; +} + +#filesystemTable thead tr .header { + background-image: url("../gfx/bg.gif"); + background-position: right center; + background-repeat: no-repeat; + cursor: pointer; +} + +#filesystemTable thead tr .headerSortUp { + background-image: url("../gfx/asc.gif"); +} + +#filesystemTable thead tr .headerSortDown { + background-image: url("../gfx/desc.gif"); +} + +.right { + text-align: right; + padding-right: 20px; +} + +#pciTable,#ideTable,#scsiTable,#usbTable { + padding: 0px 30px; +} \ No newline at end of file Property changes on: templates/phpsysinfo.css ___________________________________________________________________ Added: svn:mime-type + text/css Added: svn:keywords + Id Added: svn:eol-style + LF Added: templates/plugin/nyroModal.full.css =================================================================== --- templates/plugin/nyroModal.full.css (rev 0) +++ templates/plugin/nyroModal.full.css 2008-12-08 10:22:17 UTC (rev 39) @@ -0,0 +1,97 @@ +div#nyroModalFull { + font-size: 12px; + color: #777; + font-family: Verdana; +} +div#nyroModalFull div#nyroModalLoading { + border: 4px solid #777; + width: 150px; + height: 150 px; + text-indent: -9999em; + background: #fff url(../img/ajaxLoader.gif) no-repeat; + background-position: center; +} +div#nyroModalFull div#nyroModalLoading.error { + border: 4px solid #f66; + line-height: 20px; + padding: 20px; + width: 300px; + height: 100px; + text-indent: 0; + background: #fff; +} +div#nyroModalFull div#nyroModalWrapper { + background: #fff; + border: 4px solid #777; +} +div#nyroModalFull div#nyroModalWrapper a#closeBut { + position: absolute; + display: block; + top: -13px; + right: -13px; + width: 12px; + height: 12px; + text-indent: -9999em; + background: url(../img/close.gif) no-repeat; + outline: 0; +} +div#nyroModalFull div#nyroModalWrapper h1#nyroModalTitle { + margin: 0; + padding: 0; + position: absolute; + top: -22px; + left: 5px; + font-size: 12px; + color: #ddd; +} +div#nyroModalFull div#nyroModalWrapper div.wrapper div#nyroModalContent { + padding: 5px; +} +div#nyroModalFull div#nyroModalWrapper div.wrapperImg div#nyroModalContent { + position: relative; + overflow: hidden; + text-align: center; +} +div#nyroModalFull div#nyroModalWrapper div.wrapperImg div#nyroModalContent img { + vertical-align: baseline; +} +div#nyroModalFull div#nyroModalWrapper div.wrapperImg div#nyroModalContent div { + position: absolute; + bottom: 0; + left: 0; + background: black; + padding: 10px; + margin: 10px; + border: 1px white dotted; + overflow: hidden; + opacity: 0.2; + filter: alpha(opacity=20); +} +div#nyroModalFull div#nyroModalWrapper div.wrapperImg div#nyroModalContent div:hover { + opacity: 0.5; + filter: alpha(opacity=50); + cursor: help; +} +div#nyroModalFull div#nyroModalWrapper div.wrapperImg div#nyroModalContent a { + outline: none; + position: absolute; + top: 0; + height: 100%; + cursor: pointer; + text-indent: -9999em; + background-image: url(data:image/gif;base64,AAAA); /* Trick IE6 */ +} +div#nyroModalFull div#nyroModalWrapper div.wrapperImg div#nyroModalContent a.nyroModalPrev { + left: 0; + width: 40%; +} +div#nyroModalFull div#nyroModalWrapper div.wrapperImg div#nyroModalContent a.nyroModalPrev:hover { + background: url(../img/prev.gif) left 20% no-repeat; +} +div#nyroModalFull div#nyroModalWrapper div.wrapperImg div#nyroModalContent a.nyroModalNext { + right: 0; + width: 40%; +} +div#nyroModalFull div#nyroModalWrapper div.wrapperImg div#nyroModalContent a.nyroModalNext:hover { + background: url(../img/next.gif) right 20% no-repeat; +} Property changes on: templates/plugin/nyroModal.full.css ___________________________________________________________________ Added: svn:mime-type + text/css Added: svn:keywords + Id Added: svn:eol-style + LF Added: templates/two/gradient.png =================================================================== (Binary files differ) Property changes on: templates/two/gradient.png ___________________________________________________________________ Added: svn:mime-type + image/png Added: templates/two.css =================================================================== --- templates/two.css (rev 0) +++ templates/two.css 2008-12-08 10:22:17 UTC (rev 39) @@ -0,0 +1,126 @@ +/* +$Id$ +*/ +a { + text-decoration: none; + color: #c03000; +} + +a:hover { + text-decoration: underline; +} + +* { + margin: 0; + padding: 0; +} + +html { + font-size: 100%; + height: 100%; + color: #2B2828; + background: url("two/gradient.png") repeat-x #EEF2FE; +} + +body { + font-family: Verdana, "Bitstream Vera Sans"; + font-size: .75em; + position: relative; + width: 940px; + min-height: 100%; + overflow: auto; + margin: 0 auto; + padding: 20px 20px 0 20px; +} + +h1 { + margin: 0 10px; + padding: 10px 10px; + text-align: center; + color: #fff; + font-weight: normal; + font-size: 170%; + line-height: 1.5em; +} + +#select { + color: #fff; + text-align: right; + margin-bottom: 45px; +} + +#select select { + width: 100px; +} + +h2 { + font-weight: bold; + font-size: 130%; + line-height: 1.5em; + color: #8B272A; + border-bottom: 2px solid #8B272A; +} + +table { + width: 100%; +} + +th,td,h3 { + padding: 4px 10px 2px 10px; + line-height: 1.3; + text-align: left; + vertical-align: top; + font-size: 100%; +} + +#footer { + clear: both; + color: #5C5C5C; + margin: 12px; + padding: 13px 25px; + line-height: 18px; + font-size: 80%; + text-align: center; +} + +.bar { + background-color: #8B272A; +} + +#vitals,#network,#memory,#filesystem,#hardware,#temp,#voltage,#fan,#ups + { + float: left; + width: 451px; + margin: 10px 0 0 10px; + padding: 1px; +} + +#memory,#filesystem { + width: 915px; +} + +#filesystemTable thead tr .header { + background-image: url("../gfx/bg.gif"); + background-position: right center; + background-repeat: no-repeat; + cursor: pointer; +} + +#filesystemTable thead tr .headerSortUp { + background-image: url("../gfx/asc.gif"); + color: #FD6200; +} + +#filesystemTable thead tr .headerSortDown { + background-image: url("../gfx/desc.gif"); + color: #FD6200; +} + +.right { + text-align: right; + padding-right: 20px; +} + +#pciTable,#ideTable,#scsiTable,#usbTable { + padding: 0px 30px; +} \ No newline at end of file Property changes on: templates/two.css ___________________________________________________________________ Added: svn:mime-type + text/css Added: svn:keywords + Id Added: svn:eol-style + LF This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Big...@us...> - 2008-12-08 10:06:46
|
Revision: 38 http://phpsysinfo.svn.sourceforge.net/phpsysinfo/?rev=38&view=rev Author: BigMichi1 Date: 2008-12-08 10:06:42 +0000 (Mon, 08 Dec 2008) Log Message: ----------- import cvs Added Paths: ----------- phpsysinfo.js Added: phpsysinfo.js =================================================================== --- phpsysinfo.js (rev 0) +++ phpsysinfo.js 2008-12-08 10:06:42 UTC (rev 38) @@ -0,0 +1,786 @@ +/*************************************************************************** + * Copyright (C) 2008 by phpSysInfo - A PHP System Information Script * + * http://phpsysinfo.sourceforge.net/ * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ +// +// $Id$ +// + +var cookie_language = readCookie("language"); +var cookie_template = readCookie("template"); +var plugin_liste = new Array(); +var langxml; +if(cookie_template) switchStyle(cookie_template); + +$(document).ready(function() { + $.ajax({ + url: 'xml.php', + dataType: 'xml', + error: function(){ + alert('Error loading XML document'); + }, + success: function(xml){ + populateErrors(xml); + populateTemp(xml); + populateVoltage(xml); + populateFan(xml); + populateHddtemp(xml); + populateUps(xml); + + refreshVitals(xml); + refreshHardware(xml); + refreshNetwork(xml); + refreshMemory(xml); + refreshFilesystems(xml); + getLanguage(cookie_language); + displayPage(xml); + settimer(xml); + } + }); + + function settimer(xml) { + $("Options",xml).each(function(id) { + var options = $("Options",xml).get(id); + var refresh = $("refresh",options).text(); + if(refresh != 'false') { + $.timer(refresh,reload); + } + }); + } + + function reload(){ + $.ajax({ + url: 'xml.php', + dataType: 'xml', + error: function(){ + alert('Error loading XML document'); + }, + success: function(xml){ + refreshVitals(xml); + refreshNetwork(xml); + refreshHardware(xml); + refreshMemory(xml); + refreshFilesystems(xml); + $('.stripeMe tr:nth-child(even)').addClass('odd'); + } + }); + } + + $("#errors").nyroModal(); + + $("#lang").change(function(){ + var language + language = $("#lang").val(); + getLanguage(language); + for(i = 0; i < plugin_liste.length; i++) { + getLanguage(language, plugin_liste[i]); + } + return false; + }); + + $("#template").change(function(){ + switchStyle($("#template").val()); + return false; + }); + + $("#sPci").click(function(){ + $("#pciTable").slideDown("slow"); + $("#sPci").hide(); + $("#hPci").show(); + }); + $("#hPci").click(function(){ + $("#pciTable").slideUp("slow"); + $("#hPci").hide(); + $("#sPci").show(); + }); + + $("#sIde").click(function(){ + $("#ideTable").slideDown("slow"); + $("#sIde").hide(); + $("#hIde").show(); + }); + $("#hIde").click(function(){ + $("#ideTable").slideUp("slow"); + $("#hIde").hide(); + $("#sIde").show(); + }); + + $("#sScsi").click(function(){ + $("#scsiTable").slideDown("slow"); + $("#sScsi").hide(); + $("#hScsi").show(); + }); + $("#hScsi").click(function(){ + $("#scsiTable").slideUp("slow"); + $("#hScsi").hide(); + $("#sScsi").show(); + }); + + $("#sUsb").click(function(){ + $("#usbTable").slideDown("slow"); + $("#sUsb").hide(); + $("#hUsb").show(); + }); + $("#hUsb").click(function(){ + $("#usbTable").slideUp("slow"); + $("#hUsb").hide(); + $("#sUsb").show(); + }); +}); + + +function getLanguage(lang, plugin) { + if(lang != null) { + createCookie('language', lang, 365); + getLangUrl = 'language/language.php?lang=' + lang; + if(plugin != null) { + getLangUrl += "&plugin=" + plugin; + } + } else { + getLangUrl = 'language/language.php'; + } + $.ajax({ + url: getLangUrl, + type: 'GET', + dataType: 'xml', + timeout: 100000, + error: function(){ + alert('Error loading language.'); + }, + success: function(xml) { + langxml = xml; + changeLanguage(); + } + }); +} + +function changeLanguage() { + $("[@lang]").each(function(i) { + langId = this.lang; + langStr = $("string[@id="+langId+"]",langxml); + if(langStr.length > 0) { + this.innerHTML = langStr.text(); + } + }); +} + +function switchStyle(template) { + $('link[@rel*=style][@title]').each(function(i) { + this.disabled = true; + if (this.getAttribute('title') == template) this.disabled = false; + }); + createCookie('template', template, 365); +} + +function refreshVitals(xml){ + $("Vitals",xml).each(function(id) { + vital = $("Vitals",xml).get(id); + hostname = $("Hostname",vital).text(); + ip = $("IPAddr",vital).text(); + kernel = $("Kernel",vital).text(); + distro = $("Distro",vital).text(); + icon = $("Distroicon",vital).text(); + uptime = uptimeFormat($("Uptime",vital).text()); + users = $("Users",vital).text(); + loadavg = $("LoadAvg",vital).text(); + if($("CPULoad",vital).length == 1) { + cpuload = $("CPULoad",vital).text(); + loadavg = loadavg + createBar(cpuload); + } + document.title = "System information: " + hostname + " (" + ip + ")"; + $("#s_hostname_title").html(hostname); + $("#s_ip_title").html(ip); + $("#s_hostname").html(hostname); + $("#s_ip").html(ip); + $("#s_kernel").html(kernel); + $("#s_distro").html("<img src='./gfx/images/" + icon + "' alt='' height='16' width='16' style='vertical-align:middle;'> " + distro); + $("#s_uptime").html(uptime); + $("#s_users").html(users); + $("#s_loadavg").html(loadavg); + }); +} + +function refreshNetwork(xml) { + $("#tbody_network").empty(); + $("Network",xml).each(function(id) { + network = $("Network",xml).get(id); + $("NetDevice",network).each(function(did) { + device = $("NetDevice",network).get(did); + name = $("Name",device).text(); + rx = $("RxBytes",device).text(); + tx = $("TxBytes",device).text(); + errors = $("Err",device).text(); + drops = $("Drops",device).text(); + $("#tbody_network").append("<tr><td>" + name + "</td><td class=\"right\">" + formatBytes(rx, xml) + "</td><td class=\"right\">" + formatBytes(tx, xml) + "</td><td class=\"right\">" + errors + "/" + drops + "</td></tr>"); + }); + }); +} + +function displayPage(xml) { + $("#template").val(cookie_template); + $("#lang").val(cookie_language); + $("#loader").hide(); + $('.stripeMe tr:nth-child(even)').addClass('odd'); + $("#container").fadeIn("slow"); + versioni = $("Generation", xml).attr("version"); + $("#version").html(versioni); +} + +function refreshMemory(xml) { + $("#tbody_memory").empty(); + $("Memory",xml).each(function(id) { + vital = $("Memory",xml).get(id); + free = $("Free",vital).text(); + used = $("Used",vital).text(); + total = $("Total",vital).text(); + percent = $("Percent",vital).text(); + $("#tbody_memory").append("<tr><td style=\"width:200px;\"><span lang='028'>" + $("string[id=028]",langxml).text() + "</span></td><td style=\"width:285px;\">" + createBar(percent) + "</td><td class=\"right\" style=\"width:100px;\">" + formatBytes(free, xml) + "</td><td class=\"right\" style=\"width:100px;\">" + formatBytes(used, xml) + "</td><td class=\"right\" style=\"width:100px;\">" + formatBytes(total, xml) + "</td></tr>"); + + if($("App", vital).length > 0) { + app = $("App", vital).text(); + appp = $("AppPercent", vital).text(); + buff = $("Buffers", vital).text(); + buffp = $("BuffersPercent", vital).text(); + cached = $("Cached", vital).text(); + cachedp = $("CachedPercent", vital).text(); + $("#tbody_memory").append("<tr><td style=\"width:184px;padding-left:26px;\"><span lang='064'>" + $("string[id=064]",langxml).text() + "</span></td><td style=\"width:285px;\">" + createBar(appp) + "</td><td class=\"right\" style=\"width:100px;\"> </td><td class=\"right\" style=\"width:100px\">" + formatBytes(app, xml) + "</td><td class=\"right\" style=\"width:100px;\"> </td></tr>"); + $("#tbody_memory").append("<tr><td style=\"width:184px;padding-left:26px;\"><span lang='065'>" + $("string[id=065]",langxml).text() + "</span></td><td style=\"width:285px\">" + createBar(buffp) + "</td><td class=\"rigth\" style=\"width:100px;\"> </td><td class=\"right\" style=\"width:100px;\">" + formatBytes(buff, xml) + "</td><td class=\"right\" style=\"width:100px;\"> </td></tr>"); + $("#tbody_memory").append("<tr><td style=\"width:184px;padding-left:26px;\"><span lang='066'>" + $("string[id=066]",langxml).text() + "</span></td><td style=\"width:285px;\">" + createBar(cachedp) + "</td><td class=\"right\" style=\"width:100px;\"> </td><td class=\"right\" style=\"width:100px;\">" + formatBytes(cached, xml) + "</td><td class=\"right\" style=\"width:100px;\"> </td></tr>"); + } + }); + + $("Swap",xml).each(function(id) { + vital = $("Swap",xml).get(id); + if($("Total",vital).length > 0) { + free = $("Free",vital).text(); + used = $("Used",vital).text(); + total = $("Total",vital).text(); + percent = $("Percent",vital).text(); + $("#tbody_memory").append("<tr><td style=\"width:200px;\"><span lang='029'>" + $("string[id=029]",langxml).text() + "</span></td><td style=\"width:285px;\">" + createBar(percent) + "</td><td class=\"right\" style=\"width:100px;\">" + formatBytes(free, xml) + "</td><td class=\"right\" style=\"width:100px;\">" + formatBytes(used, xml) + "</td><td class=\"right\" style=\"width:100px;\">" + formatBytes(total, xml) + "</td></tr>"); + + if($("Swapdevices", xml).length > 0) { + $("Swapdevices",xml).each(function(id) { + alldev = $("Swapdevices",xml).get(id); + $("Mount",alldev).each(function(id) { + dev = $("Mount",alldev).get(id); + free = $("Free",dev).text(); + used = $("Used",dev).text(); + total = $("Size",dev).text(); + percent = $("Percent",dev).text(); + $("Device",dev).each(function(id) { + devname = $("Device",dev).get(id); + name = $("Name", devname).text(); + }); + $("#tbody_memory").append("<tr><td style=\"width:184px;padding-left:26px;\">" + name + "</td><td style=\"width:285px;\">" + createBar(percent) + "</td><td class=\"right\" style=\"width:100px\">" + formatBytes(free, xml) + "</td><td class=\"right\" style=\"width:100px;\">" + formatBytes(used, xml) + "</td><td class=\"right\" style=\"width:100px;\">" + formatBytes(total, xml) + "</td></tr>"); + }); + }); + } + }; + }); +} + +function refreshFilesystems(xml) { + var total_usage = 0; + var total_used = 0; + var total_free = 0; + var total_size = 0; + var inodes_text = ""; + var filesystem; + + $("#filesystemTable tbody").empty(); + $("FileSystem",xml).each(function(id) { + filesystem = $("FileSystem",xml).get(id); + $("Mount",filesystem).each(function(mid) { + mount = $("Mount",filesystem).get(mid); + $("Device",mount).each(function(did) { + dev = $("Device",mount).get(did); + name = $("Name",dev).text(); + }); + mpid = $("MountPointID",mount).text(); + mpoint = $("MountPoint",mount).text(); + type = $("Type",mount).text(); + percent = $("Percent",mount).text(); + free = $("Free",mount).text(); + used = $("Used",mount).text(); + size = $("Size",mount).text(); + inodes = $("Inodes",mount).text(); + + if(mpoint == "") mpoint = mpid; + if(inodes != "") inodes_text = "<span style='font-style:italic'> (" + inodes + "%)</span>"; + + $("#filesystemTable tbody").append("<tr><td val=\"" + mpoint + "\">" + mpoint + "</td><td val=\"" + type + "\">" + type + "</td><td val=\"" + name + "\">" + name + "</td><td val=\"" + percent + "\">" + createBar(percent) + inodes_text + "</td><td class=\"right\" val=\"" + free + "\">" + formatBytes(free, xml) + "</td><td class=\"right\" val=\"" + used + "\">" + formatBytes(used, xml) + "</td><td class=\"right\" val=\"" + size + "\">" + formatBytes(size, xml) + "</td></tr>"); + + total_used += parseInt(used); + total_free += parseInt(free); + total_size += parseInt(size); + total_usage = Math.round( (total_used / total_size) * 100 ); + }); + + $("#s_fs_total").html(createBar(total_usage)); + $("#s_fs_tfree").html(formatBytes(total_free, xml)); + $("#s_fs_tused").html(formatBytes(total_used, xml)); + $("#s_fs_tsize").html(formatBytes(total_size, xml)); + }); + + var myTextExtraction = function(node) + { + if($(node).attr("val")) + return $(node).attr("val"); + else + return ""; + } + + if($("#filesystemTable tbody tr").length >0) + { + $("#filesystemTable").tablesorter({ + textExtraction: myTextExtraction, + widgets: ['zebra'] + }); + } +} + +function refreshHardware(xml) { + var hardware; + $("Hardware",xml).each(function(id) { + hardware = $("Hardware",xml).get(id); + $("CPU",hardware).each(function(id) { + cpu = $("CPU",hardware).get(id); + num = $("Number",cpu).text(); + model = $("Model",cpu).text(); + speed = $("Cpuspeed",cpu).text(); + bus = $("Busspeed",cpu).text(); + cache = $("Cache",cpu).text(); + bogo = $("Bogomips",cpu).text(); + $("#s_num").html(num); + $("#s_model").html(model); + $("#s_speed").html(formatHertz(speed)); + $("#s_bus").html(formatHertz(bus)); + $("#s_cache").html(cache); + $("#s_bogo").html(bogo); + }); + popDevices('PCI:', 'pciTable', 'PCI', hardware); + popDevices('IDE:', 'ideTable', 'IDE', hardware); + popDevices('SCSI:', 'scsiTable', 'SCSI', hardware); + popDevices('USB:', 'usbTable', 'USB', hardware); + }); +} + +function popDevices(header, table, type, xml) { + var text = ''; + $(type,xml).each(function(id) { + alldev = $(type,xml).get(id); + $("Device",alldev).each(function(id) { + dev = $("Device",alldev).get(id); + text = text + "<li>" + $("Name",dev).text(); + capacity = $("Capacity",dev).length; + if(capacity > 0) { + text = text + " (" + formatBytes($("Capacity",dev).text(),xml) + ")"; + } + text = text +"</li>"; + }); + }); + $("#" + table).empty(); + if(text == "") { + $("#" + table).append("<tr><td><ul style=\"margin-left:10px;\"><li><span lang='042'>" + $("string[id=042]",langxml).text() + "</span></li></ul></td></tr>"); + } else { + $("#" + table).append("<tr><td><ul style=\"margin-left:10px;\">" + text + "</ul></td></tr>" ); + } +} + +function checkForVoltage(xml) { + var voltage; + voltage = $("Voltage",xml).length; + if(voltage > 0) { + return true; + } + return false; +} + +function checkForTemp(xml) { + var voltage; + voltage = $("Temperature",xml).length; + if(voltage > 0) { + return true; + } + return false; +} + +function checkForFan(xml) { + var fan; + fan = $("Fans",xml).length; + if(fan > 0) { + return true; + } + return false; +} + +function checkForHddtemp(xml) { + var voltage; + voltage = $("HDDTemp",xml).length; + if(voltage > 0) { + return true; + } + return false; +} + +function checkForUPSinfo(xml) { + var voltage; + voltage = $("UPSinfo",xml).length; + if(voltage > 0) { + return true; + } + return false; +} + +function populateVoltage(xml) { + var voltage, item; + $("#voltageTable").empty(); + if(checkForVoltage(xml)) { + $("Voltage",xml).each(function(id) { + voltage = $("Voltage",xml).get(id); + $("Item",voltage).each(function(iid) { + item = $("Item",voltage).get(iid); + label = $("Label",item).text(); + value = $("Value",item).text(); + max = $("Max",item).text(); + min = $("Min",item).text(); + $("#voltageTable").append("<tr><td>" + label + "</td><td class=\"right\">" + round(value,2) + " <span lang='062'>V</span></td><td class=\"right\">" + round(min,2) + " <span lang='062'>V</span></td><td class=\"right\">" + round(max,2) + " <span lang='062'>V</span></td></tr>"); + }); + }); + $("#voltage").show(); + } +} + +function populateTemp(xml) { + var temp, item; + $("#tempTable").empty(); + if(checkForTemp(xml)) { + $("Temperature",xml).each(function(id) { + temp = $("Temperature",xml).get(id); + $("Item",temp).each(function(iid) { + item = $("Item",temp).get(iid); + label = $("Label",item).text(); + value = $("Value",item).text(); + limit = $("Limit",item).text(); + value = value.replace(/\+/g,""); + limit = limit.replace(/\+/g,""); + $("#tempTable").append("<tr><td>" + label + "</td><td class=\"right\">" + formatTemp(value, xml) + "</td><td class=\"right\">" + formatTemp(limit, xml) + "</td></tr>"); + }); + }); + $("#temp").show(); + } +} + +function populateFan(xml) { + var fan, item; + $("#fanTable").empty(); + if(checkForFan(xml)) { + $("Fans",xml).each(function(id) { + fan = $("Fans",xml).get(id); + $("Item",fan).each(function(iid) { + item = $("Item",fan).get(iid); + label = $("Label",item).text(); + value = $("Value",item).text(); + min = $("Min",item).text(); + $("#fanTable").append("<tr><td>" + label + "</td><td class=\"right\">" + value + " <span lang='063'>RPM</span></td><td class=\"right\">" + min + " <span lang='063'>RPM</span></td></tr>"); + }); + }); + $("#fan").show(); + } +} + +function populateHddtemp(xml) { + var temp, item; + if(checkForHddtemp(xml)) { + $("HDDTemp",xml).each(function(id) { + temp = $("HDDTemp",xml).get(id); + $("Item",temp).each(function(iid) { + item = $("Item",temp).get(iid); + label = $("Label",item).text(); + value = $("Value",item).text(); + model = $("Model",item).text(); + if(value != 'NA') { + $("#tempTable").append("<tr><td>" + model + "</td><td class=\"right\">" + formatTemp(value, xml) + "</td><td> </td></tr>"); + } + }); + }); + $("#temp").show(); + } +} + +function populateUps(xml) { + var upses, ups; + $("#upsTable").empty(); + if(checkForUPSinfo(xml)) { + $("UPSinfo",xml).each(function(id) { + upses = $("UPSinfo",xml).get(id); + $("Ups", upses).each(function(did) { + ups = $("Ups", upses).get(did); + name = $("Name", ups).text(); + model = $("Model", ups).text(); + mode = $("Mode", ups).text(); + start_time = $("StartTime", ups).text(); + upsstatus = $("Status", ups).text(); + temperature = $("UPSTemperature", ups).text(); + outages_count = $("OutagesCount", ups).text(); + last_outage = $("LastOutage", ups).text(); + last_outage_finish = $("LastOutageFinish", ups).text(); + line_voltage = $("LineVoltage", ups).text(); + load_percent = $("LoadPercent", ups).text(); + battery_voltage = $("BatteryVoltage", ups).text(); + battery_charge_percent = $("BatteryChargePercent", ups).text(); + time_left_minutes = $("TimeLeftMinutes", ups).text(); + + $("#upsTable").append('<tr><th colspan="2" style="text-align: center"><strong>' + name + ' (' + mode + ')</strong></th></tr>'); + $("#upsTable").append('<tr><td style="width:160px" lang="070">Model</td><td>' + model + '</td></tr>'); + $("#upsTable").append('<tr><td style="width:160px" lang="072">Started</td><td>' + start_time + '</td></tr>'); + $("#upsTable").append('<tr><td style="width:160px" lang="073">Status</td><td>' + upsstatus + '</td></tr>'); + + if (temperature != '') $("#upsTable").append('<tr><td style="width:160px" lang="084">Temperature</td><td>' + temperature + '</td></tr>'); + if (outages_count != '') $("#upsTable").append('<tr><td style="width:160px" lang="074">Outages</td><td>' + outages_count + '</td></tr>'); + if (last_outage != '') $("#upsTable").append('<tr><td style="width:160px" lang="075">Last outage cause</td><td>' + last_outage + '</td></tr>'); + if (last_outage_finish != '') $("#upsTable").append('<tr><td style="width:160px" lang="076">Last outage timestamp</td><td>' + last_outage_finish + '</td></tr>'); + if (line_voltage != '') $("#upsTable").append('<tr><td style="width:160px" lang="077">Line voltage</td><td>' + line_voltage + ' <span lang="082">V</span></td></tr>'); + if (load_percent != '') $("#upsTable").append('<tr><td style="width:160px" lang="078">Load percent</td><td>' + createBar(load_percent) + '</td></tr>'); + if (battery_voltage != '') $("#upsTable").append('<tr><td style="width:160px" lang="079">Battery voltage</td><td>' + battery_voltage + ' <span lang="082">V</span></td></tr>'); + $("#upsTable").append('<tr><td style="width:160px" lang="080">Battery charge</td><td>' + createBar(battery_charge_percent) + '</td></tr>'); + $("#upsTable").append('<tr><td style="width:160px" lang="081">Time left on batteries</td><td>' + time_left_minutes + ' <span lang="083">minutes</span></td></tr>'); + }); + }); + $("#ups").show(); + } //if we have upses +} + +function populateErrors(xml) { + var errors; + var error; + var message; + var fn; + errors = $("Error",xml).length; + if(errors > 0) { + $("#errorlist").empty(); + $("Error",xml).each(function(id) { + error = $("Error",xml).get(id); + message = $("Message",error).text(); + fn = $("Function",error).text(); + $("#errorlist").append("<b>" + fn + "</b><br/><br/><pre>" + message + "</pre><hr>"); + }); + $("#warn").css("display", "inline"); + } +} + +function uptimeFormat(sec) { + txt = ''; + intMin = sec / 60; + intHours = intMin / 60; + intDays = Math.floor(intHours/24); + intHours = Math.floor(intHours-(intDays*24)); + intMin = Math.floor(intMin-(intDays*60*24)-(intHours*60)); + + if(intDays != 0 ) { + txt = txt + intDays + " <span lang='048'>" + $("string[id=048]",langxml).text() + "</span> "; + } + if(intHours != 0 ) { + txt = txt + intHours + " <span lang='049'>" + $("string[id=049]",langxml).text() + "</span> "; + } + txt = txt + intMin + " <span lang='050'>" + $("string[id=050]",langxml).text() + "</span>"; + return txt; +} + +function formatBytes(bytes, xml) { + var byteFormat; + + $("Options",xml).each(function(id) { + options = $("Options",xml).get(id); + byteFormat = $("byteFormat",options).text(); + }); + + switch( byteFormat ){ + case "PiB": + show = round(bytes/Math.pow(1024, 5), 2) + show += " <span lang='090'>" + $("string[id=090]",langxml).text() + "</span>"; + break; + case "TiB": + show = round(bytes/Math.pow(1024, 4), 2) + show += " <span lang='086'>" + $("string[id=086]",langxml).text() + "</span>"; + break; + case "GiB": + show = round(bytes/Math.pow(1024, 3), 2); + show += " <span lang='087'>" + $("string[id=087]",langxml).text() + "</span>"; + break; + case "MiB": + show = round(bytes/Math.pow(1024, 2), 2); + show += " <span lang='088'>" + $("string[id=088]",langxml).text() + "</span>"; + break; + case "KiB": + show = round(bytes/Math.pow(1024, 1), 2); + show += " <span lang='089'>" + $("string[id=089]",langxml).text() + "</span>"; + break; + case "PB": + show = round(bytes/Math.pow(1000, 5), 2) + show += " <span lang='091'>" + $("string[id=091]",langxml).text() + "</span>"; + break; + case "TB": + show = round(bytes/Math.pow(1000, 4), 2) + show += " <span lang='085'>" + $("string[id=085]",langxml).text() + "</span>"; + break; + case "GB": + show = round(bytes/Math.pow(1000, 3), 2); + show += " <span lang='041'>" + $("string[id=041]",langxml).text() + "</span>"; + break; + case "MB": + show = round(bytes/Math.pow(1000, 2), 2); + show += " <span lang='040'>" + $("string[id=040]",langxml).text() + "</span>"; + break; + case "KB": + show = round(bytes/Math.pow(1000, 1), 2); + show += " <span lang='039'>" + $("string[id=039]",langxml).text() + "</span>"; + break; + case "auto_decimal": + if(bytes > Math.pow(1000, 5)) { + show = round(bytes/Math.pow(1000, 5), 2); + show += " <span lang='091'>" + $("string[id=091]",langxml).text() + "</span>"; + } else if(bytes > Math.pow(1000, 4)) { + show = round(bytes/Math.pow(1000, 4), 2); + show += " <span lang='085'>" + $("string[id=085]",langxml).text() + "</span>"; + } else if(bytes > Math.pow(1000, 3)) { + show = round(bytes/Math.pow(1000, 3), 2); + show += " <span lang='041'>" + $("string[id=041]",langxml).text() + "</span>"; + } else if(bytes > Math.pow(1000, 2)) { + show = round(bytes/Math.pow(1000, 2), 2); + show += " <span lang='040'>" + $("string[id=040]",langxml).text() + "</span>"; + } else { + show = round(bytes/Math.pow(1000, 1), 2); + show += " <span lang='039'>" + $("string[id=039]",langxml).text() + "</span>"; + } + break; + case "auto_binary": + default: + if(bytes > Math.pow(1024, 5)) { + show = round(bytes/Math.pow(1024, 5), 2); + show += " <span lang='090'>" + $("string[id=090]",langxml).text() + "</span>"; + } else if(bytes > Math.pow(1024, 4)) { + show = round(bytes/Math.pow(1024, 4), 2); + show += " <span lang='086'>" + $("string[id=086]",langxml).text() + "</span>"; + } else if(bytes > Math.pow(1024, 3)) { + show = round(bytes/Math.pow(1024, 3), 2); + show += " <span lang='087'>" + $("string[id=087]",langxml).text() + "</span>"; + } else if(bytes > Math.pow(1024, 2)) { + show = round(bytes/Math.pow(1024, 2), 2); + show += " <span lang='088'>" + $("string[id=088]",langxml).text() + "</span>"; + } else { + show = round(bytes/Math.pow(1024, 1), 2); + show += " <span lang='089'>" + $("string[id=089]",langxml).text() + "</span>"; + } + } + return show; +} + +function formatHertz(mhertz) { + if(mhertz != "" && mhertz < 1000) { + return mhertz + " Mhz"; + } else if(mhertz != "" && mhertz >=1000) { + return Math.round(mhertz/1000*100)/100 + " GHz"; + } else { + return ""; + } +} + +function formatTemp(degreeC, xml){ + var tempFormat; + var degreeF = ( ( 9 * degreeC ) / 5 ) + 32; + + $("Options",xml).each(function(id) { + options = $("Options",xml).get(id); + tempFormat = $("tempFormat",options).text(); + }); + + if (parseFloat(1 * degreeC).toString() == "NaN") return "---"; + + if(tempFormat == "f"){ + return round(degreeF,1) + " <span lang='061'>F</span>"; + } + else if(tempFormat == "c-f"){ + return round(degreeC,1) + " <span lang='060'>C</span> (" + round(degreeF,1) + " <span lang='061'>F</span>)"; + } + else if(tempFormat == "f-c"){ + return round(degreeF,1) + " <span lang='061'>F</span> (" + round(degreeC,1) + " <span lang='060'>C</span>)"; + } + else{ + return round(degreeC,1) + " <span lang='060'>C</span>"; + } +} + +function createBar(percent) { + h = '<div class="bar" style="float:left; width: ' + percent + 'px "> </div> <div style="float: left"> ' + percent + '%</div>'; + return h; +} + +function round(x, n) { + if (n < 1 || n > 14) return x; + var e = Math.pow(10, n); + var k = (Math.round(x * e) / e).toString(); + if (k.indexOf('.') == -1) k += '.'; + k += e.toString().substring(1); + return k.substring(0, k.indexOf('.') + n+1); +} + +// cookie functions http://www.quirksmode.org/js/cookies.html +function createCookie(name,value,days) { + if (days) { + var date = new Date(); + date.setTime(date.getTime()+(days*24*60*60*1000)); + var expires = "; expires="+date.toGMTString(); + } + else var expires = ""; + document.cookie = name+"="+value+expires+"; path=/"; + } + +function readCookie(name) { + var nameEQ = name + "="; + var ca = document.cookie.split(';'); + for(var i=0;i < ca.length;i++) { + var c = ca[i]; + while (c.charAt(0)==' ') c = c.substring(1,c.length); + if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); + } + return null; +} + +function eraseCookie(name) { + createCookie(name,"",-1); +} +// cookie functions + +function buildBlock(plugin, headline, translationid, reload) { + var block; + var reloadpic = ""; + if(reload) { + reloadpic = "<img id=\"reload_" + plugin + "Table\" src=\"./gfx/reload.png\" alt=\"reload\" style=\"vertical-align:middle;border=0px;\" /> "; + } + block = " <h2>" + reloadpic + "<span lang=\"plugin_" + plugin + "_" + translationid + "\">" + headline + "</span></h2>\n<span id=\"DateTime\" style=\"margin-left:10px;\"></span>"; + block += " <table class=\"stripeMe\" id=\"plugin_" + plugin + "Table\" cellspacing=\"0\">\n"; + block += " </table>\n"; + return block; +} + +function plugin_translate(plugin) { + plugin_liste.push(plugin); + getLanguage(cookie_language,plugin); +} + Property changes on: phpsysinfo.js ___________________________________________________________________ Added: svn:mime-type + text/javascript Added: svn:keywords + Id Added: svn:eol-style + LF This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Big...@us...> - 2008-12-08 10:00:34
|
Revision: 37 http://phpsysinfo.svn.sourceforge.net/phpsysinfo/?rev=37&view=rev Author: BigMichi1 Date: 2008-12-08 10:00:30 +0000 (Mon, 08 Dec 2008) Log Message: ----------- import cvs Added Paths: ----------- config.php.new Added: config.php.new =================================================================== --- config.php.new (rev 0) +++ config.php.new 2008-12-08 10:00:30 UTC (rev 37) @@ -0,0 +1,154 @@ +<?php +/*************************************************************************** + * Copyright (C) 2008 by phpSysInfo - A PHP System Information Script * + * http://phpsysinfo.sourceforge.net/ * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ +// +// $Id$ +// + +// turn on dubugging of some functions and include errors and warnings in xml and provide a +// popup for displaying errors +// false = no debug infos are stored in xml or displayed +// true = debug infos stored in xml and displayed *be carfull if set this to true, may include infos from your pc* +define('PSI_DEBUG', false); + +// define the default language and template here +define('PSI_DEFAULT_LANG', 'en'); +define('PSI_DEFAULT_TEMPLATE', 'phpsysinfo.css'); + +//define the intervalle for refreshing data (ms) 1 000 = 1s +define('PSI_REFRESH',10000); + +// display the virtual host name and address +// default is canonical host name and address +// Use define('PSI_USE_VHOST', true); to display virtual host name. +define('PSI_USE_VHOST', false); + +// define the motherboard monitoring program here +// we support the following programs so far +// 1. lmsensors http://www.lm-sensors.org/ +// 2. healthd http://healthd.thehousleys.net/ +// 3. hwsensors http://www.openbsd.org/ +// 4. mbmon http://www.nt.phys.kyushu-u.ac.jp/shimizu/download/download.html +// 5. mbm5 http://mbm.livewiredev.com/ +// 6. coretemp +// 7. ipmi http://openipmi.sourceforge.net/ +// Example: If you want to use lmsensors. +// define('PSI_SENSOR_PROGRAM', 'lmsensors'); +define('PSI_SENSOR_PROGRAM', false); + +// define hot to access the monitor program +// available methods for the above list are in the following list +// default method 'file' should be fine for everybody +// !!! tcp connections are only made local and on the default port !!! +// 1. lmsensors file +// 2. healthd file +// 3. hwsensors file +// 4. mbmon file, tcp +// 5. mbm5 file +// 6. coretemp file +// 7. ipmi file +define('PSI_SENSOR_ACCESS', 'file'); + +// show mount point +// true = show mount point +// false = do not show mount point +define('PSI_SHOW_MOUNT_POINT', true); + +// show bind +// true = display filesystems mounted with the bind options under Linux +// false = hide them +define('PSI_SHOW_BIND', false); + +// show inode usage +// true = display used inodes in percent +// false = hide them +define('PSI_SHOW_INODES', true); + +// Hide mount(s). Example: +// define('PSI_HIDE_MOUNTS', '/home,/usr'); +define('PSI_HIDE_MOUNTS', ''); + +// Hide filesystem types. Example: +// define('PSI_HIDE_FS_TYPES', 'tmpfs,usbfs'); +define('PSI_HIDE_FS_TYPES', ''); + +// Hide partitions. Example: +// define('PSI_HIDE_DISKS', 'rootfs'); +define('PSI_HIDE_DISKS', ''); + +// Hide network interfaces. Example: +// define('PSI_HIDE_NETWORK_INTERFACE', 'eth0,sit0'); +define('PSI_HIDE_NETWORK_INTERFACE', ''); + +// if the hddtemp program is available we can read the temperature, if hdd is smart capable +// !!ATTENTION!! hddtemp might be a security issue +// define('PSI_HDD_TEMP', 'tcp'); // read data from hddtemp deamon (localhost:7634) +// define('PSI_HDD_TEMP', 'suid'); // read data from hddtemp programm (must be set suid) +define('PSI_HDD_TEMP', false); + +// show a graph for current cpuload +// true = displayed, but it's a performance hit (because we have to wait to get a value, 1 second) +// false = will not be displayed +define('PSI_LOAD_BAR', false); + +// additional paths where to look for installed programs +// e.g. define('PSI_ADD_PATHS', '/opt/bin','/opt/sbin'); +define('PSI_ADD_PATHS', false); + +// format in which temperature is displayed (not implemented) +// 'c' shown in celsius +// 'f' shown in fahrenheit +// 'c-f' both shown first celsius and fahrenheit in braces +// 'f-c' both shown first fahrenheit and celsius in braces +define('PSI_TEMP_FORMAT', 'c'); + +// UPS information +// We support the following programs at the moment +// 1. apcupsd http://www.apcupsd.com/ +define('PSI_UPS_PROGRAM', false); + +// apcupsd supports multiple UPSes you can specify comma delimited list in the form <hostname>:<port> +// or <ip>:<port>. The defaults are: 127.0.0.1:3551 +// See the following parameters in apcupsd.conf: NETSERVER, NISIP, NISPORT +define('PSI_APCUPSD_UPS_LIST', '127.0.0.1:3551'); + +// PSI_BYTE_FORMAT controls the units & format for network, memory and filesystem +// 1 KiB = 2^10 bytes = 1,024 bytes +// 1 KB = 10^3 bytes = 1,000 bytes +// 'PiB' everything is in PeBiByte +// 'TiB' everything is in TeBiByte +// 'GiB' everything is in GiBiByte +// 'MiB' everything is in MeBiByte +// 'KiB' everything is in KiBiByte +// 'auto_binary' everything is automatic done if value is to big for, e.g MiB then it will be in GiB +// 'PB' everything is in PetaByte +// 'TB' everything is in TeraByte +// 'GB' everything is in GigaByte +// 'MB' everything is in MegaByte +// 'KB' everything is in KiloByte +// 'auto_decimal' everything is automatic done if value is to big for, e.g MB then it will be in GB +define('PSI_BYTE_FORMAT', 'auto_binary'); + +// Plugins that should be included in xml and output +// list of plugins should look like "plugin,plugin,plugin" +// define('PSI_PLUGINS', 'plugin,plugin'); // list of plugins +// define('PSI_PLUGINS', false); //no plugins +define('PSI_PLUGINS', false); +?> Property changes on: config.php.new ___________________________________________________________________ Added: svn:mime-type + text/x-php Added: svn:keywords + Id Added: svn:eol-style + LF This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |