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

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/gositeme/domains/soundstudiopro.com/private_html/utils/sync_track.php
<?php
// Sync individual track with API.Box
error_reporting(E_ALL);
ini_set('display_errors', 1);

require_once 'config/database.php';

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

if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
    http_response_code(405);
    echo json_encode(['error' => 'Method not allowed']);
    exit;
}

$input = json_decode(file_get_contents('php://input'), true);
$track_id = $input['track_id'] ?? null;
$task_id = $input['task_id'] ?? null;

if (!$track_id || !$task_id) {
    http_response_code(400);
    echo json_encode(['error' => 'Track ID and Task ID required']);
    exit;
}

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

// Get track info
$stmt = $pdo->prepare("SELECT * FROM music_tracks WHERE id = ?");
$stmt->execute([$track_id]);
$track = $stmt->fetch();

if (!$track) {
    http_response_code(404);
    echo json_encode(['error' => 'Track not found']);
    exit;
}

// Check API.Box status
$api_key = '63edba40620216c5aa2c04240ac41dbd';
$api_url = "https://api.api.box/api/v1/status/$task_id";

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $api_url);
curl_setopt($ch, CURLOPT_HTTPGET, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Authorization: Bearer ' . $api_key,
    'Content-Type: application/json',
    'User-Agent: SoundStudioPro-Sync/1.0'
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

$response = curl_exec($ch);
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

if ($http_code !== 200) {
    echo json_encode(['error' => 'API.Box returned HTTP ' . $http_code]);
    exit;
}

$api_data = json_decode($response, true);

if (!$api_data) {
    echo json_encode(['error' => 'Invalid response from API.Box']);
    exit;
}

// Update track based on API.Box status
$audio_url = null;
$status = 'processing';

if (isset($api_data['data']['status']) && $api_data['data']['status'] === 'complete') {
    $status = 'complete';
    $audio_url = $api_data['data']['audioUrl'] ?? $api_data['data']['audio_url'] ?? null;
} elseif (isset($api_data['data']['status']) && $api_data['data']['status'] === 'failed') {
    $status = 'failed';
}

// Update database
$stmt = $pdo->prepare("
    UPDATE music_tracks 
    SET status = ?, audio_url = ?, updated_at = NOW() 
    WHERE id = ?
");

if ($stmt->execute([$status, $audio_url, $track_id])) {
    echo json_encode([
        'success' => true,
        'message' => 'Track synced successfully',
        'data' => [
            'track_id' => $track_id,
            'task_id' => $task_id,
            'status' => $status,
            'audio_url' => $audio_url,
            'api_data' => $api_data
        ]
    ]);
} else {
    echo json_encode(['error' => 'Failed to update database']);
}
?> 

CasperSecurity Mini