Source for file class.hddtemp.inc.php
Documentation is available at class.hddtemp.inc.php
// 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.inc.php,v 1.7 2007/01/21 13:17:20 bigmichi1 Exp $
switch ($hddtemp_avail) {
// 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
// read output of the daemon
$lines .=
fread($fp, 1024);
die("HDDTemp error: " .
$errno .
", " .
$errstr);
$strContent =
rfts( "/proc/diskstats", 0, 4096, false );
if( $strContent !=
"ERROR" ) {
$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];
$strDrives =
$strDrives .
$strDrive .
' ';
$strContent =
rfts( "/proc/partitions", 0, 4096, false );
if( $strContent !=
"ERROR" ) {
$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];
$strDrives =
$strDrives .
$strDrive .
' ';
if( trim( $strDrives ) ==
"" ) {
$hddtemp_value =
explode("\n", $hddtemp_value);
foreach($hddtemp_value as $line) {
list
($temp[2], $temp[3]) =
(preg_split("/\s/", $temp[2]));
die("Bad hddtemp configuration in config.php");
// Timo van Roermund: parse the info from the hddtemp daemon.
foreach($ar_buf as $line) {
if (ereg("\|(.*)\|(.*)\|(.*)\|(.*)\|", $line, $data)) {
if( trim($data[3]) !=
"ERR" ) {
$results[$i]['label'] =
$data[1];
$results[$i]['value'] =
$data[3];
$results[$i]['model'] =
$data[2];
Documentation generated on Mon, 17 Nov 2008 01:10:23 +0100 by phpDocumentor 1.4.0