![]() Server : Apache/2 System : Linux server-15-235-50-60 5.15.0-164-generic #174-Ubuntu SMP Fri Nov 14 20:25:16 UTC 2025 x86_64 User : gositeme ( 1004) PHP Version : 8.2.29 Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname Directory : /home/gositeme/.cursor-server/data/User/History/-5c7831e0/ |
<?php
// Simple Investigation of Variations Data Issue
require_once 'config/database.php';
$output = [];
$output[] = "=== VARIATIONS DATA INVESTIGATION ===";
$output[] = "Time: " . date('Y-m-d H:i:s');
$pdo = getDBConnection();
if (!$pdo) {
$output[] = "❌ Database connection failed";
file_put_contents('investigation_output.txt', implode("\n", $output));
exit;
}
$output[] = "✅ Database connected";
// Check tracks that claim to have variations
try {
$stmt = $pdo->query("
SELECT
mt.id,
mt.title,
mt.status,
mt.variations_count,
mt.task_id,
mt.created_at
FROM music_tracks mt
WHERE mt.variations_count > 0
ORDER BY mt.id ASC
LIMIT 10
");
$tracksWithVariations = $stmt->fetchAll();
$output[] = "";
$output[] = "=== TRACKS CLAIMING VARIATIONS ===";
$output[] = "Found " . count($tracksWithVariations) . " tracks claiming variations:";
foreach ($tracksWithVariations as $track) {
$output[] = "";
$output[] = "Track ID {$track['id']}: {$track['title']}";
$output[] = " Status: {$track['status']}";
$output[] = " Claims variations: {$track['variations_count']}";
$output[] = " Task ID: {$track['task_id']}";
$output[] = " Created: {$track['created_at']}";
}
} catch (Exception $e) {
$output[] = "❌ Error getting tracks: " . $e->getMessage();
}
// Check what's actually in audio_variations table
try {
$stmt = $pdo->query("
SELECT
av.track_id,
av.variation_index,
av.title,
av.duration,
av.audio_url,
mt.title as track_title
FROM audio_variations av
JOIN music_tracks mt ON av.track_id = mt.id
ORDER BY av.track_id ASC, av.variation_index ASC
LIMIT 20
");
$actualVariations = $stmt->fetchAll();
$output[] = "";
$output[] = "=== ACTUAL VARIATIONS IN DATABASE ===";
$output[] = "Found " . count($actualVariations) . " actual variations:";
foreach ($actualVariations as $var) {
$output[] = "";
$output[] = "Track {$var['track_id']} ({$var['track_title']}):";
$output[] = " Variation {$var['variation_index']}: {$var['title']} ({$var['duration']}s)";
$output[] = " Audio URL: " . (strlen($var['audio_url']) > 50 ? substr($var['audio_url'], 0, 50) . '...' : $var['audio_url']);
}
} catch (Exception $e) {
$output[] = "❌ Error getting variations: " . $e->getMessage();
}
// Check problem tracks
try {
$stmt = $pdo->query("
SELECT
mt.id,
mt.title,
mt.status,
mt.variations_count,
mt.task_id,
COUNT(av.id) as actual_variations
FROM music_tracks mt
LEFT JOIN audio_variations av ON mt.id = av.track_id
WHERE mt.variations_count > 0
GROUP BY mt.id
HAVING COUNT(av.id) = 0
ORDER BY mt.id ASC
LIMIT 5
");
$problemTracks = $stmt->fetchAll();
$output[] = "";
$output[] = "=== PROBLEM TRACKS (CLAIM VARIATIONS BUT HAVE NONE) ===";
$output[] = "Found " . count($problemTracks) . " problem tracks:";
foreach ($problemTracks as $track) {
$output[] = "";
$output[] = "Track ID {$track['id']}: {$track['title']}";
$output[] = " Status: {$track['status']}";
$output[] = " Claims variations: {$track['variations_count']}";
$output[] = " Actual variations: {$track['actual_variations']}";
$output[] = " Task ID: {$track['task_id']}";
}
} catch (Exception $e) {
$output[] = "❌ Error getting problem tracks: " . $e->getMessage();
}
// Check callback log
$logFile = 'callback_log.txt';
if (file_exists($logFile)) {
$logSize = filesize($logFile);
$logLines = count(file($logFile));
$output[] = "";
$output[] = "=== CALLBACK LOG STATUS ===";
$output[] = "Callback log size: " . number_format($logSize / 1024, 2) . " KB";
$output[] = "Callback log lines: " . number_format($logLines);
// Check if any of the problem track task IDs are in the log
if (!empty($problemTracks)) {
$output[] = "";
$output[] = "=== CHECKING TASK IDs IN CALLBACK LOG ===";
$logContent = file_get_contents($logFile);
foreach ($problemTracks as $track) {
if (!empty($track['task_id'])) {
if (strpos($logContent, $track['task_id']) !== false) {
$output[] = "✅ Task ID {$track['task_id']} found in callback log";
} else {
$output[] = "❌ Task ID {$track['task_id']} NOT found in callback log";
}
}
}
}
} else {
$output[] = "❌ Callback log file not found";
}
$output[] = "";
$output[] = "=== INVESTIGATION COMPLETE ===";
// Write to file
file_put_contents('investigation_output.txt', implode("\n", $output));
echo "Investigation completed. Check investigation_output.txt for results.";
?>