![]() 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/domains/soundstudiopro.com/private_html/ |
<?php
/**
* Check Track 312 Variations
* Debug script to see what's happening with track 312 and its variations
*/
require_once 'config/database.php';
$track_ids = [334, 333, 312]; // Check multiple tracks
$pdo = getDBConnection();
if (!$pdo) {
die("Database connection failed");
}
echo "<h1>🔍 Track Variations Debug</h1>";
foreach ($track_ids as $track_id) {
echo "<hr style='border: 3px solid #667eea; margin: 30px 0;'>";
echo "<h2 style='color: #667eea;'>Track #{$track_id}</h2>";
// Get track info
$stmt = $pdo->prepare("SELECT * FROM music_tracks WHERE id = ?");
$stmt->execute([$track_id]);
$track = $stmt->fetch(PDO::FETCH_ASSOC);
if (!$track) {
echo "<p style='color: red;'>❌ Track {$track_id} not found</p>";
continue;
}
echo "<h2>Track Info</h2>";
echo "<table border='1' cellpadding='10'>";
echo "<tr><th>Field</th><th>Value</th></tr>";
echo "<tr><td>ID</td><td>{$track['id']}</td></tr>";
echo "<tr><td>Title</td><td>" . htmlspecialchars($track['title']) . "</td></tr>";
echo "<tr><td>Task ID</td><td>{$track['task_id']}</td></tr>";
echo "<tr><td>Status</td><td>{$track['status']}</td></tr>";
echo "<tr><td>variations_count (field)</td><td><strong>{$track['variations_count']}</strong></td></tr>";
echo "</table>";
// Check actual variations in database
echo "<h2>Variations in audio_variations table</h2>";
$varStmt = $pdo->prepare("
SELECT * FROM audio_variations
WHERE track_id = ?
ORDER BY variation_index ASC
");
$varStmt->execute([$track_id]);
$variations = $varStmt->fetchAll(PDO::FETCH_ASSOC);
echo "<p><strong>Actual count in database:</strong> " . count($variations) . "</p>";
if (empty($variations)) {
echo "<p style='color: red;'>❌ NO VARIATIONS FOUND in audio_variations table!</p>";
// Check if there are variations for other tracks with same task_id
if (!empty($track['task_id'])) {
echo "<h3>Checking for tracks with same task_id: {$track['task_id']}</h3>";
$sameTaskStmt = $pdo->prepare("SELECT id, title, variations_count FROM music_tracks WHERE task_id = ?");
$sameTaskStmt->execute([$track['task_id']]);
$sameTaskTracks = $sameTaskStmt->fetchAll(PDO::FETCH_ASSOC);
echo "<p>Found " . count($sameTaskTracks) . " track(s) with same task_id:</p>";
echo "<ul>";
foreach ($sameTaskTracks as $t) {
echo "<li>Track #{$t['id']}: {$t['title']} (variations_count: {$t['variations_count']})</li>";
// Check variations for each
$checkVarStmt = $pdo->prepare("SELECT COUNT(*) FROM audio_variations WHERE track_id = ?");
$checkVarStmt->execute([$t['id']]);
$varCount = $checkVarStmt->fetchColumn();
echo " - Actual variations: {$varCount}<br>";
}
echo "</ul>";
// Check if main track (first created) has variations
$mainTrackStmt = $pdo->prepare("
SELECT id, title, variations_count
FROM music_tracks
WHERE task_id = ?
ORDER BY created_at ASC, id ASC
LIMIT 1
");
$mainTrackStmt->execute([$track['task_id']]);
$mainTrack = $mainTrackStmt->fetch(PDO::FETCH_ASSOC);
if ($mainTrack && $mainTrack['id'] != $track_id) {
echo "<p style='color: orange;'>⚠️ Main track is #{$mainTrack['id']}, not #{$track_id}</p>";
$mainVarStmt = $pdo->prepare("SELECT * FROM audio_variations WHERE track_id = ?");
$mainVarStmt->execute([$mainTrack['id']]);
$mainVariations = $mainVarStmt->fetchAll(PDO::FETCH_ASSOC);
echo "<p>Main track #{$mainTrack['id']} has " . count($mainVariations) . " variation(s)</p>";
if (count($mainVariations) > 0) {
echo "<p style='color: red;'>❌ PROBLEM: Variations are linked to track #{$mainTrack['id']}, not track #{$track_id}!</p>";
echo "<p>Track 312 needs variations linked to it, or the library needs to load variations from the main track.</p>";
}
}
}
} else {
echo "<table border='1' cellpadding='10'>";
echo "<tr><th>Index</th><th>Title</th><th>Audio URL</th><th>Duration</th><th>Image URL</th></tr>";
foreach ($variations as $var) {
echo "<tr>";
echo "<td>{$var['variation_index']}</td>";
echo "<td>" . htmlspecialchars($var['title'] ?? 'N/A') . "</td>";
echo "<td>" . htmlspecialchars(substr($var['audio_url'] ?? 'N/A', 0, 50)) . "...</td>";
echo "<td>{$var['duration']}</td>";
echo "<td>" . htmlspecialchars(substr($var['image_url'] ?? 'N/A', 0, 50)) . "...</td>";
echo "</tr>";
}
echo "</table>";
}
// Check task_results
if (!empty($track['task_id'])) {
echo "<h2>Task Results JSON</h2>";
$taskResultFile = "task_results/{$track['task_id']}.json";
if (file_exists($taskResultFile)) {
echo "<p style='color: green;'>✅ Task results file exists</p>";
$taskData = json_decode(file_get_contents($taskResultFile), true);
if (isset($taskData['data']['data']) && is_array($taskData['data']['data'])) {
echo "<p>Found " . count($taskData['data']['data']) . " items in task_results</p>";
echo "<ul>";
foreach ($taskData['data']['data'] as $idx => $item) {
$hasAudio = !empty($item['audio_url']) || !empty($item['source_audio_url']) || !empty($item['stream_audio_url']);
echo "<li>Item {$idx}: " . ($item['title'] ?? 'No title') . " - Audio: " . ($hasAudio ? 'YES' : 'NO') . "</li>";
}
echo "</ul>";
}
} else {
echo "<p style='color: red;'>❌ Task results file not found: {$taskResultFile}</p>";
}
}
echo "<hr>";
}
echo "<hr style='border: 3px solid #667eea; margin: 30px 0;'>";
echo "<p><a href='fix_stuck_processing_tracks.php'>Run Fix Script</a> | <a href='library.php'>Back to Library</a></p>";