<?php class Server extends Template { //TODO: to server manager private function getSystemMemInfo() { $data = explode("\n", file_get_contents("/proc/meminfo")); $meminfo = array(); foreach ($data as $line) { $data = explode(":", $line); if (count($data)!=2) continue; $meminfo[$data[0]] = trim($data[1]); } return $meminfo; } private function getProcessorUsage(){ $loads=sys_getloadavg(); $core_nums=trim(shell_exec("grep -P '^physical id' /proc/cpuinfo|wc -l")); $load = round($loads[0]/($core_nums + 1)*100, 2); return $load; } function __construct() { $userManager = new UserManager(); $langMng = new LanguageManager('en'); if (!$userManager->isLogin()){ header('Location: ' . BASEURL . 'login'); } $template = new Template('server'); $template->prepare('title', 'Server'); $template->prepare('baseDir', BASEDIR); $template->prepare('baseUrl', BASEURL); $template->prepare('debugMod', DEBUGMOD); $template->prepare('langMng', $langMng); $template->prepare('UPTIME', shell_exec('uptime -p')); $template->prepare('serverTime', date('m. d. Y H:i:s - e')); $template->prepare('ip', $_SERVER['SERVER_ADDR']); $template->prepare('name', $_SERVER['SERVER_NAME']); $template->prepare('CPU', $this->getProcessorUsage()); $template->prepare('ramFree', $this->getSystemMemInfo()["MemFree"]); $template->prepare('ramTotal', $this->getSystemMemInfo()["MemTotal"]); $template->prepare('diskFree', disk_free_space("/")); $template->prepare('diskTotal', disk_total_space("/")); $template->render(); } }