main
This commit is contained in:
@@ -0,0 +1,81 @@
|
||||
<?php
|
||||
/**
|
||||
* System info partial — hostname, kernel, platform, CPU load/temp, service
|
||||
* status grid (MMDVMHost / DStarRepeater / ircDDBGateway / TimeServer /
|
||||
* PiStar-Watchdog / PiStar-Remote).
|
||||
*
|
||||
* Loaded inline by /index.php on the admin path and AJAX-refreshed every
|
||||
* 15 seconds via $("#sysInfo").load(...). Used in BOTH MMDVMHost and
|
||||
* DStarRepeater modes (same partial, gated by /index.php).
|
||||
*
|
||||
* Served two ways from /index.php: an inline `include` for the initial
|
||||
* page render, then AJAX `$("#sysInfo").load(...)` for refreshes. On
|
||||
* the inline path the parent has already emitted full security headers
|
||||
* (and the headers_sent() guard inside makes our call idempotent); on
|
||||
* the AJAX path the response is XHR — X-Frame-Options / frame-ancestors
|
||||
* apply to iframe ancestry, not XHR, so the embeddable variant is the
|
||||
* correct choice in both directions.
|
||||
*
|
||||
* Reads /etc/ircddbgateway (flat key=value via the hand-rolled parser)
|
||||
* to surface the gateway callsign in the hardware-info table.
|
||||
*/
|
||||
|
||||
require_once($_SERVER['DOCUMENT_ROOT'] . '/config/security_headers.php');
|
||||
setEmbeddableSecurityHeaders();
|
||||
|
||||
include_once $_SERVER['DOCUMENT_ROOT'].'/config/ircddblocal.php';
|
||||
include_once $_SERVER['DOCUMENT_ROOT'].'/config/language.php'; // Translation Code
|
||||
include_once $_SERVER['DOCUMENT_ROOT'].'/mmdvmhost/tools.php';
|
||||
$configs = array();
|
||||
|
||||
if ($configfile = fopen($gatewayConfigPath,'r')) {
|
||||
while ($line = fgets($configfile)) {
|
||||
list($key,$value) = preg_split('/=/',$line);
|
||||
$value = trim(str_replace('"','',$value));
|
||||
if ($key != 'ircddbPassword' && strlen($value) > 0)
|
||||
$configs[$key] = $value;
|
||||
}
|
||||
|
||||
}
|
||||
$progname = basename($_SERVER['SCRIPT_FILENAME'],".php");
|
||||
$rev="20141101";
|
||||
$MYCALL=strtoupper($callsign);
|
||||
?>
|
||||
<?php
|
||||
$cpuLoad = sys_getloadavg();
|
||||
$cpuTempCRaw = exec('cat /sys/class/thermal/thermal_zone0/temp');
|
||||
if ($cpuTempCRaw > 1000) { $cpuTempC = round($cpuTempCRaw / 1000, 1); } else { $cpuTempC = round($cpuTempCRaw, 1); }
|
||||
$cpuTempF = round(+$cpuTempC * 9 / 5 + 32, 1);
|
||||
if ($cpuTempC < 50) { $cpuTempHTML = "<td style=\"background: #1d1\">".$cpuTempC."°C / ".$cpuTempF."°F</td>\n"; }
|
||||
if ($cpuTempC >= 50) { $cpuTempHTML = "<td style=\"background: #fa0\">".$cpuTempC."°C / ".$cpuTempF."°F</td>\n"; }
|
||||
if ($cpuTempC >= 69) { $cpuTempHTML = "<td style=\"background: #f00\">".$cpuTempC."°C / ".$cpuTempF."°F</td>\n"; }
|
||||
?>
|
||||
<b><?php echo $lang['hardware_info'];?></b>
|
||||
<table style="table-layout: fixed;">
|
||||
<tr>
|
||||
<th><a class="tooltip" href="#"><?php echo $lang['hostname'];?><br /><span><b>System IP Address:<br /><?php echo str_replace(',', ',<br />', exec('hostname -I'));?></b></span></a></th>
|
||||
<th><a class="tooltip" href="#"><?php echo $lang['kernel'];?><span><b>Release</b></span></a></th>
|
||||
<th colspan="2"><a class="tooltip" href="#"><?php echo $lang['platform'];?><span><b>Uptime:<br /><?php echo str_replace(',', ',<br />', exec('uptime -p'));?></b></span></a></th>
|
||||
<th><a class="tooltip" href="#"><?php echo $lang['cpu_load'];?><span><b>CPU Load</b></span></a></th>
|
||||
<th><a class="tooltip" href="#"><?php echo $lang['cpu_temp'];?><span><b>CPU Temp</b></span></a></th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><?php $h = php_uname('n'); if (strlen($h) >= 16) { $h = substr($h, 0, 14) . '..'; } echo htmlspecialchars((string)$h, ENT_QUOTES, 'UTF-8'); ?></td>
|
||||
<td><?php echo htmlspecialchars((string)php_uname('r'), ENT_QUOTES, 'UTF-8');?></td>
|
||||
<td colspan="2"><?php echo htmlspecialchars((string)exec('/usr/local/bin/platformDetect.sh'), ENT_QUOTES, 'UTF-8');?></td>
|
||||
<td><?php echo number_format($cpuLoad[0],2);?> / <?php echo number_format($cpuLoad[1],2);?> / <?php echo number_format($cpuLoad[2],2);?></td>
|
||||
<?php echo $cpuTempHTML; ?>
|
||||
</tr>
|
||||
<tr>
|
||||
<th colspan="6"><?php echo $lang['service_status'];?></th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="background: #<?php if (isProcessRunning('MMDVMHost')) { echo "1d1"; } else { echo "b55"; } ?>">MMDVMHost</td>
|
||||
<td style="background: #<?php if (isProcessRunning('dstarrepeaterd')) { echo "1d1"; } else { echo "b55"; } ?>">DStarRepeater</td>
|
||||
<td style="background: #<?php if (isProcessRunning('ircddbgatewayd')) { echo "1d1"; } else { echo "b55"; } ?>">ircDDBGateway</td>
|
||||
<td style="background: #<?php if (isProcessRunning('timeserverd')) { echo "1d1"; } else { echo "b55"; } ?>">TimeServer</td>
|
||||
<td style="background: #<?php if (isProcessRunning('/usr/local/sbin/pistar-watchdog',true)) { echo "1d1"; } else { echo "b55"; } ?>">PiStar-Watchdog</td>
|
||||
<td style="background: #<?php if (isProcessRunning('/usr/local/sbin/pistar-remote',true)) { echo "1d1"; } else { echo "b55"; } ?>">PiStar-Remote</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br />
|
||||
Reference in New Issue
Block a user