Added UI and functionality for profiles
This commit is contained in:
24
login.php
24
login.php
@@ -33,6 +33,27 @@ $_SESSION['user'] = [
|
||||
'can_manage_settings' => intval($user['can_manage_settings']),
|
||||
];
|
||||
|
||||
// Set active profile for this session (default profile if available)
|
||||
$stmt = $pdo->prepare("SELECT id FROM profiles WHERE user_id = ? AND is_default = 1 LIMIT 1");
|
||||
$stmt->execute([$_SESSION['user']['id']]);
|
||||
$profileId = $stmt->fetchColumn();
|
||||
|
||||
if (!$profileId) {
|
||||
// Fallback to first profile
|
||||
$stmt = $pdo->prepare("SELECT id FROM profiles WHERE user_id = ? ORDER BY id ASC LIMIT 1");
|
||||
$stmt->execute([$_SESSION['user']['id']]);
|
||||
$profileId = $stmt->fetchColumn();
|
||||
}
|
||||
|
||||
if (!$profileId) {
|
||||
// Last-resort: create a default profile if none exist (useful for new users)
|
||||
$stmt = $pdo->prepare("INSERT INTO profiles (user_id, name, is_default) VALUES (?, 'Default', 1)");
|
||||
$stmt->execute([$_SESSION['user']['id']]);
|
||||
$profileId = $pdo->lastInsertId();
|
||||
}
|
||||
|
||||
$_SESSION['active_profile_id'] = (int)$profileId;
|
||||
|
||||
echo json_encode([
|
||||
'success' => true,
|
||||
'user' => [
|
||||
@@ -40,5 +61,6 @@ echo json_encode([
|
||||
'email' => $_SESSION['user']['email'],
|
||||
'role' => $_SESSION['user']['role'],
|
||||
'can_manage_settings' => $_SESSION['user']['can_manage_settings'],
|
||||
]
|
||||
],
|
||||
'active_profile_id' => $_SESSION['active_profile_id']
|
||||
]);
|
||||
|
||||
Reference in New Issue
Block a user