<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Storage;

class DownloadBackupController extends Controller
{
    function download(Request $request, $company)
    {
        return view('download-backup')->with(['company' => $company]);
    }

    function doDownload(Request $request, $company)
    {
        if ($request->input('password') === env('DOWNLOAD_PASS', '7Dt721Ojc2SkC2hG4oB4v75HP0')) {
            $file_name = $company . '-backup.zip';
            $source = $request->get('only_source', false);
            if($source)
                $file_name = 'mic_refer.zip';

            if (Storage::disk('local')->exists($file_name)) {
                $path = Storage::disk('local')->path($file_name);

                $headers = array(
                    'Content-Description' => 'File Transfer',
                    'Content-Type' => Storage::disk('local')->mimeType($file_name),
                    'Content-Transfer-Encoding' => 'binary',
                    'Expires' => 0,
                    'Cache-Control' => 'must-revalidate, post-check=0, pre-check=0',
                    'Pragma' => 'public',
                    'Content-Length' => Storage::disk('local')->size($file_name),
                );

                if($source)
                    return response()->download($path, $file_name, $headers);
                else
                    return response()->download($path, $company . '-backup.zip', $headers);
            }
        }

        return view('download-backup')->with(['err' => 'パスワードが正しくありません', 'company' => $company]);
    }
}
