aboutsummaryrefslogtreecommitdiff
path: root/srcs/phpmyadmin/libraries/classes/SysInfoSunOS.php
diff options
context:
space:
mode:
authorCharles <sircharlesaze@gmail.com>2020-01-09 10:55:03 +0100
committerCharles <sircharlesaze@gmail.com>2020-01-09 13:09:38 +0100
commit04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa (patch)
tree5c691241355c943a3c68ddb06b8cf8c60aa11319 /srcs/phpmyadmin/libraries/classes/SysInfoSunOS.php
parent7e0d85db834d6351ed85d01e5126ac31dc510b86 (diff)
downloadft_server-04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa.tar.gz
ft_server-04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa.tar.bz2
ft_server-04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa.zip
phpmyadmin working
Diffstat (limited to 'srcs/phpmyadmin/libraries/classes/SysInfoSunOS.php')
-rw-r--r--srcs/phpmyadmin/libraries/classes/SysInfoSunOS.php81
1 files changed, 81 insertions, 0 deletions
diff --git a/srcs/phpmyadmin/libraries/classes/SysInfoSunOS.php b/srcs/phpmyadmin/libraries/classes/SysInfoSunOS.php
new file mode 100644
index 0000000..6158b62
--- /dev/null
+++ b/srcs/phpmyadmin/libraries/classes/SysInfoSunOS.php
@@ -0,0 +1,81 @@
+<?php
+/* vim: set expandtab sw=4 ts=4 sts=4: */
+/**
+ * Hold PhpMyAdmin\SysInfoSunOS class
+ *
+ * @package PhpMyAdmin
+ */
+declare(strict_types=1);
+
+namespace PhpMyAdmin;
+
+use PhpMyAdmin\SysInfoBase;
+
+/**
+ * SunOS based SysInfo class
+ *
+ * @package PhpMyAdmin
+ */
+class SysInfoSunOS extends SysInfoBase
+{
+ public $os = 'SunOS';
+
+ /**
+ * Read value from kstat
+ *
+ * @param string $key Key to read
+ *
+ * @return string with value
+ */
+ private function _kstat($key)
+ {
+ if ($m = shell_exec('kstat -p d ' . $key)) {
+ list(, $value) = explode("\t", trim($m), 2);
+
+ return $value;
+ } else {
+ return '';
+ }
+ }
+
+ /**
+ * Gets load information
+ *
+ * @return array with load data
+ */
+ public function loadavg()
+ {
+ $load1 = $this->_kstat('unix:0:system_misc:avenrun_1min');
+
+ return ['loadavg' => $load1];
+ }
+
+ /**
+ * Checks whether class is supported in this environment
+ *
+ * @return bool true on success
+ */
+ public function supported()
+ {
+ return @is_readable('/proc/meminfo');
+ }
+
+ /**
+ * Gets information about memory usage
+ *
+ * @return array with memory usage data
+ */
+ public function memory()
+ {
+ $pagesize = (int) $this->_kstat('unix:0:seg_cache:slab_size');
+ $mem = [];
+ $mem['MemTotal'] = (int) $this->_kstat('unix:0:system_pages:pagestotal') * $pagesize;
+ $mem['MemUsed'] = (int) $this->_kstat('unix:0:system_pages:pageslocked') * $pagesize;
+ $mem['MemFree'] = (int) $this->_kstat('unix:0:system_pages:pagesfree') * $pagesize;
+ $mem['SwapTotal'] = (int) $this->_kstat('unix:0:vminfo:swap_avail') / 1024;
+ $mem['SwapUsed'] = (int) $this->_kstat('unix:0:vminfo:swap_alloc') / 1024;
+ $mem['SwapFree'] = (int) $this->_kstat('unix:0:vminfo:swap_free') / 1024;
+
+ return $mem;
+ }
+}