false, 'error' => 'Unauthorized']); exit; } try { require $_SERVER['DOCUMENT_ROOT'] . '/www/baroncs/dbconfig.php'; require $_SERVER['DOCUMENT_ROOT'] . '/www/baroncs/head.php'; $member_id = intval($_SESSION['member_id']); $content_id = intval($_POST['content_id'] ?? 0); $current_seconds = intval($_POST['current_seconds'] ?? 0); if ($content_id <= 0) { http_response_code(400); echo json_encode(['success' => false, 'error' => 'Invalid content_id']); exit; } // 마이클래스 영상인지 확인 (CA10001 카테고리) $sql = "SELECT id, category_code FROM edu_contents WHERE id = ?"; $stmt = $conn->prepare($sql); $stmt->bind_param("i", $content_id); $stmt->execute(); $result = $stmt->get_result(); $content = $result->fetch_assoc(); $stmt->close(); if (!$content) { http_response_code(404); echo json_encode(['success' => false, 'error' => 'Content not found']); exit; } $is_myclass = ($content['category_code'] === 'CA10001'); // 시청 시간 저장 (마이클래스만) if ($is_myclass) { // edu_video_playback 테이블에 저장 $check_sql = "SELECT id FROM edu_video_playback WHERE member_id = ? AND content_id = ?"; $check_stmt = $conn->prepare($check_sql); $check_stmt->bind_param("ii", $member_id, $content_id); $check_stmt->execute(); $check_result = $check_stmt->get_result(); $exists = $check_result->fetch_assoc(); $check_stmt->close(); if ($exists) { // 기존 레코드 업데이트 $update_sql = "UPDATE edu_video_playback SET current_seconds = ?, updated_at = NOW() WHERE member_id = ? AND content_id = ?"; $update_stmt = $conn->prepare($update_sql); $update_stmt->bind_param("iii", $current_seconds, $member_id, $content_id); $update_stmt->execute(); $update_stmt->close(); } else { // 새 레코드 생성 $insert_sql = "INSERT INTO edu_video_playback (member_id, content_id, current_seconds) VALUES (?, ?, ?)"; $insert_stmt = $conn->prepare($insert_sql); $insert_stmt->bind_param("iii", $member_id, $content_id, $current_seconds); $insert_stmt->execute(); $insert_stmt->close(); } } echo json_encode([ 'success' => true, 'content_id' => $content_id, 'current_seconds' => $current_seconds, 'is_myclass' => $is_myclass ]); } catch (Exception $e) { error_log('[save_video_time.php] Error: ' . $e->getMessage()); http_response_code(500); echo json_encode(['success' => false, 'error' => $e->getMessage()]); } ?>