0byt3m1n1
Path:
C:
/
wamp64
/
apps
/
phpsysinfo3.3.1
/
tools
/
[
Home
]
File: checkdistro.php
<?php echo "<!DOCTYPE html>"; echo "<head>"; echo "<meta charset=\"UTF-8\">"; echo "<title> </title>"; echo "</head>"; echo "<body>"; define('PSI_APP_ROOT', dirname(__FILE__).'/..'); require_once PSI_APP_ROOT.'/includes/interface/class.PSI_Interface_OS.inc.php'; require_once PSI_APP_ROOT.'/includes/os/class.OS.inc.php'; require_once PSI_APP_ROOT.'/includes/to/class.System.inc.php'; require_once PSI_APP_ROOT.'/includes/os/class.Linux.inc.php'; define('PSI_USE_VHOST', false); define('PSI_DEBUG', false); define('PSI_LOAD_BAR', false); $log_file = ""; $lsb = true; //enable detection lsb_release -a $lsbfile = true; //enable detection /etc/lsb-release class PSI_Error { public static function singleton() { } } class Parser { public static function lspci() { return array(); } public static function df() { return array(); } } class CommonFunctions { private static function _parse_log_file($string) { global $log_file; if (file_exists($log_file)) { $contents = @file_get_contents($log_file); $contents = preg_replace("/\r\n/", "\n", $contents); if ($contents && preg_match("/^\-\-\-\-\-\-\-\-\-\-".preg_quote($string, '/')."\-\-\-\-\-\-\-\-\-\-\n/m", $contents, $matches, PREG_OFFSET_CAPTURE)) { $findIndex = $matches[0][1]; if (preg_match("/\n/m", $contents, $matches, PREG_OFFSET_CAPTURE, $findIndex)) { $startIndex = $matches[0][1]+1; if (preg_match("/^\-\-\-\-\-\-\-\-\-\-/m", $contents, $matches, PREG_OFFSET_CAPTURE, $startIndex)) { $stopIndex = $matches[0][1]; return substr($contents, $startIndex, $stopIndex-$startIndex); } else { return substr($contents, $startIndex); } } } } return false; } public static function rfts($strFileName, &$strRet, $intLines = 0, $intBytes = 4096, $booErrorRep = true) { global $lsb; global $lsbfile; if ($lsb || $lsbfile || ($strFileName != "/etc/lsb-release")) { $strRet=self::_parse_log_file($strFileName); if ($strRet && ($intLines == 1) && (strpos($strRet, "\n") !== false)) { $strRet=trim(substr($strRet, 0, strpos($strRet, "\n"))); } return $strRet; } else { return false; } } public static function executeProgram($strProgramname, $strArgs, &$strBuffer, $booErrorRep = true, $timeout = 30) { global $lsb; $strBuffer = ''; if ($strProgramname=='lsb_release') { return $lsb && ($strBuffer = self::_parse_log_file('lsb_release -a')); } else { return $strBuffer = self::_parse_log_file($strProgramname); } } public static function fileexists($strFileName) { global $log_file; global $lsb; global $lsbfile; if (file_exists($log_file) && ($lsb || $lsbfile || ($strFileName != "/etc/lsb-release")) && ($contents = @file_get_contents($log_file)) && preg_match("/^\-\-\-\-\-\-\-\-\-\-".preg_quote($strFileName, '/')."\-\-\-\-\-\-\-\-\-\-\r?\n/m", $contents)) { return true; } return false; } public static function readenv($strElem, &$strBuffer) { return false; } public static function gdc() { return array(); } } class _Linux extends Linux { public function build() { parent::_distro(); } } $system = new _Linux(); if ($handle = opendir(PSI_APP_ROOT.'/sample/distrotest')) { echo "<table cellpadding=\"2\" border=\"1\" CELLSPACING=\"0\">"; echo "<tr>"; echo "<td>Distrotest sample</td>"; echo "<td>Distro Name</td>"; echo "<td>Distro Icon</td>"; echo "<td>Distro Name (no lsb_release)</td>"; echo "<td>Distro Icon (no lsb_release)</td>"; echo "<td>Distro Name (no lsb_release and no /etc/lsb-release)</td>"; echo "<td>Distro Icon (no lsb_release and no /etc/lsb-release)</td>"; echo "</tr>"; while (false !== ($entry = readdir($handle))) { if (($entry!=".")&&($entry!="..")) { if ($shandle = opendir(PSI_APP_ROOT."/sample/distrotest/$entry")) { while (false !== ($sentry = readdir($shandle))) { if (($sentry!=".")&&($sentry!="..")) { $log_file=PSI_APP_ROOT.'/sample/distrotest/'.$entry.'/'.$sentry; echo "<tr>"; echo "<td>".$entry.'/'.$sentry."</td>"; $lsb = true; $lsbfile = true; $sys=$system->getSys(); $distro=$sys->getDistribution(); $icon=$sys->getDistributionIcon(); if ($icon == '') $icon="unknown.png"; if ($icon != $entry.'.png') echo "<td style='color:red'>"; else echo "<td>"; echo $distro."</td>"; if ($icon != $entry.'.png') echo "<td style='color:red'>"; else echo "<td>"; echo "<img src=\"../gfx/images/".$icon."\" height=\"16\" width=\"16\"/>"; echo $icon."</td>"; $sys->setDistribution(""); $sys->setDistributionIcon(""); $lsb = false; $lsbfile = true; $sys=$system->getSys(); $distro=$sys->getDistribution(); $icon=$sys->getDistributionIcon(); if ($icon == '') $icon="unknown.png"; if ($icon != $entry.'.png') echo "<td style='color:red'>"; else echo "<td>"; echo $distro."</td>"; if ($icon != $entry.'.png') echo "<td style='color:red'>"; else echo "<td>"; echo "<img src=\"../gfx/images/".$icon."\" height=\"16\" width=\"16\"/>"; echo $icon."</td>"; $sys->setDistribution(""); $sys->setDistributionIcon(""); $lsb = false; $lsbfile = false; $sys=$system->getSys(); $distro=$sys->getDistribution(); $icon=$sys->getDistributionIcon(); if ($icon == '') $icon="unknown.png"; if ($icon != $entry.'.png') echo "<td style='color:red'>"; else echo "<td>"; echo $distro."</td>"; if ($icon != $entry.'.png') echo "<td style='color:red'>"; else echo "<td>"; echo "<img src=\"../gfx/images/".$icon."\" height=\"16\" width=\"16\"/>"; echo $icon."</td>"; $sys->setDistribution(""); $sys->setDistributionIcon(""); echo "</tr>"; } } closedir($shandle); } } } echo "</table>"; closedir($handle); } echo "</body>";