phpmyadmin/libraries/sysinfo.lib.php
Maurício Meneghini Fauth 8f943ae1c0 Move classes to PhpMyAdmin namespace
- Move Sanitize to PhpMyAdmin namespace
- Move SavedSearches to PhpMyAdmin namespace
- Move Scripts to PhpMyAdmin namespace
- Move ServerStatusData to PhpMyAdmin namespace
- Move Sql to PhpMyAdmin namespace
- Move StorageEngine to PhpMyAdmin namespace
- Move SubPartition to PhpMyAdmin namespace
- Move SysInfoLinux to PhpMyAdmin namespace
- Move SysInfoSunOS to PhpMyAdmin namespace
- Move SysInfoWINNT to PhpMyAdmin namespace
- Move SysInfo to PhpMyAdmin namespace
- Move SystemDatabase to PhpMyAdmin namespace

Signed-off-by: Maurício Meneghini Fauth <mauriciofauth@gmail.com>
2017-07-07 01:46:08 -03:00

64 lines
1.3 KiB
PHP

<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
* Library for extracting information about system memory and cpu.
* Currently supports all Windows and Linux platforms
*
* This code is based on the OS Classes from the phpsysinfo project
* (https://phpsysinfo.github.io/phpsysinfo/)
*
* @package PhpMyAdmin-sysinfo
*/
if (! defined('PHPMYADMIN')) {
exit;
}
use PhpMyAdmin\SysInfo;
define(
'MEMORY_REGEXP',
'/^(MemTotal|MemFree|Cached|Buffers|SwapCached|SwapTotal|SwapFree):'
. '\s+(.*)\s*kB/im'
);
/**
* Returns OS type used for sysinfo class
*
* @param string $php_os PHP_OS constant
*
* @return string
*/
function PMA_getSysInfoOs($php_os = PHP_OS)
{
// look for common UNIX-like systems
$unix_like = array('FreeBSD', 'DragonFly');
if (in_array($php_os, $unix_like)) {
$php_os = 'Linux';
}
return ucfirst($php_os);
}
/**
* Gets sysinfo class mathing current OS
*
* @return \PhpMyAdmin\SysInfo|mixed sysinfo class
*/
function PMA_getSysInfo()
{
$php_os = PMA_getSysInfoOs();
$supported = array('Linux', 'WINNT', 'SunOS');
if (in_array($php_os, $supported)) {
$class_name = 'PhpMyAdmin\SysInfo' . $php_os;
/** @var PhpMyAdmin\SysInfo $ret */
$ret = new $class_name();
if ($ret->supported()) {
return $ret;
}
}
return new SysInfo();
}