36 lines
1.2 KiB
PHP
36 lines
1.2 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace Domovoy\Controllers;
|
|
|
|
use Psr\Http\Message\ResponseInterface;
|
|
use Psr\Http\Message\ServerRequestInterface;
|
|
|
|
class DashboardController
|
|
{
|
|
private \Domovoy\Repositories\DeviceRepository $deviceRepository;
|
|
private \Domovoy\Repositories\ScanJobRepository $scanJobRepository;
|
|
|
|
public function __construct(
|
|
\Domovoy\Repositories\DeviceRepository $deviceRepository,
|
|
\Domovoy\Repositories\ScanJobRepository $scanJobRepository
|
|
) {
|
|
$this->deviceRepository = $deviceRepository;
|
|
$this->scanJobRepository = $scanJobRepository;
|
|
}
|
|
|
|
public function index(ServerRequestInterface $request, ResponseInterface $response): ResponseInterface
|
|
{
|
|
ob_start();
|
|
$username = $_SESSION['username'] ?? 'User';
|
|
$deviceCount = $this->deviceRepository->getCount();
|
|
$newDiscoveries = $this->deviceRepository->getNewDiscoveriesCount();
|
|
$recentScans = $this->scanJobRepository->findRecent(5);
|
|
require dirname(__DIR__, 2) . '/templates/dashboard/index.php';
|
|
$body = ob_get_clean();
|
|
$response->getBody()->write($body);
|
|
return $response;
|
|
}
|
|
}
|