
PK 
<?php
header('Content-Type: application/json');
ob_start();
@session_start();
require_once 'admin/includes/settings/PDODB.php';
include 'admin/includes/modules/functions.php';
$function = new FUNCTIONS();
if (!isset($_SESSION['userId'])) {
echo json_encode(['success' => false, 'message' => 'Unauthorized']);
exit;
}
try {
$dsn = 'mysql:host=localhost;dbname=questend_techconjiffyfilms;charset=utf8';
$db = new PDO($dsn, 'questend_Usrjiffyfilms', 'hZy_VO*$VoWVFi+=;3M?FWazvx,=le=U');
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// 1. Get global quiz status
$stmt = $db->query("SELECT method FROM quiz_get LIMIT 1");
$globalStatus = $stmt->fetch(PDO::FETCH_ASSOC);
$globalMethod = $globalStatus['method'] ?? 'stop';
// 2. Check if user has already started/completed the quiz
$userId = $_SESSION['userId'];
$stmt = $db->prepare("SELECT quiz_started FROM user_quiz_status WHERE user_id = ?");
$stmt->execute([$userId]);
$userStatus = $stmt->fetch(PDO::FETCH_ASSOC);
// 3. Determine if quiz should be available
$quizAvailable = false;
if ($globalMethod === 'run') {
if (!$userStatus) {
// First time user - mark as started but make quiz available
$stmt = $db->prepare(
"INSERT INTO user_quiz_status (user_id, quiz_started) VALUES (?, 1)"
);
$stmt->execute([$userId]);
$quizAvailable = true;
} elseif ($userStatus['quiz_started'] == 0) {
// User hasn't started yet - make available
$quizAvailable = true;
}
}
echo json_encode([
'success' => true,
'quiz_available' => $quizAvailable,
'global_status' => $globalMethod,
'user_status' => $userStatus ? $userStatus['quiz_started'] : 0
]);
} catch (PDOException $e) {
echo json_encode([
'success' => false,
'message' => 'Database error'
]);
}
ob_end_flush();
?>


PK 99