Files
nutzwerte_fi4/app/Actions/Download/Gutachten.php
T
2025-10-13 17:17:30 +02:00

65 lines
2.0 KiB
PHP

<?php
namespace App\Actions\Download;
use App\Actions\Generate\MakeGutachten;
use App\Models\Projekte;
use Illuminate\Support\Facades\File;
use Illuminate\Support\Facades\Response;
use Illuminate\Support\Facades\Storage;
class Gutachten
{
public function download($projekts_id, $mode)
{
if ($mode == 'new') {
Projekte::where('id', $projekts_id)->update(['pdf_gutachten_name' => '', 'pdf_gutachten_status' => '0']);
}
$headers = [
'Content-Type: application/pdf',
'Cache-Control: max-age=0',
'Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT',
'Cache-Control: cache, must-revalidate',
];
$projekt = Projekte::where('id', $projekts_id)->first()->toArray();
$filepath = Storage::disk('public')->path("/download/$projekts_id/");
$filename = 'Gutachten '.preg_replace("'[^0-9a-zA-Z]'", '', $projekt['interner_name']).'.pdf';
if (! File::isDirectory($filepath)) {
File::makeDirectory($filepath, 0777, true, true);
}
$file = $filepath.$filename;
MakeGutachten::generate($file, $projekts_id);
return Response::download($file, $projekt['offizieller_name'], $headers);
// if ($projekt['pdf_standardtexte_ok'] == 0) {
// $filename = preg_replace("'[^0-9a-zA-Z]'", '', $projekt['interner_name']).'.pdf';
// if (! File::isDirectory($filepath)) {
// File::makeDirectory($filepath, 0777, true, true);
// }
// $file = $filepath.$filename;
// MakeGutachten::generate($file, $projekts_id);
// Projekt::where('id', $projekts_id)->update(['pdf_standardtexte' => $filename, 'pdf_standardtexte_ok' => 1]);
// return Response::download($file, $projekt['name'], $headers);
// } else {
// $filename = $projekt['pdf_standardtexte'];
// $file = $filepath.$filename;
// return Response::download($file, $projekt['name'], $headers);
// }
}
}