prepare("SELECT * FROM admin_users WHERE username = ? AND status = 'active'");
$stmt->execute([$username]);
$user = $stmt->fetch();
if ($user && password_verify($password, $user['password'])) {
$_SESSION['admin_id'] = $user['id'];
$_SESSION['admin_username'] = $user['username'];
$_SESSION['admin_email'] = $user['email'];
$_SESSION['admin_role'] = $user['role'];
$_SESSION['admin_name'] = $user['full_name'];
$updateStmt = $pdo->prepare("UPDATE admin_users SET last_login = NOW() WHERE id = ?");
$updateStmt->execute([$user['id']]);
logActivity($user['id'], 'login', 'User logged in successfully');
header('Location: index.php');
exit;
} else {
$error = 'Invalid username or password';
}
} catch (Exception $e) {
error_log("Login error: " . $e->getMessage());
$error = 'An error occurred. Please try again.';
}
}
}
// ============ SHOW LOGIN FORM ============
?>
Login - Relevant Reflex
query("SELECT COUNT(*) as total,
SUM(CASE WHEN status = 'active' THEN 1 ELSE 0 END) as active,
SUM(CASE WHEN email_verified = 1 THEN 1 ELSE 0 END) as verified
FROM users");
$memberStats = $memberStmt->fetch();
// Get points stats
$pointsStmt = $panelPdo->query("SELECT
SUM(points) as total_points,
SUM(total_earned) as total_earned,
SUM(total_redeemed) as total_redeemed
FROM user_points");
$pointsStats = $pointsStmt->fetch();
// Get pending redemptions
$redemptionStmt = $panelPdo->query("SELECT COUNT(*) as pending FROM redemption_requests WHERE status = 'pending'");
$redemptionStats = $redemptionStmt->fetch();
// Get open tickets
$ticketsStmt = $panelPdo->query("SELECT COUNT(*) as open FROM support_tickets WHERE status IN ('open', 'pending')");
$ticketStats = $ticketsStmt->fetch();
$dashboard_stats = [
'total_members' => $memberStats['total'] ?? 0,
'active_members' => $memberStats['active'] ?? 0,
'verified_members' => $memberStats['verified'] ?? 0,
'total_points' => $pointsStats['total_points'] ?? 0,
'pending_redemptions' => $redemptionStats['pending'] ?? 0,
'open_tickets' => $ticketStats['open'] ?? 0
];
} catch (Exception $e) {
error_log("Dashboard data error: " . $e->getMessage());
$dashboard_stats = ['error' => true];
}
include 'includes/header.php';
?>
Unable to load dashboard data. Please check your database connection.
👥
Total Panel Members
active
✓
Verified Members
Email verified
💰
Total Points Balance
Current circulation
⏳
Pending Redemptions
Requires attention
🎫
Open Support Tickets
Active cases