Initial commit - Car Rental Management System
This commit is contained in:
commit
f72173377a
100 files changed
+15201
No files matched your search
@@ -0,0 +1,82 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\File;
|
||||
use Illuminate\Support\Facades\Artisan;
|
||||
|
||||
class SettingsController extends Controller
|
||||
{
|
||||
public function index()
|
||||
{
|
||||
$settings = config('settings');
|
||||
return view('settings.index', compact('settings'));
|
||||
}
|
||||
|
||||
public function update(Request $request)
|
||||
{
|
||||
$request->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 = "<?php\n\nreturn [\n";
|
||||
foreach ($config as $key => $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 = "<?php\n\nreturn [\n";
|
||||
foreach ($config as $key => $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!');
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user