feat(accounting): document colleague trades on configured accounts
Post Montzar-covered buy/sell to Zarin/Tahesab/Pargar using montzar_account_* settings, and harden public storage URL/MIME handling for uploads. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -40,9 +40,7 @@ class FileController extends Controller
|
||||
|
||||
$path = $this->createDir();
|
||||
$originalName = $uploaded->getClientOriginalName();
|
||||
$ext = $uploaded->getClientOriginalExtension()
|
||||
?: $uploaded->extension()
|
||||
?: 'jpg';
|
||||
$ext = $this->resolveUploadExtension($uploaded);
|
||||
$title = $request->input('title') ?: $originalName;
|
||||
$file_name_src = md5(time().$originalName);
|
||||
$file_name = $file_name_src.'.'.$ext;
|
||||
@@ -70,4 +68,35 @@ class FileController extends Controller
|
||||
|
||||
return response()->json($payload);
|
||||
}
|
||||
|
||||
/**
|
||||
* پسوند واقعی فایل (MIME)، نه اسم اصلی مرورگر — آپلود بنر WebP است.
|
||||
*/
|
||||
private function resolveUploadExtension(\Illuminate\Http\UploadedFile $uploaded): string
|
||||
{
|
||||
$mime = strtolower((string) ($uploaded->getMimeType() ?: $uploaded->getClientMimeType()));
|
||||
$fromMime = match (true) {
|
||||
str_contains($mime, 'webp') => 'webp',
|
||||
str_contains($mime, 'png') => 'png',
|
||||
str_contains($mime, 'jpeg'), str_contains($mime, 'jpg') => 'jpg',
|
||||
str_contains($mime, 'gif') => 'gif',
|
||||
str_contains($mime, 'svg') => 'svg',
|
||||
default => null,
|
||||
};
|
||||
if ($fromMime) {
|
||||
return $fromMime;
|
||||
}
|
||||
|
||||
$client = strtolower((string) $uploaded->getClientOriginalExtension());
|
||||
if (in_array($client, ['webp', 'png', 'jpg', 'jpeg', 'gif', 'svg'], true)) {
|
||||
return $client === 'jpeg' ? 'jpg' : $client;
|
||||
}
|
||||
|
||||
$guessed = strtolower((string) $uploaded->extension());
|
||||
if (in_array($guessed, ['webp', 'png', 'jpg', 'jpeg', 'gif', 'svg'], true)) {
|
||||
return $guessed === 'jpeg' ? 'jpg' : $guessed;
|
||||
}
|
||||
|
||||
return 'jpg';
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user