<?php
require_once __DIR__ . '/../MPHX/common.php';

if (!is_admin_login()) {
    header('Location: /admin/login.php');
    exit;
}

$admin = is_admin_login();

// 支持两种下载方式：
// 1. ne参数：下载mnbt目录下的对接文件
// 2. file参数：下载uploads目录下的文件
$ne = isset($_GET['ne']) ? $_GET['ne'] : '';
$file = isset($_GET['file']) ? basename($_GET['file']) : '';

// 处理 mnbt 对接文件下载
if ($ne) {
    if ($ne == 'sw') {
        // SWAPIDC 对接文件
        $filepath = __DIR__ . '/../fin/mleoe_swapidc/mleoe.zip';
        $filename = 'mnbt_swapidc.zip';
    } elseif ($ne == 'mr') {
        // 魔方财务 对接文件
        $filepath = __DIR__ . '/../fin/mleoe_mofang/mleoebt.zip';
        $filename = 'mnbt_mofang.zip';
    } elseif ($ne == 'mv10') {
        // 魔方V10 对接文件
        $filepath = __DIR__ . '/../fin/mleoe_v10/mleoe.zip';
        $filename = 'mnbt_mofangv10.zip';
    } else {
        showmsg('文件类型不存在', 3, false);
    }
    
    if (!file_exists($filepath) || !is_file($filepath)) {
        showmsg('对接文件不存在，请联系管理员', 3, false);
    }
    
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename="' . $filename . '"');
    header('Content-Length: ' . filesize($filepath));
    header('Cache-Control: no-cache, must-revalidate');
    header('Pragma: no-cache');
    
    readfile($filepath);
    exit;
}

// 处理uploads目录文件下载
if ($file) {
    $filepath = '../uploads/' . $file;
    
    if (!file_exists($filepath) || !is_file($filepath)) {
        showmsg('文件不存在', 3, false);
    }
    
    if (strpos(realpath($filepath), realpath('../uploads')) !== 0) {
        showmsg('文件路径错误', 3, false);
    }
    
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename="' . $file . '"');
    header('Content-Length: ' . filesize($filepath));
    header('Cache-Control: no-cache, must-revalidate');
    header('Pragma: no-cache');
    
    readfile($filepath);
    exit;
}

showmsg('请指定要下载的文件', 3, false);
?>
