diff --git a/app/Http/Controllers/MailController.php b/app/Http/Controllers/MailController.php index 1a1be885ee47e8044eadb82a667c07e60c0e1442..51a8b122d5e0fccbd4add0a738eaac7c49efb9f4 100644 --- a/app/Http/Controllers/MailController.php +++ b/app/Http/Controllers/MailController.php @@ -335,22 +335,29 @@ class MailController extends Controller return redirect(url('synoptic', ['exclude' => $exclude])); } - $zip = new ZipArchive(); - if ($zip->open("langfiles.zip", ZipArchive::OVERWRITE)!==TRUE) { - } else if ($zip->open("langfiles.zip", ZipArchive::CREATE)!==TRUE) { - exit("Cannot open".$filename); - } + if(file_exists("langfiles.zip")) + unlink("langfiles.zip"); + + $zip = new ZipArchive(); + if ($zip->open("langfiles.zip", ZipArchive::CREATE)) { + exit("Cannot open ".$filename); + } + + try{ #Erstelle Ausgabedateien - foreach($data as $lang => $entries) { - $output = json_encode($entries, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES); - $output = preg_replace("/\{/si", "[", $output); - $output = preg_replace("/\}/si", "]", $output); - $output = preg_replace("/\": ([\"\[])/si", "\"\t=>\t$1", $output); - $output = "<?php\n\nreturn $output;\n"; - $zip->addEmptyDir($lang); - $zip->addFromString($lang."/".$filename, $output); + foreach($data as $lang => $entries) { + $output = json_encode($entries, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES); + $output = preg_replace("/\{/si", "[", $output); + $output = preg_replace("/\}/si", "]", $output); + $output = preg_replace("/\": ([\"\[])/si", "\"\t=>\t$1", $output); + $output = "<?php\n\nreturn $output;\n"; + $zip->addEmptyDir($lang); + $zip->addFromString($lang."/".$filename, $output); + } + } catch(ErrorException $e) { + exit("Failed to write ".$filename); } $zip->close();