GeneralConfig::current(), ]); } /** * Upload and store the "Nos métiers" page image. * * @param Request $request * @return RedirectResponse */ public function upload(Request $request): RedirectResponse { $config = GeneralConfig::current(); $ancienne = $config->get('image'); $request->validate( [ 'image' => [$ancienne ? 'nullable' : 'required', 'image', 'mimes:jpeg,png,jpg', 'max:2048', 'dimensions:width=742,height=464'], 'image_alt' => ['required', 'string', 'min:5','max:50'], 'image_title' => ['required', 'string', 'min:5','max:50'], ], ['image.dimensions' => "L'image doit faire exactement 742 × 464 px."] ); if ($request->hasFile('image')) { $photo = $request->file('image'); $imageName = 'image-' . now()->format('YmdHis') . '.' . $photo->extension(); $path = $photo->storeAs( sprintf('modelfiles/general-config/%s/%s', date('Y'), date('m')), $imageName, 'public' ); $config->put('image', $path); } $config ->put('image_alt', $request->input('image_alt')) ->put('image_title', $request->input('image_title')) ->save(); if ($request->hasFile('image') && $ancienne && $ancienne !== $config->get('image')) { Storage::disk('public')->delete($ancienne); } return redirect() ->route('bo.general-config.edit') ->with('success', 'Configuration mise à jour.'); } }