T.ME/BIBIL_0DAY
CasperSecurity


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/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/gositeme/domains/soundstudiopro.com/private_html/verify_track_ownership.php
<?php
session_start();

// Check if user is logged in and is admin
if (!isset($_SESSION['user_id']) || !isset($_SESSION['is_admin']) || !$_SESSION['is_admin']) {
    header('Location: /auth/login.php');
    exit;
}

require_once 'config/database.php';
$pdo = getDBConnection();

echo "<h1>🔍 Track Ownership Verification</h1>";

// Get all tracks with their owners
$stmt = $pdo->prepare("
    SELECT 
        mt.id,
        mt.title,
        mt.status,
        mt.created_at,
        u.name as owner_name,
        u.id as owner_id,
        u.email as owner_email
    FROM music_tracks mt
    LEFT JOIN users u ON mt.user_id = u.id
    ORDER BY mt.created_at DESC
    LIMIT 50
");
$stmt->execute();
$tracks = $stmt->fetchAll();

echo "<h2>📊 Recent Tracks (Last 50):</h2>";
echo "<table border='1' style='border-collapse: collapse; width: 100%; font-family: Arial, sans-serif;'>";
echo "<tr style='background: #667eea; color: white;'>";
echo "<th>Track ID</th><th>Title</th><th>Status</th><th>Created</th><th>Owner</th><th>Owner ID</th><th>Owner Email</th>";
echo "</tr>";

foreach ($tracks as $track) {
    $owner_name = $track['owner_name'] ? htmlspecialchars($track['owner_name']) : 'Orphaned';
    $owner_id = $track['owner_id'] ? $track['owner_id'] : 'NULL';
    $owner_email = $track['owner_email'] ? htmlspecialchars($track['owner_email']) : 'N/A';
    
    $row_color = '';
    if ($track['owner_id'] == $_SESSION['user_id']) {
        $row_color = 'background: rgba(34, 197, 94, 0.1);'; // Green for current user
    } elseif (!$track['owner_id']) {
        $row_color = 'background: rgba(239, 68, 68, 0.1);'; // Red for orphaned
    }
    
    echo "<tr style='$row_color'>";
    echo "<td>" . $track['id'] . "</td>";
    echo "<td>" . htmlspecialchars($track['title']) . "</td>";
    echo "<td>" . $track['status'] . "</td>";
    echo "<td>" . $track['created_at'] . "</td>";
    echo "<td>" . $owner_name . "</td>";
    echo "<td>" . $owner_id . "</td>";
    echo "<td>" . $owner_email . "</td>";
    echo "</tr>";
}
echo "</table>";

// Get summary statistics
$stmt = $pdo->prepare("
    SELECT 
        COUNT(*) as total_tracks,
        COUNT(CASE WHEN user_id IS NULL OR user_id = 0 THEN 1 END) as orphaned_tracks,
        COUNT(CASE WHEN user_id = ? THEN 1 END) as your_tracks
    FROM music_tracks
");
$stmt->execute([$_SESSION['user_id']]);
$stats = $stmt->fetch();

echo "<h2>📈 Summary:</h2>";
echo "<p><strong>Total tracks in database:</strong> " . $stats['total_tracks'] . "</p>";
echo "<p><strong>Orphaned tracks:</strong> " . $stats['orphaned_tracks'] . "</p>";
echo "<p><strong>Your tracks:</strong> " . $stats['your_tracks'] . "</p>";

// Get user list
$stmt = $pdo->prepare("
    SELECT 
        u.id,
        u.name,
        u.email,
        u.is_admin,
        COUNT(mt.id) as track_count
    FROM users u
    LEFT JOIN music_tracks mt ON u.id = mt.user_id
    GROUP BY u.id, u.name, u.email, u.is_admin
    ORDER BY track_count DESC
");
$stmt->execute();
$users = $stmt->fetchAll();

echo "<h2>👥 Users and Their Track Counts:</h2>";
echo "<table border='1' style='border-collapse: collapse; width: 100%; font-family: Arial, sans-serif;'>";
echo "<tr style='background: #667eea; color: white;'>";
echo "<th>User ID</th><th>Name</th><th>Email</th><th>Admin</th><th>Track Count</th>";
echo "</tr>";

foreach ($users as $user) {
    $row_color = $user['id'] == $_SESSION['user_id'] ? 'background: rgba(34, 197, 94, 0.1);' : '';
    
    echo "<tr style='$row_color'>";
    echo "<td>" . $user['id'] . "</td>";
    echo "<td>" . htmlspecialchars($user['name']) . "</td>";
    echo "<td>" . htmlspecialchars($user['email']) . "</td>";
    echo "<td>" . ($user['is_admin'] ? 'Yes' : 'No') . "</td>";
    echo "<td>" . $user['track_count'] . "</td>";
    echo "</tr>";
}
echo "</table>";

echo "<h2>🛠️ Actions:</h2>";
echo "<p><a href='/admin.php?tab=tracks' style='background: #667eea; color: white; padding: 10px 20px; text-decoration: none; border-radius: 5px;'>Admin Track Management</a></p>";
echo "<p><a href='/library.php' style='background: #22c55e; color: white; padding: 10px 20px; text-decoration: none; border-radius: 5px;'>View My Library</a></p>";
echo "<p><a href='/fix_track_display.php' style='background: #f59e0b; color: white; padding: 10px 20px; text-decoration: none; border-radius: 5px;'>Track Display Fix</a></p>";
?> 

CasperSecurity Mini