|
@@ -0,0 +1,48 @@
|
|
|
+<?php
|
|
|
+
|
|
|
+ApplicationSettings::RegisterDefaultSetting("status", "disks", "/");
|
|
|
+
|
|
|
+class Status extends Controller {
|
|
|
+
|
|
|
+ public function Index() {
|
|
|
+ $vars=array();
|
|
|
+
|
|
|
+ $uptime=exec("uptime");
|
|
|
+ #$uptime="17:16:18 up 22 days, 9:39, 1 user, load average: 2.10, 2.18, 2.33";
|
|
|
+ $matches=array();
|
|
|
+ preg_match("/(\d+) days,\s*(\d*):(\d*)/", $uptime, $matches);
|
|
|
+ $vars['uptime']=[
|
|
|
+ "days"=>$matches[1],
|
|
|
+ "hours"=>$matches[2],
|
|
|
+ "minutes"=>$matches[3]
|
|
|
+ ];
|
|
|
+
|
|
|
+ if (function_exists("sys_getloadavg"))
|
|
|
+ $vars["load"]=sys_getloadavg();
|
|
|
+ else
|
|
|
+ $vars['load']=array(4, 4, 4);
|
|
|
+
|
|
|
+ $data=explode("\n", trim(file_get_contents("/proc/meminfo")));
|
|
|
+ $memInfo=array();
|
|
|
+ foreach ($data as $line) {
|
|
|
+ list($key, $val)=explode(":", $line);
|
|
|
+ $memInfo[$key]=explode(" ",trim($val))[0];
|
|
|
+ }
|
|
|
+
|
|
|
+ $vars['memFree']=$memInfo['MemFree'];
|
|
|
+ $vars['memTotal']=$memInfo['MemTotal'];
|
|
|
+ $vars['memUsage']=(($vars['memTotal']-$vars['memFree'])/$vars['memTotal'])*100;
|
|
|
+
|
|
|
+ $cpuTemp=(int)file_get_contents("/sys/class/thermal/thermal_zone0/temp");
|
|
|
+ $vars['cpuTemp']=$cpuTemp/1000;
|
|
|
+
|
|
|
+ $vars['disks']=array();
|
|
|
+ $disks=explode(",", ApplicationSettings::GetSetting("status", "disks"));
|
|
|
+ foreach ($disks as $disk) {
|
|
|
+ $vars['disks'][]=new DiskInfo($disk);
|
|
|
+ }
|
|
|
+
|
|
|
+ return new View("Status/index.view", $vars);
|
|
|
+ }
|
|
|
+
|
|
|
+}
|