validate([ 'company_name' => 'required|string|max:100', 'company_tagline' => 'nullable|string|max:200', 'phone' => 'nullable|string|max:50', 'email' => 'nullable|email|max:100', 'address' => 'nullable|string|max:200', ]); $config = [ 'company_name' => $request->company_name, 'company_tagline' => $request->company_tagline ?? 'Car Rental Management System', 'logo' => config('settings.logo'), 'phone' => $request->phone ?? '', 'email' => $request->email ?? '', 'address' => $request->address ?? '', ]; $configContent = " $value) { $configContent .= " '$key' => " . var_export($value, true) . ",\n"; } $configContent .= "];\n"; File::put(config_path('settings.php'), $configContent); // Clear config cache Artisan::call('config:clear'); return redirect()->route('settings.index')->with('success', 'Settings updated successfully!'); } public function uploadLogo(Request $request) { $request->validate([ 'logo' => 'required|image|mimes:png,jpg,jpeg,gif,svg|max:2048', ]); $file = $request->file('logo'); $filename = 'logo.' . $file->getClientOriginalExtension(); // Delete old logo $oldLogo = public_path(config('settings.logo')); if (File::exists($oldLogo) && strpos(config('settings.logo'), 'logo.') !== false) { File::delete($oldLogo); } $file->move(public_path('/uploads'), $filename); // Update config $config = config('settings'); $config['logo'] = '/uploads/' . $filename; $configContent = " $value) { $configContent .= " '$key' => " . var_export($value, true) . ",\n"; } $configContent .= "];\n"; File::put(config_path('settings.php'), $configContent); Artisan::call('config:clear'); return redirect()->route('settings.index')->with('success', 'Logo uploaded successfully!'); } }