83 lines
2.1 KiB
PHP
83 lines
2.1 KiB
PHP
<?php
|
|
session_start();
|
|
require_once __DIR__ . "/db.php";
|
|
|
|
|
|
header("Content-Type: application/json");
|
|
|
|
// Get user token from session or URL
|
|
$userToken = $_GET['token'] ?? null;
|
|
|
|
|
|
if (!$userToken) {
|
|
http_response_code(403);
|
|
echo json_encode(["error" => "Invalid authentication token: " . htmlspecialchars($userToken)]);
|
|
exit;
|
|
}
|
|
|
|
// Connect to the database
|
|
$conn = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);
|
|
if ($conn->connect_error) {
|
|
http_response_code(500);
|
|
echo json_encode(["error" => "Database connection failed: " . $conn->connect_error]);
|
|
exit;
|
|
|
|
}
|
|
|
|
// Fetch user ID using token
|
|
$stmt = $conn->prepare("SELECT id, token_expires_at FROM users WHERE auth_token = ?");
|
|
$stmt->bind_param("s", $userToken);
|
|
$stmt->execute();
|
|
$result = $stmt->get_result();
|
|
$user = $result->fetch_assoc();
|
|
if (!$user) {
|
|
http_response_code(403);
|
|
echo json_encode(["error" => "Invalid authentication token."]);
|
|
exit;
|
|
}
|
|
// Check if token is expired
|
|
if ($user['expired'] == 1) {
|
|
http_response_code(403);
|
|
echo json_encode(["error" => "Authentication token has expired."]);
|
|
exit;
|
|
}
|
|
|
|
$userId = $user['id'];
|
|
$isBoardMember = $user['is_board_member'];
|
|
|
|
// Fetch board member profile image (if applicable)
|
|
$boardMemberImage = "img/ccah-logo.png"; // Default image
|
|
if ($isBoardMember == 1) {
|
|
$stmt = $conn->prepare("SELECT image_url FROM board_members WHERE user_id = ?");
|
|
$stmt->bind_param("i", $userId);
|
|
$stmt->execute();
|
|
$result = $stmt->get_result();
|
|
if ($result->num_rows > 0) {
|
|
$boardMember = $result->fetch_assoc();
|
|
$boardMemberImage = $boardMember['image_url'] ?: "img/ccah-logo.png";
|
|
}
|
|
}
|
|
|
|
// Add board membership and image to the response
|
|
$response['is_board_member'] = $isBoardMember;
|
|
$response['board_member_image'] = $boardMemberImage;
|
|
|
|
|
|
|
|
// Fetch saved responses
|
|
$stmt = $conn->prepare("SELECT * FROM questionnaire_responses WHERE user_id = ?");
|
|
$stmt->bind_param("i", $userId);
|
|
$stmt->execute();
|
|
$result = $stmt->get_result();
|
|
$response = $result->fetch_assoc();
|
|
|
|
if ($response) {
|
|
echo json_encode($response);
|
|
} else {
|
|
echo json_encode(["message" => "No previous responses found."]);
|
|
}
|
|
|
|
$conn->close();
|
|
exit;
|
|
?>
|