projectbased/updates/baseline/app/Controllers/DashboardController.php
SHA-256: e4e975b5b479bce65b686604303f29f746f7bffb7b006a63a5591a67b6867f19
<?php
namespace App\Controllers;
use App\App;
use App\Lib\View;
use App\Lib\Url;
use App\Lib\Auth;
final class DashboardController {
public function index(): void {
$user = Auth::requireLogin();
$db = App::db();
$skills = $db->prepare('SELECT s.name FROM user_skills us JOIN skills s ON s.id=us.skill_id WHERE us.user_id=? ORDER BY s.name');
$skills->execute([(int)$user['id']]);
$skills = $skills->fetchAll();
$projects = $db->query('SELECT p.id,p.title,p.category,p.region,p.status,p.created_at,u.display_name AS owner_name
FROM projects p JOIN users u ON u.id=p.owner_id
ORDER BY p.created_at DESC LIMIT 8')->fetchAll();
$needs = $db->query('SELECT n.id,n.title,n.category,n.region,n.priority,n.created_at,u.display_name AS author
FROM needs n JOIN users u ON u.id=n.user_id
ORDER BY n.created_at DESC LIMIT 8')->fetchAll();
View::render('dashboard', compact('user','skills','projects','needs'));
}
}