mirror of
https://github.com/billz/raspap-webgui.git
synced 2023-10-10 13:37:24 +02:00
add class for system information
This commit is contained in:
parent
76f905fe9d
commit
10dd214b17
@ -88,33 +88,16 @@ function DisplaySystem()
|
|||||||
'tr_TR.UTF-8' => 'Türkçe'
|
'tr_TR.UTF-8' => 'Türkçe'
|
||||||
);
|
);
|
||||||
|
|
||||||
// hostname
|
require_once "lib/system.php";
|
||||||
exec("hostname -f", $hostarray);
|
$system = new System();
|
||||||
$hostname = $hostarray[0];
|
|
||||||
|
|
||||||
// uptime
|
$hostname = $system->hostname();
|
||||||
$uparray = explode(" ", exec("cat /proc/uptime"));
|
$uptime = $system->uptime();
|
||||||
$seconds = round($uparray[0], 0);
|
$cores = $system->processorCount();
|
||||||
$minutes = $seconds / 60;
|
|
||||||
$hours = $minutes / 60;
|
|
||||||
$days = floor($hours / 24);
|
|
||||||
$hours = floor($hours - ($days * 24));
|
|
||||||
$minutes = floor($minutes - ($days * 24 * 60) - ($hours * 60));
|
|
||||||
$uptime= '';
|
|
||||||
if ($days != 0) {
|
|
||||||
$uptime .= $days . ' day' . (($days > 1)? 's ':' ');
|
|
||||||
}
|
|
||||||
if ($hours != 0) {
|
|
||||||
$uptime .= $hours . ' hour' . (($hours > 1)? 's ':' ');
|
|
||||||
}
|
|
||||||
if ($minutes != 0) {
|
|
||||||
$uptime .= $minutes . ' minute' . (($minutes > 1)? 's ':' ');
|
|
||||||
}
|
|
||||||
|
|
||||||
// mem used
|
// mem used
|
||||||
|
$memused = $system->usedMemory();
|
||||||
$memused_status = "primary";
|
$memused_status = "primary";
|
||||||
exec("free -m | awk '/Mem:/ { total=$2 ; used=$3 } END { print used/total*100}'", $memarray);
|
|
||||||
$memused = floor($memarray[0]);
|
|
||||||
if ($memused > 90) {
|
if ($memused > 90) {
|
||||||
$memused_status = "danger";
|
$memused_status = "danger";
|
||||||
} elseif ($memused > 75) {
|
} elseif ($memused > 75) {
|
||||||
@ -124,9 +107,7 @@ function DisplaySystem()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// cpu load
|
// cpu load
|
||||||
$cores = exec("grep -c ^processor /proc/cpuinfo");
|
$cpuload = $system->systemLoadPercentage();
|
||||||
$loadavg = exec("awk '{print $1}' /proc/loadavg");
|
|
||||||
$cpuload = floor(($loadavg * 100) / $cores);
|
|
||||||
if ($cpuload > 90) {
|
if ($cpuload > 90) {
|
||||||
$cpuload_status = "danger";
|
$cpuload_status = "danger";
|
||||||
} elseif ($cpuload > 75) {
|
} elseif ($cpuload > 75) {
|
||||||
@ -135,25 +116,22 @@ function DisplaySystem()
|
|||||||
$cpuload_status = "success";
|
$cpuload_status = "success";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (isset($_POST['system_reboot'])) {
|
||||||
|
$status->addMessage("System Rebooting Now!", "warning", false);
|
||||||
|
$result = shell_exec("sudo /sbin/reboot");
|
||||||
|
}
|
||||||
|
if (isset($_POST['system_shutdown'])) {
|
||||||
|
$status->addMessage("System Shutting Down Now!", "warning", false);
|
||||||
|
$result = shell_exec("sudo /sbin/shutdown -h now");
|
||||||
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-lg-12">
|
<div class="col-lg-12">
|
||||||
<div class="panel panel-primary">
|
<div class="panel panel-primary">
|
||||||
<div class="panel-heading"><i class="fa fa-cube fa-fw"></i> <?php echo _("System"); ?></div>
|
<div class="panel-heading"><i class="fa fa-cube fa-fw"></i> <?php echo _("System"); ?></div>
|
||||||
<div class="panel-body">
|
<div class="panel-body">
|
||||||
|
<?php $status->showMessages(); ?>
|
||||||
<?php
|
|
||||||
if (isset($_POST['system_reboot'])) {
|
|
||||||
echo '<div class="alert alert-warning">' . _("System Rebooting Now!") . '</div>';
|
|
||||||
$result = shell_exec("sudo /sbin/reboot");
|
|
||||||
}
|
|
||||||
if (isset($_POST['system_shutdown'])) {
|
|
||||||
echo '<div class="alert alert-warning">' . _("System Shutting Down Now!") . '</div>';
|
|
||||||
$result = shell_exec("sudo /sbin/shutdown -h now");
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
|
|
||||||
<p><?php $status->showMessages(); ?></p>
|
|
||||||
<form role="form" action="?page=system_info" method="POST">
|
<form role="form" action="?page=system_info" method="POST">
|
||||||
<?php echo CSRFTokenFieldTag() ?>
|
<?php echo CSRFTokenFieldTag() ?>
|
||||||
<ul class="nav nav-tabs" role="tablist">
|
<ul class="nav nav-tabs" role="tablist">
|
||||||
|
48
lib/system.php
Normal file
48
lib/system.php
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
class System {
|
||||||
|
public function hostname() {
|
||||||
|
return shell_exec("hostname -f");
|
||||||
|
}
|
||||||
|
|
||||||
|
public function uptime() {
|
||||||
|
$uparray = explode(" ", exec("cat /proc/uptime"));
|
||||||
|
$seconds = round($uparray[0], 0);
|
||||||
|
$minutes = $seconds / 60;
|
||||||
|
$hours = $minutes / 60;
|
||||||
|
$days = floor($hours / 24);
|
||||||
|
$hours = floor($hours - ($days * 24));
|
||||||
|
$minutes = floor($minutes - ($days * 24 * 60) - ($hours * 60));
|
||||||
|
$uptime= '';
|
||||||
|
if ($days != 0) {
|
||||||
|
$uptime .= $days . ' day' . (($days > 1)? 's ':' ');
|
||||||
|
}
|
||||||
|
if ($hours != 0) {
|
||||||
|
$uptime .= $hours . ' hour' . (($hours > 1)? 's ':' ');
|
||||||
|
}
|
||||||
|
if ($minutes != 0) {
|
||||||
|
$uptime .= $minutes . ' minute' . (($minutes > 1)? 's ':' ');
|
||||||
|
}
|
||||||
|
|
||||||
|
return $uptime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function usedMemory() {
|
||||||
|
$used = shell_exec("free -m | awk '/Mem:/ { total=$2 ; used=$3 } END { print used/total*100}'");
|
||||||
|
return floor($used);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function processorCount() {
|
||||||
|
$procs = shell_exec("nproc --all");
|
||||||
|
return intval($proc);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function loadAvg1Min() {
|
||||||
|
$load = exec("awk '{print $1}' /proc/loadavg");
|
||||||
|
return floatval($load);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function systemLoadPercentage() {
|
||||||
|
return floor(($this->loadAvg1Min() * 100) / $this->processorCount());
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user