mirror of
https://github.com/billz/raspap-webgui.git
synced 2025-07-09 14:37:40 +02:00
Get installed plugins, add status checks for services
This commit is contained in:
parent
1a964a283f
commit
ef04678947
@ -9,10 +9,15 @@ require_once 'includes/functions.php';
|
|||||||
*/
|
*/
|
||||||
function DisplayDashboard()
|
function DisplayDashboard()
|
||||||
{
|
{
|
||||||
|
// instantiate RaspAP objects
|
||||||
$status = new \RaspAP\Messages\StatusMessage;
|
$status = new \RaspAP\Messages\StatusMessage;
|
||||||
$system = new \RaspAP\System\Sysinfo;
|
$system = new \RaspAP\System\Sysinfo;
|
||||||
|
$pluginManager = \RaspAP\Plugins\PluginManager::getInstance();
|
||||||
|
|
||||||
$hostname = $system->hostname();
|
$hostname = $system->hostname();
|
||||||
$revision = $system->rpiRevision();
|
$revision = $system->rpiRevision();
|
||||||
|
$hostapd = $system->hostapdStatus();
|
||||||
|
$adblock = $system->adBlockStatus();
|
||||||
|
|
||||||
getWifiInterface();
|
getWifiInterface();
|
||||||
|
|
||||||
@ -26,7 +31,7 @@ function DisplayDashboard()
|
|||||||
$ipv4Addrs = '';
|
$ipv4Addrs = '';
|
||||||
$ipv4Netmasks = '';
|
$ipv4Netmasks = '';
|
||||||
if (!preg_match_all('/inet (\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\/([0-3][0-9])/i', $stdoutIpWRepeatedSpaces, $matchesIpv4AddrAndSubnet, PREG_SET_ORDER)) {
|
if (!preg_match_all('/inet (\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\/([0-3][0-9])/i', $stdoutIpWRepeatedSpaces, $matchesIpv4AddrAndSubnet, PREG_SET_ORDER)) {
|
||||||
$ipv4Addrs = _('No IPv4 Address Found');
|
$ipv4Addrs = _('None');
|
||||||
} else {
|
} else {
|
||||||
foreach ($matchesIpv4AddrAndSubnet as $inet) {
|
foreach ($matchesIpv4AddrAndSubnet as $inet) {
|
||||||
$address = $inet[1];
|
$address = $inet[1];
|
||||||
@ -152,6 +157,15 @@ function DisplayDashboard()
|
|||||||
exec('cat ' . RASPI_DNSMASQ_LEASES . '| grep -E $(iw dev ' . $apInterface . ' station dump | grep -oE ' . $MACPattern . ' | paste -sd "|")', $clients);
|
exec('cat ' . RASPI_DNSMASQ_LEASES . '| grep -E $(iw dev ' . $apInterface . ' station dump | grep -oE ' . $MACPattern . ' | paste -sd "|")', $clients);
|
||||||
}
|
}
|
||||||
$ifaceStatus = $wlan0up ? "up" : "down";
|
$ifaceStatus = $wlan0up ? "up" : "down";
|
||||||
|
|
||||||
|
$plugins = $pluginManager->getInstalledPlugins();
|
||||||
|
$bridgedStatus = ($bridgedEnable == 1) ? "active" : "";
|
||||||
|
$hostapdStatus = ($hostapd[0] == 1) ? "active" : "";
|
||||||
|
$adblockStatus = ($adblock == true) ? "active" : "";
|
||||||
|
$firewallInstalled = array_filter($plugins, fn($p) => str_ends_with($p, 'Firewall')) ? true : false;
|
||||||
|
if (!$firewallInstalled) {
|
||||||
|
$firewallStack = '<i class="fas fa-slash fa-stack-1x"></i>';
|
||||||
|
}
|
||||||
echo renderTemplate(
|
echo renderTemplate(
|
||||||
"dashboard", compact(
|
"dashboard", compact(
|
||||||
"clients",
|
"clients",
|
||||||
@ -159,7 +173,10 @@ function DisplayDashboard()
|
|||||||
"apInterface",
|
"apInterface",
|
||||||
"clientInterface",
|
"clientInterface",
|
||||||
"ifaceStatus",
|
"ifaceStatus",
|
||||||
"bridgedEnable",
|
"bridgedStatus",
|
||||||
|
"hostapdStatus",
|
||||||
|
"adblockStatus",
|
||||||
|
"firewallStack",
|
||||||
"status",
|
"status",
|
||||||
"ipv4Addrs",
|
"ipv4Addrs",
|
||||||
"ipv4Netmasks",
|
"ipv4Netmasks",
|
||||||
|
@ -47,27 +47,29 @@
|
|||||||
<img src="app/img/solid.php?joint&device-1&out&device-3" class="solid-lines" alt="">
|
<img src="app/img/solid.php?joint&device-1&out&device-3" class="solid-lines" alt="">
|
||||||
</div>
|
</div>
|
||||||
<div class="center-device col-12 col-lg-4">
|
<div class="center-device col-12 col-lg-4">
|
||||||
<div class="top" style="margin-bottom: 50px">
|
<div class="center-device-top">
|
||||||
<a href="/system_info"><img class="device-illustration" src="app/img/device.svg" alt="<?php echo htmlspecialchars($revision, ENT_QUOTES); ?>"></a>
|
<a href="/system_info"><img class="device-illustration" src="app/img/device.svg" alt="<?php echo htmlspecialchars($revision, ENT_QUOTES); ?>"></a>
|
||||||
<div class="device-label"><a href="/system_info"><?php echo htmlspecialchars($revision, ENT_QUOTES); ?></a></div>
|
<div class="device-label"><a href="/system_info"><?php echo htmlspecialchars($revision, ENT_QUOTES); ?></a></div>
|
||||||
|
<div class="mt-1">IP address: <a href="/dhcpd_conf"><?php echo htmlspecialchars($ipv4Addrs, ENT_QUOTES); ?></a></div>
|
||||||
|
<div>SSID: <a href="/hostapd_conf"><?php echo htmlspecialchars("RaspAP", ENT_QUOTES); ?></a></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="bottom">
|
<div class="bottom">
|
||||||
<div class="device-status">
|
<div class="device-status">
|
||||||
<a href="/hostapd_conf">
|
<a href="/hostapd_conf">
|
||||||
<div class="status-item active">
|
<div class="status-item <?php echo $hostapdStatus; ?>">
|
||||||
<i class="fas fa-bullseye fa-2xl"></i>
|
<i class="fas fa-bullseye fa-2xl"></i>
|
||||||
<span><?php echo _('AP'); ?></span>
|
<span><?php echo _('AP'); ?></span>
|
||||||
</div>
|
</div>
|
||||||
</a>
|
</a>
|
||||||
<a href="/hostapd_conf">
|
<a href="/hostapd_conf">
|
||||||
<div class="status-item">
|
<div class="status-item <?php echo $bridgedStatus; ?>">
|
||||||
<i class="fas fa-bridge fa-2xl"></i>
|
<i class="fas fa-bridge fa-2xl"></i>
|
||||||
<span><?php echo _('Bridged'); ?></span>
|
<span><?php echo _('Bridged'); ?></span>
|
||||||
</div>
|
</div>
|
||||||
</a>
|
</a>
|
||||||
<a href="/adblock_conf">
|
<a href="/adblock_conf">
|
||||||
<div class="status-item active">
|
<div class="status-item <?php echo $adblockStatus; ?>">
|
||||||
<i class="far fa-hand-paper fa-2xl"></i>
|
<i class="far fa-hand-paper fa-2xl"></i>
|
||||||
<span><?php echo _('Adblock'); ?></span>
|
<span><?php echo _('Adblock'); ?></span>
|
||||||
</div>
|
</div>
|
||||||
@ -76,10 +78,10 @@
|
|||||||
<i class="fas fa-shield-alt fa-2xl"></i>
|
<i class="fas fa-shield-alt fa-2xl"></i>
|
||||||
<span><?php echo _('VPN'); ?></span>
|
<span><?php echo _('VPN'); ?></span>
|
||||||
</div>
|
</div>
|
||||||
<div class="status-item disabled">
|
<div class="status-item <?php echo $firewallStatus; ?>">
|
||||||
<span class="fa-stack fa-2xl" style="line-height: 0!important;height: 100%!important;">
|
<span class="fa-stack fa-2xl" style="line-height: 0!important;height: 100%!important;">
|
||||||
<i class="fas fa-fire-flame-curved fa-stack-1x"></i>
|
<i class="fas fa-fire-flame-curved fa-stack-1x"></i>
|
||||||
<i class="fas fa-slash fa-stack-1x"></i>
|
<?php echo $firewallStack; ?>
|
||||||
</span>
|
</span>
|
||||||
<span>
|
<span>
|
||||||
<?php echo _('Firewall'); ?>
|
<?php echo _('Firewall'); ?>
|
||||||
@ -153,10 +155,4 @@
|
|||||||
</div><!-- /.card -->
|
</div><!-- /.card -->
|
||||||
</div><!-- /.col-lg-12 -->
|
</div><!-- /.col-lg-12 -->
|
||||||
</div><!-- /.row -->
|
</div><!-- /.row -->
|
||||||
<script type="text/javascript"<?php //echo ' nonce="'.$csp_page_nonce.'"'; ?>>
|
|
||||||
// js translations:
|
|
||||||
var t = new Array();
|
|
||||||
t[' send'] = '<?php echo addslashes(_(' Send')); ?>';
|
|
||||||
t['receive'] = '
|
|
||||||
<? php echo addslashes(_('Receive')); ?> ';
|
|
||||||
</script>
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user