<?php
// تنظیمات پایه
$baseDir = __DIR__; // پوشه‌ای که player.php داخلش است

// 1) گرفتن فایل از URL و دوبار decode (به خاطر double-encoding فعلی لینک‌ها)
$file = isset($_GET['file']) ? $_GET['file'] : '';
$file = urldecode(urldecode($file)); // مهم: دوبار decode چون لینک‌ها %2520 هستند

// 2) جلوگیری از خروج از مسیر اصلی (امنیت)
$file = str_replace(['../', '..\\'], '', $file);

// 3) ساخت مسیر کامل فایل در سرور
$path = $baseDir . '/' . $file;

// 4) چک وجود فایل
if (!file_exists($path)) {
    die("<h3 style='font-family:tahoma;text-align:center;margin-top:40px'>File not found<br><br>$path</h3>");
}

// 5) اطلاعات فایل
$name      = basename($file);
$ext       = strtolower(pathinfo($name, PATHINFO_EXTENSION));
$isVideo   = in_array($ext, ['mp4','webm','mkv','mov','ogg']);
$isAudio   = in_array($ext, ['mp3','wav','m4a','aac','ogg','flac']);
$fileSize  = filesize($path);

// تبدیل سایز خوانا
function human_filesize($bytes, $decimals = 2) {
    $sizes = ['B', 'KB', 'MB', 'GB', 'TB'];
    if ($bytes == 0) return '0 B';
    $factor = floor((strlen($bytes) - 1) / 3);
    return sprintf("%.{$decimals}f", $bytes / pow(1024, $factor)) . ' ' . $sizes[$factor];
}

// برای نمایش مسیر نسبی قشنگ‌تر
$displayPath = str_replace('\\', '/', $file);
?>
<!DOCTYPE html>
<html lang="fa">
<head>
<meta charset="UTF-8">
<title>پخش آنلاین - <?php echo htmlspecialchars($name); ?></title>
<style>
    body {
        font-family: Tahoma, sans-serif;
        background: #f1f3f4;
        margin: 0;
        padding: 20px;
        direction: rtl;
    }
    .container {
        background: #ffffff;
        padding: 20px 24px;
        border-radius: 16px;
        max-width: 900px;
        margin: 0 auto;
        box-shadow: 0 4px 18px rgba(0,0,0,0.08);
    }
    h2 {
        margin-top: 0;
        font-size: 18px;
        margin-bottom: 10px;
    }
    .meta {
        font-size: 13px;
        color: #555;
        margin-bottom: 15px;
        text-align: right;
    }
    .meta span {
        display: inline-block;
        margin-left: 12px;
    }
    video, audio {
        width: 100%;
        border-radius: 12px;
        background: #000;
        outline: none;
    }
    .buttons {
        margin-top: 16px;
        text-align: left;
    }
    .btn {
        display: inline-block;
        padding: 8px 16px;
        border-radius: 8px;
        text-decoration: none;
        font-size: 13px;
        margin: 4px;
        border: none;
        cursor: pointer;
    }
    .btn-back {
        background: #e0e0e0;
        color: #333;
    }
    .btn-back:hover {
        background: #d5d5d5;
    }
    .btn-download {
        background: #1976d2;
        color: #fff;
    }
    .btn-download:hover {
        background: #0d47a1;
    }
    .file-icon {
        display: inline-block;
        width: 24px;
        height: 24px;
        border-radius: 6px;
        background: #1976d2;
        color: #fff;
        text-align: center;
        line-height: 24px;
        font-size: 13px;
        margin-left: 8px;
    }
    .type-label {
        display: inline-block;
        padding: 2px 8px;
        border-radius: 999px;
        font-size: 11px;
        background: #e3f2fd;
        color: #1565c0;
        margin-right: 4px;
    }
    .warning {
        background: #fff3cd;
        border: 1px solid #ffeeba;
        color: #856404;
        padding: 10px 12px;
        border-radius: 8px;
        font-size: 13px;
        margin-top: 10px;
        text-align: right;
    }
</style>
</head>
<body>

<div class="container">
    <h2>
        <span class="file-icon">▶</span>
        <?php echo htmlspecialchars($name); ?>
    </h2>

    <div class="meta">
        <span>مسیر: <?php echo htmlspecialchars($displayPath); ?></span>
        <span>حجم: <?php echo human_filesize($fileSize); ?></span>
        <span>نوع: 
            <?php if ($isVideo): ?>
                <span class="type-label">ویدیو</span>
            <?php elseif ($isAudio): ?>
                <span class="type-label">صوت</span>
            <?php else: ?>
                <span class="type-label">فایل عادی</span>
            <?php endif; ?>
        </span>
    </div>

    <?php if ($isVideo): ?>
        <!-- پخش ویدیو -->
        <video controls controlsList="nodownload">
            <source src="stream.php?file=<?php echo urlencode($file); ?>" type="video/mp4">
            مرورگر شما از پخش ویدیو پشتیبانی نمی‌کند.
        </video>
    <?php elseif ($isAudio): ?>
        <!-- پخش صوت -->
        <audio controls>
            <source src="stream.php?file=<?php echo urlencode($file); ?>" type="audio/mpeg">
            مرورگر شما از پخش صوت پشتیبانی نمی‌کند.
        </audio>
    <?php else: ?>
        <!-- فایل غیر ویدیو/صوت -->
        <div class="warning">
            این فایل ویدیو یا صوت نیست؛ فقط امکان دانلود آن وجود دارد.
        </div>
    <?php endif; ?>

    <div class="buttons">
        <a class="btn btn-back" href="index.php">بازگشت به لیست فایل‌ها</a>
        <a class="btn btn-download" href="download.php?file=<?php echo urlencode($file); ?>">دانلود فایل</a>
    </div>
</div>

</body>
</html>
